MiniMax Video
Create text-to-video, image-to-video, and reference video tasks with MiniMax H3.
Endpoint
POST /v2/video_generation
Authorization: Bearer $API_KEY
Content-Type: application/jsonCreates an asynchronous task and returns a task_id. Poll via GET /v2/query/video_generation/{taskId} or the common GET /v1/tasks/{taskId}.
Model capabilities
| Model | Resolutions | Duration | Reference-to-video |
|---|---|---|---|
minimax/MiniMax-H3 | 768P, 2K | 4–15s | image / video / audio |
minimax/MiniMax-H3-Highspeed | 768P | 4–15s | image / video / audio |
minimax/MiniMax-H3-Lite | 480P, 768P | 4–15s | image / video / audio |
minimax/MiniMax-H3-Max | 480P, 768P | 5–15s | image / video / audio |
minimax/MiniMax-H3-Max-Turbo | 768P, 2K | 4–15s | text / image / first-last frame only |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Complete public model ID. |
content | array | Yes | Multimodal input array; must include exactly one non-empty text item. |
resolution | string | Yes | See model capabilities above. Values are uppercase: 480P, 768P, 2K. |
duration | integer | Yes | Output duration in seconds. |
ratio | string | Conditional | Required for text-to-video and must not be adaptive. Image-to-video always uses adaptive. Allowed values: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. |
Each content item:
type | role (optional) | Description |
|---|---|---|
text | — | Prompt (exactly one non-empty item required) |
image_url | first_frame / last_frame / reference_image | Image URL or base64; ≤ 30 MB per image |
video_url | reference_video | Reference video; 2–15s per clip, ≤ 50 MB, up to 3 clips |
audio_url | reference_audio | Reference audio; 2–15s per clip, ≤ 15 MB, up to 3 clips |
MiniMax-H3-Max-Turbo does not support reference-to-video: reference_image, reference_video, and reference_audio are rejected; only text-to-video, image-to-video (first frame), and first-last-frame are accepted. On all other models, image-to-video and reference-to-video are mutually exclusive: if any reference_image, reference_video, or reference_audio role is present, first_frame and last_frame cannot appear, and vice versa. Total request body size is limited to 64 MB—use public URLs for large files rather than base64.
MiniMax-H3-Max accepts an optional extra.prompt_expansion_mode field (balanced or creative; defaults to balanced when omitted). Do not pass balance, an empty string, or undeclared fields.
Examples
curl "https://api.modelrover.ai/v2/video_generation" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax/MiniMax-H3",
"content": [
{ "type": "text", "text": "Epic space-opera teaser: a female captain stands alone before a massive observation window as the last fleet jumps away in a blinding flash, leaving her behind" }
],
"resolution": "2K",
"duration": 5,
"ratio": "16:9",
"callback_url": "https://example.com/hooks/video?token=unguessable"
}'callback_url is a platform extension field consumed by the platform and not forwarded to the provider.
Create response
{
"task_id": "424010985738629"
}task_id is rewritten to the platform task ID.
Task response
curl "https://api.modelrover.ai/v2/query/video_generation/424010985738629" \
-H "Authorization: Bearer $API_KEY"{
"task": {
"id": "424010985738629",
"model": "MiniMax-H3",
"status": "succeeded",
"content": { "url": "https://cdn.hailuoai.com/..." },
"resolution": "2K",
"duration": 5,
"usage": { "total_seconds": 5, "output_seconds": 5 },
"ratio": "16:9",
"task_type": "generation",
"modality": "video"
}
}Task statuses are queued, processing, succeeded, and failed. Video results are temporarily retained for 48 hours and automatically deleted upon expiration—download and transfer them to your own storage immediately after completion.
Restrictions
mm_file://local file references are rejected; use a public URL or base64 instead.- For
MiniMax-H3-Max, theextraobject only acceptsprompt_expansion_mode; passingbalance, an empty string, or undeclared fields returns an error. - Client routing and paid service-tier selections are rejected.
See Tasks and callbacks for polling, callback delivery, and task lifecycle.
Help us improve this page
Found something unclear, outdated, or incorrect?
Last updated on