MiniMax Hailuo H3 is a general-purpose multimodal video model: it reads text, images, video and audio in the same request and returns one clip with picture, motion and sound already in agreement (native synchronized audio) — no separate dubbing, lip-sync or motion-transfer step afterwards. A prompt alone is text-to-video; attach up to 9 reference images, 3 reference videos and 3 reference audio clips to pin down character, camera movement and voice. Any whole-second length from 5 to 15, billed per second: 768P at $0.097/s, native 2K at $0.145/s.
| Tier | resolution | Per second | 5s | 10s | 15s |
|---|---|---|---|---|---|
| Native 2K (default) | 2k | $0.145 | $0.725 | $1.45 | $2.175 |
| 768P | 768p | $0.097 | $0.485 | $0.97 | $1.455 |
Both tiers carry native synchronized audio; resolution is the only difference. 768P saves a third for drafts, feeds and small players; native 2K ships without any upscaling step. Charged only on success, refunded on failure.
Aliases: hailuo-h3 and minimax-h3 point at the same model — Hailuo is the product name of the MiniMax video line.
Reference assets are priced separately, on top of the output seconds — a reference video bills by its own length, reference audio is free, and the first 5 reference images are free.
| Asset | Limit | Price |
|---|---|---|
| images | 9 images | first 5 free, $0.054 each from the 6th |
| video_list | 3 clips, each 15s at most | by the reference clip’s own length: $0.135/s at 2K, $0.081/s at 768P |
| audio_list | 3 clips | free |
Example: a 10-second 2K output with a 7-second reference video → 10 × $0.145 + 7 × $0.135 = $2.395. Another: a 5-second 2K output with 8 reference images → 5 × $0.145 + 3 × $0.054 = $0.887.
A reference video longer than 15 seconds is rejected at create time: we probe each reference clip’s real duration and return a clear 400 before any task is created or credits frozen.
All requests carry the API key in the header:
Authorization: Bearer YOUR_API_KEY/api/v1/video/generations·GET/api/v1/video/generations?task_id=# Text-to-video (model: minimax-h3 — the alias hailuo-h3 also works)
curl -X POST https://api.apimodels.app/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"prompt": "a lighthouse keeper climbs a spiral staircase at dusk, warm lamplight, waves crashing outside",
"resolution": "768p",
"ratio": "16:9",
"duration": 10
}'
# Poll until completed (result files are kept 7 days)
curl "https://api.apimodels.app/v1/video/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
# All reference inputs are optional — prompt alone is text-to-video.
# Attach images / video_list / audio_list to steer character, motion and voice
# in the same request (see the multimodal example in the Python / Node tabs).| Field | Required | Type | Description |
|---|---|---|---|
| model | Yes | string | minimax-h3 (alias hailuo-h3) |
| prompt | Yes | string | The prompt. Describe the scene in plain language, and say what each reference asset should supply (looks, camera movement, rhythm, voice). |
| duration | Yes | number | A whole number of seconds, 5-15. Required, and whole seconds only. |
| resolution | No | string | 768p or 2k, default 2k. |
| ratio | No | string | adaptive (default) / 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16. The field name aspect_ratio is also accepted. |
| images | No | string[] | Reference images, up to 9 (public URL or base64). First 5 free, $0.054 each from the 6th. reference_image_urls is also accepted. |
| video_list | No | string[] | Reference videos, up to 3, each 15s at most (public URL or base64), billed by their own length ($0.135/s at 2K, $0.081/s at 768P). video_urls / reference_video_urls are also accepted. |
| audio_list | No | string[] | Reference audios, up to 3 (public URL or base64), free. audio_urls / reference_audio_urls are also accepted. |
| callback_url | No | string | We POST the result to this URL on completion; omit it and poll the GET endpoint instead. |
total = duration × per-second price
+ reference video seconds × input-video price
+ max(0, images − 5) × $0.054Try it in the Playground
On apimodels.app, 768P is $0.097 per second and native 2K is $0.145 per second (a 5s clip is $0.485 / $0.725). Reference assets price separately: a reference video bills by its own length at $0.135/s (2K) or $0.081/s (768P), reference audio is free, and the first 5 reference images are free with $0.054 for each one after. Only successful generations are charged; failures are refunded in full.
Text, images, video and audio in the same request: up to 9 reference images, 3 reference videos (each 15s at most) and 3 reference audio clips, every one of them optional and freely combined. A prompt alone behaves as text-to-video. Each asset accepts a public URL or base64.
POST /api/v1/video/generations with model set to minimax-h3 (the alias hailuo-h3 also works), a prompt and duration (a whole number of seconds, 5-15). Optionally add resolution (768p or 2k, default 2k), ratio, images, video_list and audio_list. The call returns a taskId — poll GET /api/v1/video/generations?task_id=xxx, or pass callback_url to be called back on completion. One API key covers every model on apimodels.app.
Two resolution tiers, 768p and native 2k, both with synchronized audio. Any whole-second duration from 5 to 15. Aspect ratios: adaptive (default), 21:9, 16:9, 4:3, 1:1, 3:4 and 9:16.