CQTAI
MiniMax · Video

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

  1. Submit: POST /v1/videos, returns a taskId.
  2. 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).

ResolutionAspect ratioPixels (size)
480P16:9864x480
768P16:91376x768
1080P16:91920x1088
480P9:16480x864
768P9:16768x1376
1080P9:161088x1920
480P1:1640x640
768P1:11024x1024
1080P1:11440x1440
480P4:3736x576
768P4:31184x896
1080P4:31664x1248
480P3:4576x736
768P3:4896x1184
1080P3:41248x1664
480P3:2800x544
768P3:21248x832
1080P3:21760x1184
480P2:3544x800
768P2:3832x1248
1080P2:31184x1760
480P21:9992x416
768P21:91568x672
1080P21:92208x960

Common Errors

CodemsgMeaningHow to fix
400invalid_durationduration is outside the workflow range: generally 4-15; first/last-frame (fl2v/cf-fl2v) and flexible multi-reference (lh) are 4-10Set duration to an integer: 4-15 for standard workflows; max 10 for fl2v / cf-fl2v / lh-multi-reference
400invalid_requestMissing 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 bodyprompt 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
400invalid_reference_inputsMaterial 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 inputsPass 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
401unauthorizedAPI Key missing or invalidCheck the Authorization: Bearer <API_KEY> header
402insufficient_balanceInsufficient credit balanceTop up and retry
429task_limit_reachedToo many in-flight tasksWait for some tasks to finish, then submit
404not_foundTask not found or not owned by this accountVerify the taskId is correct
4xx/5xxupstream_errorGeneration 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".