Create a MiniMax H3 video
Create a MiniMax H3 video task with text, reference media, or first and last frames through CometAPI
id to poll the task and download the completed video.
POST /v1/videos uses multipart/form-data. Send controls as form fields and repeat each reference field once per media input.
Choose an input mode
Use reference images
Send reference images throughinput_reference as publicly accessible HTTPS URLs or uploaded files. For multiple images, repeat the field in image order, with one URL or file per field.
Use all URLs or all files within this field. Send each URL separately rather than combining URLs into a comma-separated value.
You can send up to nine PNG or JPEG reference images, whether you use URLs or uploaded files. Keep each uploaded image at or below 20 MiB.
In the prompt, describe the visual details that the generated video should preserve.
Use reference video and audio
Sendreference_videos and reference_audios as multipart text values or uploaded files, using the formats below.
Repeat each field once per input, using only text values or only files within that field. Do not combine inputs into a comma-separated value.
Different fields can use different input types, such as an image URL with an uploaded audio file.
input_reference.
Describe the motion, timing, or sound that the generated video should follow.
Keep each uploaded MP4 at or below 50 MiB and each uploaded MP3 at or below 15 MiB. One MiB is 1024 × 1024 bytes.
The request samples at the top of this page show MP4 URLs, MP4 data URIs, and MP3 URLs paired with an image.
Upload a reference video
Upload an MP4 file to guide the shot structure and motion:Upload reference audio with an image
Pair a reference image URL with an uploaded MP3 file:Set the first and last frames
Sendfirst_frame for the opening image and optionally one last_frame for the ending image.
Each field accepts one direct, publicly accessible HTTPS PNG URL or one uploaded PNG file. Keep each uploaded PNG at or below 20 MiB (20 × 1024 × 1024 bytes).
Do not combine frame fields with reference image, video, or audio fields. Use a separate request for frame-based generation.
The service can normalize the final output dimensions when you provide first or last frames. Continue to send size in WxH form.
id. Poll the task until status is completed or
failed. When the task is completed, download the video content.Set duration and size
Setseconds to an integer from 5 through 15. The default is 5 seconds.
Choose a resolution and aspect ratio from the table, then send the corresponding Request size value as size in WxH form.
The service can normalize the final output dimensions based on the requested size and supplied reference media.
Task flow
Create the task
id.Poll the task
status is completed or failed.Download the result
completed, call Download MiniMax H3 video content to save the MP4 file.Authorizations
Bearer authentication. Use your CometAPI API key.
Body
Model ID for this route. Use minimax-h3.
"minimax-h3"Text that describes the scene, motion, camera behavior, and visual details that the video should preserve.
1Requested clip duration in whole seconds. Use an integer from 5 through 15. The default is 5.
5 <= x <= 15Requested frame size in WxH form. The service can normalize the final output dimensions based on the requested size and supplied reference media.
^[1-9][0-9]*x[1-9][0-9]*$"1536x672"
"1344x768"
"1024x768"
"768x768"
"768x1024"
"768x1344"
"2912x1280"
"2544x1456"
"1920x1440"
"1440x1440"
"1440x1920"
"1440x2560"
PNG or JPEG reference images. Repeat input_reference with one publicly accessible HTTPS image URL or uploaded image file per field. Send up to nine reference images, whether you use URLs or uploaded files. Use all URLs or all files within this field. Do not combine URLs into a comma-separated value. Keep each uploaded image at or below 20 MiB. Do not combine this field with first_frame or last_frame. Across images, videos, and audio, send at most 12 reference inputs. Each reference video or audio clip must be 2–15 seconds; keep the combined video duration and combined audio duration at or below 15 seconds each. Submit images in the order you want to reference them in the prompt.
^https://Reference video inputs. Repeat reference_videos with a direct publicly accessible HTTPS MP4 URL or an uploaded MP4 file. Use only text values or only files within this field. Each uploaded file can be up to 50 MiB. Send no more than three video inputs. A complete data:video/mp4;base64,... URI is also accepted as a text value. Use MP4 with H.264 video; an AAC audio track is optional. Do not combine this field with first_frame or last_frame. Across images, videos, and audio, send at most 12 reference inputs. Each reference video or audio clip must be 2–15 seconds; keep the combined video duration and combined audio duration at or below 15 seconds each.
1 - 3 elements^(https://|data:video/mp4;base64,)"https://your-media-host/reference.mp4"
Reference audio inputs. Repeat reference_audios with a direct publicly accessible HTTPS MP3 URL or an uploaded MP3 file. Use only text values or only files within this field. Each uploaded file can be up to 15 MiB. Send no more than three audio inputs. Pair reference audio with at least one reference image. Do not combine this field with first_frame or last_frame. Across images, videos, and audio, send at most 12 reference inputs. Each reference video or audio clip must be 2–15 seconds; keep the combined video duration and combined audio duration at or below 15 seconds each.
1 - 3 elements^https://"https://your-media-host/reference.mp3"
Opening frame input as one direct publicly accessible HTTPS PNG URL or one uploaded PNG file at or below 20 MiB (20 x 1024 x 1024 bytes). Do not combine frame fields with reference media fields.
^https://"https://your-image-host/first-frame.png"
Optional ending frame input, used with first_frame, as one direct publicly accessible HTTPS PNG URL or one uploaded PNG file at or below 20 MiB (20 x 1024 x 1024 bytes). Do not combine frame fields with reference media fields.
^https://"https://your-image-host/last-frame.png"
Response
Task created. Store the returned id and use it in retrieve and content requests.
Task ID. Use this value as task_id in retrieve and content requests.
"<task_id>"
Object type for the asynchronous video task.
"video"Model ID that the task uses.
"minimax-h3"Task lifecycle status. Poll until the value is completed or failed.
queued, in_progress, completed, failed Task progress as a coarse percentage.
0 <= x <= 100Task creation time as a Unix timestamp in seconds.
Compatibility alias for id. This field can be omitted from retrieve responses.
"<task_id>"
Unix timestamp returned by the platform. Use status, not this field, to decide when polling can stop.
Result expiration time as a Unix timestamp in seconds when the task provides one.
Video delivery URL. This field appears on completed tasks.
"https://your-media-host/result.mp4"
Failure details. This field appears when the task fails.