Skip to main content
POST
MiniMax H3 Video Generation
MiniMax H3 is an asynchronous video generation API. Create a task, then query its status with the returned task ID. When a task succeeds, task.content.url contains the generated video URL.
The parameters and usage align with the official MiniMax API. Refer to the official documentation for detailed parameter descriptions.

Endpoints

  • Create task: POST https://api.novita.ai/v3/minimax/v2/video_generation
  • Query task: GET https://api.novita.ai/v3/minimax/v2/query/video_generation/{task_id}

Request headers

string
required
Bearer API key: Bearer <YOUR_API_KEY>.
string
required
Required for task creation. Set to application/json.

Create a video task

Request body

string
required
Fixed value: MiniMax-H3.
array
required
Multimodal input items. Every request must include a non-empty text item.
string
required
Item type: text, image_url, video_url, or audio_url.
string
Required for text items. A non-empty prompt; each text item supports up to 7,000 characters.
string
Required for image items. A public URL, mm_file://{file_id}, or an image Base64 data URI.
string
Required for video items. A public URL, mm_file://{file_id}, or an MP4 Base64 data URI.
string
Required for audio items. A public URL, mm_file://{file_id}, or an audio Base64 data URI.
string
Required according to the scenario. Values: first_frame, last_frame, reference_image, reference_video, or reference_audio. A single image without a role is treated as the first frame.
string
required
Output resolution: 768P or 2K.
integer
required
Output duration in seconds. An integer from 4 to 15.
string
Aspect ratio: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, or 9:16. Required for text-to-video and cannot be adaptive; image-to-video always uses adaptive and ignores other valid values.
string
Optional task-status callback URL. On initial configuration, return the verification request’s challenge unchanged within 3 seconds.

Content combinations

Input media limits

The complete request body must not exceed 64 MB. Base64 increases payload size by about 33%; use public URLs or mm_file://{file_id} for large media.

Examples

Text to video

First-frame to video

Reference media to video

Create response

Save this ID; it is the unique identifier for status queries and results.

Query a task

Only tasks created in the last 7 days can be queried (UTC window [T-7d, T)). Querying an older ID returns invalid task_id. Poll at a 10-30 second interval; do not query at high frequency.

Task statuses

Successful response

content.url is a time-limited download URL. Download or save the video promptly; query the task again for a new URL after it expires.

Failed response

For failed or cancelled tasks, do not continue waiting on the same task ID. Correct the request and create a new task.

Query response fields

Usage fields include total_seconds (input plus output seconds), input_seconds (reference-video seconds), output_seconds (output-video seconds), input_image_count (all first, last, and reference images), optional input_audio_seconds, and token statistics: total_tokens, prompt_tokens, and completion_tokens.

Billing

MiniMax H3 bills successful generation by actual use; no charge is reserved when submitting a task. Pricing tiers differ for 768P and 2K. Refer to your platform pricing page for unit prices. The charge is the sum of each billable item. The task is settled once it succeeds; failed and cancelled tasks are not charged. Read the resolution from task.resolution in the query response.

Python example

Errors

HTTP errors use this top-level structure, which differs from an asynchronous task.error failure:
Last modified on August 25, 2026