Text to video (t2va)
Send a required text item and invent the full shot. For pure text generation, ratio is required and cannot be adaptive.
Build text-to-video, first/last-frame control, and omni-reference workflows on the MiniMax H3 API. One asynchronous contract returns a task ID, then a downloadable content URL.
curl --request POST \
--url https://minimaxh3.video/api/v1/video_generation \
--header "Authorization: Bearer $MINIMAX_H3_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "A cyclist crosses a rain-lit city street at night, neon reflections on wet asphalt, camera tracking beside the bicycle."
}
],
"duration": 5,
"resolution": "2K",
"ratio": "16:9"
}'MiniMax-H3 uses a multimodal content array. The roles you attach decide whether the request is text-to-video, first/last-frame image-to-video, or reference-to-video.
Send a required text item and invent the full shot. For pure text generation, ratio is required and cannot be adaptive.
Add image_url items with role first_frame and optional last_frame to control the opening and ending composition.
Guide character, motion, camera, style, or voice with reference images, videos, and audio—without mixing first/last-frame roles.
MiniMax H3 is documented as an open, general-purpose multimodal video model. The V2 surface is built for product backends, not one-off playgrounds.
Each content element is typed and can carry a role. Audio references must travel with image or video input.
Duration accepts integer seconds from 4 to 15. Common aspect ratios are supported; adaptive is allowed when media defines geometry.
Use the budget for shot structure, motion, camera path, dialogue intent, and reference mapping—not keyword spam.
If any reference_* role appears, first_frame and last_frame must not. Designing validation around that rule prevents avoidable 400s.
Successful tasks return a time-limited download URL directly on the query response. Persist identifiers and store the file if durability matters.
V2 documents list, cancel/delete, and a short query window for recent tasks—treat generation as a managed job, not a single long HTTP call.
Use the same async workflow for single creative assets, creator tools, or batch pipelines.
Let users submit a prompt or first frame, show queue state, and deliver a 2K clip when the task succeeds.
Carry character, product, motion, or voice references across short shots without rebuilding identity every time.
Direct a controlled opening and ending frame when storyboard continuity matters more than pure improvisation.
Generate 9:16 hooks or 16:9 master shots from one integration surface and branch only on ratio and duration.
Agents can assemble content arrays, poll status, and hand content.url to storage, moderation, or edit steps.
Explore camera, performance, and reference combinations before committing to a full production pipeline.
Generation never needs to keep one HTTP request open. Store identifiers and move through the documented V2 steps.
POST model MiniMax-H3, a content array, duration, resolution, and ratio when required. A successful response returns task_id.
POST /api/v1/video_generationQuery the task until it reaches a terminal state. Treat queued and running as healthy intermediate states.
GET /api/v1/video_generation/{task_id}On succeeded, the response includes content.url. The URL is time-limited—copy the file into storage you control if it must remain durable.
content.url · mp4Keep the public request explicit and validate mode-specific combinations before a task is submitted.
Use the exact documented identifier MiniMax-H3. Do not invent product nicknames as model IDs.
At least one type=text item. Add image_url, video_url, or audio_url items with roles for controlled modes.
Pick a single integer window. Longer is not always better if the shot only needs one clear action.
MiniMax H3 is documented for 2K output. Confirm current enum values against the live API reference before shipping.
Required for pure text-to-video and must not be adaptive in that mode. Image-led workflows can follow source geometry.
Roles change the creative contract. Validate mutual exclusion and per-asset size limits at upload time.
Polling clients should tolerate intermediate states and stop only on documented terminal outcomes.
| Status | Meaning | Recommended application behavior |
|---|---|---|
| queued | Waiting for capacity | Persist task_id and back off between polls |
| running | Generation is in progress | Keep the job visible; avoid duplicate submits |
| succeeded | Video is ready | Read content.url and store the asset |
| failed | Generation did not complete | Surface error code/message and allow deliberate retry |
| cancelled | Task was cancelled | Close the job UI and keep an audit trail |
| expired | Task is no longer available | Do not poll forever; re-create if needed |
Only recent tasks remain queryable. Confirm the official retention window before designing long-lived recovery flows.
The documented limits are simple enough to enforce at upload time, preventing avoidable task failures.
Width/height in [256, 5760]; aspect ratio between 2:5 and 5:2. First frame ≤ 1, last frame ≤ 1, reference images ≤ 9.
Up to 3 reference clips, each 2–15s, total ≤ 15s. In-video audio may be AAC or MP3.
Up to 3 clips, each 2–15s, total ≤ 15s. Audio cannot be sent alone—pair it with image or video references.
Request body should stay ≤ 64 MB. Prefer public URLs for large assets instead of Base64.
Choose either composition control (first/last) or omni reference generation—not both in one content array.
Map references in the text when identity, voice, or motion must follow a specific asset.
Credit rates and plan limits can change. Link to the live MiniMax H3 pricing page instead of hard-coding a number into your integration.
Choose the V2 API when your product can create a job and wait for a generated asset.
Queued generation, durable storage, and status UIs map cleanly to task_id workflows.
Shots that combine prompt direction with first frames, last frames, or reference media.
Design for polling or internal job workers rather than keeping a live generation connection open.
Keep long-running generation in your backend queue and surface status in the product UI.
Practical answers before you wire the first production request.
Yes. Send model MiniMax-H3 on the MiniMax H3 video generation endpoint when creating a task.
Create tasks with POST https://minimaxh3.video/api/v1/video_generation, then query GET https://minimaxh3.video/api/v1/video_generation/{task_id}. On success, download the mp4 from content.url.
H3 is the current general-purpose multimodal model with a content[] contract, documented 2K output, 4–15s duration, and omni references. Hailuo 2.3 remains an earlier model family with different request patterns.
Not in the same request. First/last-frame roles and reference_* roles are mutually exclusive. Choose the mode that matches the control you need.
Send a Bearer API key in the Authorization header. Create and manage keys from your MiniMax H3 account settings after you have access.
Use the site pricing page for product plans and credits. API usage follows the same credit wallet rules published there.
Shape creative direction in the generator, then call the MiniMax H3 API on minimaxh3.video with your key.