MiniMax H3 API
AI VideoMiniMax H3 is MiniMax's video route on OmniaKey: one model id covers text to video, a first frame with an optional last frame, and reference-driven shots in 768P or 2K.
- Per second of output$0.0269–$0.0431
- OperationsText to video
- Image to video
- Reference to video
- View tool pricing and billing rules
Your result will appear here once you run the model.
01
Where it fits
MiniMax H3 is MiniMax's video route on OmniaKey: one model id covers text to video, a first frame with an optional last frame, and reference-driven shots in 768P or 2K.
Choose MiniMax H3 when a shot needs a controlled start and end frame, or motion driven by reference images and video, at $0.03 per second in 768P and $0.04 in 2K. Reference audio alone is rejected, so pair an audio clip with an image or video reference.
02
What it does
Text to video
minimax-h3
Generate a short video clip from a text prompt.
Image to video
minimax-h3
Animate a still image into a short video clip.
Reference to video
minimax-h3
Guide a clip with reference media to keep a subject, style or motion.
03
In depth
MiniMax H3 is the Hailuo line's current video model, listed here as minimax-h3 with one id for all three task types: text, image (with an optional last frame) and reference video. MiniMax announced it on 31 July 2026 as the generation after Hailuo 01 and 02, and the name varies by page — the API model description calls it Hailuo-03.
It renders at 768P or 2K, takes whole-second durations from 4 to 15, and accepts seven aspect ratios including a 21:9 band. Every clip arrives with stereo audio, and MiniMax's create reference lists no switch to silence it, so a quiet master has to be stripped afterwards.
Our October 2026 run put one 5-second 768P job through each mode: all three came back as H.264 MP4 at 24 fps, 5.17 seconds long, with stereo AAC. The observations, including what the model invented when the prompt said nothing about sound, follow.
Scenes that carry their own track
H3 writes ambience to fit the action: water running just before the hose appears, piano over a bicycle push. Write a sound sentence next to the visual one and the two arrive on the same beat, which saves a foley pass on short social cuts.
First and last frame in one job
The image operation takes a first_frame and an optional last_frame, so a shot can be told where to end as well as where to start. That is how a match cut into the next scene gets planned without a second render.
Reference audio and video together
The reference operation accepts reference_image, reference_video and reference_audio, and our 768P job carried an image, a video and an audio file at once. Keep in mind that a bare audio file is rejected: sound has to travel with a picture.
04
Hands-on notes
All three MiniMax H3 clips we made in text, image and reference mode came back as H.264 MP4 files at 24 fps and 5.17 seconds with stereo AAC audio.
Read the testFor image-to-video we left the aspect ratio out entirely, and MiniMax H3 kept the still's own shape and returned a 1376x768 clip.
Read the testWhen our MiniMax H3 prompts said nothing about sound, the model added water for the robot clip and piano for the bicycle clip.
Read the testOur 16 September 2026 smoke run completed a MiniMax H3 reference-to-video job that carried an image, a video and an audio reference together at 768P.
When we sent a MiniMax H3 reference job with only an audio file and no image or video, the request failed instead of starting a task.
05
Limits to plan around
- The sound cannot be switched off in the request: no audio parameter appears in the create reference, so a silent clip has to be stripped from the finished file.
- Reference media cannot mix kinds. Frames belong to the image operation and reference_image, reference_video and reference_audio to the reference operation, and an audio-only job is refused outright.
- The whole request body is capped at 1 MiB including Base64, which is why our script sent 1024-pixel JPEGs; full-size stills fail before the task exists.
- Only 768P and 2K are priced. A 1080P or 4K request is rejected with a model price error rather than being scaled down, so pick a supported size in the code.
06
Compare nearby models
| Model | Best for | Operations | Listed price |
|---|---|---|---|
| MiniMax H3This page minimax-h3 | 768P or 2K, 4 to 15 seconds, stereo sound, first and last frame, audio references. | Text to video · Image to video · Reference to video | $0.0269–$0.0431 per second |
| Wan 3.0 wan3.0-video | 480P drafts and 30-second takes at a lower rate, with audio that can be switched off. | Text to video · Image to video · Reference to video | $0.04–$0.16 per second |
| HappyHorse 1.1 happyhorse-1.1 | Needs a separate id per operation, tops out at 1080P, but adds a 480P tier. | Text to video · Image to video · Reference to video | $0.042–$0.108 per second |
07
Sources and verification
Guide updated 2026-10-27.
08
Call it
Media models run asynchronously. Create a task, poll it until it finishes, then download the signed asset URL.
# 1. Create the job. 202 Accepted; the body carries the task id,
# the pre-charged price, and a poll_url. Reuse one Idempotency-Key
# across retries so a timeout never starts a second paid job.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks \
-H "Authorization: Bearer $OMNIAKEY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: minimax-h3-001" \
-d '{
"model": "minimax-h3",
"type": "video",
"operation": "text_to_video",
"input": {"prompt": "a paper boat on a quiet lake at sunset"},
"parameters": {"duration": 6, "resolution": "720p"}
}'
# 2. The same model id and the same poll loop serve the other operations:
# image_to_video media[] type "first_frame"
# reference_to_video media[] type "reference_image"
# Reference media travel alongside the prompt:
# {"prompt": "...", "media": [{"type": "first_frame", "url": "https://example.com/first-frame.png"}]}
# A public HTTPS URL or a base64 data URI both work.
# 3. Poll GET /v1/media/tasks/{id} until status is
# succeeded | failed | canceled. Progress carries percent and stage.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks/TASK_ID \
-H "Authorization: Bearer $OMNIAKEY_API_KEY"
# 4. Download assets[0].url before expires_at, or poll again for a
# fresh signed URL. Failed and canceled jobs are refunded.
curl -sS -o out.mp4 "$(jq -r '.assets[0].url' result.json)"09
Pricing
Video jobs are billed per second of rendered output, not per token. Failed or canceled jobs are refunded automatically.
$0.0269–$0.0431per secondSave 82%
- 768P
- $0.0269per second
- 2K
- $0.0431per second
Related articles
Clapping Cat Meme AI: Make Your Pet Clap With Image-to-Video
One photo, one prompt, three models: all three made the cat sit up and clap, but the mouths and the watermark differed.
Read articleMiniMax H3 Prompt Guide: Structure, Examples and Real Clips
Seven prompts, seven real clips: which cuts landed on time, what the sound fields did and which signs came out garbled.
Read articleHailuo API: MiniMax H3 Python Guide and 3 Video Modes Tested
One script, three modes: create a task, poll it, download the MP4. Every clip came back with sound.
Read articleFrequently asked questions
How do I call MiniMax H3 on OmniaKey?
POST to /v1/media/tasks with the model id, type "video", and operation "text_to_video" — or "image_to_video" with a first frame in input.media[] with type "first_frame". Reuse one Idempotency-Key across retries so a timeout never starts a second paid job.
What does MiniMax H3 cost?
MiniMax H3 bills $0.0269–$0.0431 per second of rendered video. Creation pre-charges the requested duration up front from your prepaid balance, and failed or canceled jobs are refunded automatically.
Why does the API return a task id instead of the video?
Video renders take from about a minute to several minutes, so OmniaKey runs every video route through one asynchronous lifecycle. Poll GET /v1/media/tasks/{id} until the status is succeeded, then read the signed asset URL.
How long can a MiniMax H3 clip be?
From 4 to 15 whole seconds, set with duration. Fractional values are not part of the range, so plan cuts in whole seconds. Our jobs asked for 5 and came back at 5.17 seconds, which is normal container padding rather than extra footage.
Can I turn the sound off?
Not through the request. MiniMax's create reference lists no audio switch for H3, and our clips all carried a stereo AAC track even when the prompt never mentioned sound. If a client needs silence, strip the audio in the edit or on download.
What happens if I send only an audio reference?
The request is rejected before a task is created. Reference audio has to travel with a reference image or a reference video, which is the rule the docs state and what our own audio-only job ran into. Add one picture to the same job and it proceeds.
Does it keep my still's shape?
Yes, when you leave aspect_ratio out of an image job. Our 1376x768 file followed the still instead of being padded to 16:9, and MiniMax documents that the image operation follows the picture while text needs a fixed ratio. Compose the still in the shipping shape.
Which resolutions should I budget for?
768P or 2K. A 1080P or 4K request comes back as a model price error, since H3 has no such tier, so a script that inherits a size from another model will fail here. Our own jobs all ran at 768P; test 2K once before a session that depends on it.
