Create H3/H3-Max Video
POST /v2/video_generation
Authenticate with a platform Bearer model API key. Put parameters directly in the JSON body. See the integration guide for authentication, media rules, and billing.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Case-sensitive MiniMax-H3 or MiniMax-H3-Max |
content | array<object> | Yes | At least one non-empty text item, optionally with frames or reference media |
resolution | string | Required for H3 | H3: 768P / 2K; Max: 480P / 768P, defaults to 768P when omitted, null, or empty |
duration | integer | Yes | H3: 4–15 seconds; Max: 5–15 seconds |
ratio | string | Required for text-only | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive; text-only cannot use adaptive |
callback_url | string | No | Customer terminal notification URL; implement callback verification first; omit when polling only |
See media input rules for content types, media URL objects, roles, and combinations. Native extension fields are retained for submission, but upstream acceptance depends on the model; retained fields are not a guarantee of supported capabilities.
H3 text-only example
{
"model": "MiniMax-H3",
"resolution": "768P",
"duration": 4,
"ratio": "16:9",
"content": [
{"type": "text", "text": "A kitten stretches in the sunshine as the camera slowly moves closer"}
]
}
H3-Max first-frame example
Replace the image URL with an actual upstream-accessible asset. Omitting resolution submits at 768P.
{
"model": "MiniMax-H3-Max",
"duration": 5,
"ratio": "16:9",
"content": [
{"type": "text", "text": "Preserve the person's appearance as they slowly turn toward the camera"},
{"type": "image_url", "role": "first_frame", "image_url": {"url": "https://example.com/first-frame.png"}}
]
}
H3 multimodal reference example
Do not mix reference media with first_frame / last_frame. Replace all example asset URLs.
{
"model": "MiniMax-H3",
"resolution": "2K",
"duration": 6,
"ratio": "16:9",
"content": [
{"type": "text", "text": "Use the image subject, video motion, and audio atmosphere as references for a short film"},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/reference.png"}},
{"type": "video_url", "role": "reference_video", "video_url": {"url": "https://example.com/reference.mp4"}},
{"type": "audio_url", "role": "reference_audio", "audio_url": {"url": "https://example.com/reference.mp3"}}
]
}
Response (HTTP 200)
{"task_id":"task_platform_example"}
task_id is a platform task ID. Save it and query the task until succeeded, then read task.content.url. Do not use this ID to query upstream MiniMax directly. See error handling for error responses.