MiniMax · Introduction
MiniMax H3 video model, 9 workflows: text-to-video, multi-image reference, 4-image reference, MJ-style reference, flexible multi-reference, first/last-frame, plus three CF super-res variants (multi-image / first-last / MJ, output 2K/4K). 8 aspect ratios (16:9/9:16/1:1/4:3/3:4/3:2/2:3/21:9) x resolution tiers (standard 480P/768P/1080P; CF 2K/4K), duration generally 4-15s (first/last-frame and flexible multi-reference 4-10s). Optional reference videos (up to 3), audio (up to 3) and prompt enhancement. Billed per second with a per-tier unit price: 480P=5, 768P=12, 1080P=18, CF 2K=30, CF 4K=60 (credits/sec). Submit POST /v1/videos to get a task_id; poll GET /v1/videos/{task_id} until status = success / failed.
🔗 The query response follows the OpenAI video-task format: a flat top-level structure (no {code,msg,data} wrapper), lowercase status queued / running / success / failed, success returns video_url, failure returns {"error":{"code","message"}}; video_url is our CDN direct link, ready to download/play.
How to call
- Submit:
POST /v1/videos, returns a taskId. - Query:
GET /v1/videos/{taskId}, poll until status = success / failed.
Capability map
Size / Resolution
Output size is determined by ratio (1 of 8, default 16:9) x resolution (standard 480P/768P/1080P, default 1080P; flexible-multi-ref lh defaults to 768P); the table above is the standard-tier matrix. Billed per second with a per-tier unit price: 480P=5, 768P=12, 1080P=18 credits/sec. CF super-res workflows (cf-multi-reference / cf-fl2v / cf-mj) use resolution=2K/4K, super-resolving at the chosen ratio for higher quality, priced at 2K=30, 4K=60 credits/sec (see billing). Multi-image reference / MJ / CF family now accept video reference input (reference_videos, up to 3).
| Resolution | Aspect ratio | Pixels (size) |
|---|---|---|
| 480P | 16:9 | 864x480 |
| 768P | 16:9 | 1376x768 |
| 1080P | 16:9 | 1920x1088 |
| 480P | 9:16 | 480x864 |
| 768P | 9:16 | 768x1376 |
| 1080P | 9:16 | 1088x1920 |
| 480P | 1:1 | 640x640 |
| 768P | 1:1 | 1024x1024 |
| 1080P | 1:1 | 1440x1440 |
| 480P | 4:3 | 736x576 |
| 768P | 4:3 | 1184x896 |
| 1080P | 4:3 | 1664x1248 |
| 480P | 3:4 | 576x736 |
| 768P | 3:4 | 896x1184 |
| 1080P | 3:4 | 1248x1664 |
| 480P | 3:2 | 800x544 |
| 768P | 3:2 | 1248x832 |
| 1080P | 3:2 | 1760x1184 |
| 480P | 2:3 | 544x800 |
| 768P | 2:3 | 832x1248 |
| 1080P | 2:3 | 1184x1760 |
| 480P | 21:9 | 992x416 |
| 768P | 21:9 | 1568x672 |
| 1080P | 21:9 | 2208x960 |
Common Errors
| Code | msg | Meaning | How to fix |
|---|---|---|---|
| 400 | invalid_duration | duration is outside the workflow range: generally 4-15; first/last-frame (fl2v/cf-fl2v) and flexible multi-reference (lh) are 4-10 | Set duration to an integer: 4-15 for standard workflows; max 10 for fl2v / cf-fl2v / lh-multi-reference |
| 400 | invalid_request | Missing prompt (required even for image-to-video / first-last), ratio not one of the 8 values, illegal workflow_id, resolution not allowed for this workflow, too many images/videos/audio, a last frame without a first frame, or bad body | prompt is required; ratio must be one of 16:9/9:16/1:1/4:3/3:4/3:2/2:3/21:9; workflow_id must be one of the 9 values; use resolution 480P/768P/1080P for standard workflows and 2K/4K for CF; image_urls<=9 (lh<=4), reference_videos<=3, audio_urls<=3; when using last_image you must also pass first_image |
| 400 | invalid_reference_inputs | Material does not match the workflow: e.g. reference images passed to text-to-video, first/last-frame (fl2v/cf-fl2v) submitted together with image_urls/audio_urls/reference_videos, or flexible multi-reference given video/audio or more than 4 images — each workflow only accepts its designated inputs | Pass only the inputs each workflow allows: in first/last-frame mode do not also pass image_urls / audio_urls / reference_videos; flexible multi-reference takes up to 4 images only; text-to-video takes no material |
| 401 | unauthorized | API Key missing or invalid | Check the Authorization: Bearer <API_KEY> header |
| 402 | insufficient_balance | Insufficient credit balance | Top up and retry |
| 429 | task_limit_reached | Too many in-flight tasks | Wait for some tasks to finish, then submit |
| 404 | not_found | Task not found or not owned by this account | Verify the taskId is correct |
| 4xx/5xx | upstream_error | Generation service error (no charge at submit; auto-refunded if it fails during generation) | Retry later; contact support if it persists |
Errors are returned as {"error":{"code":"...","message":"..."}}.
Tip: after saving your API Key via Authorize, every capability page supports "Try it".