Hailuo API (MiniMax Video): How It Works, What It Costs per Usable Clip, and How to Call It (2026)
A practical guide to the MiniMax Hailuo video API: the async job flow, why per-clip billing changes how you budget, when the Fast variant is enough, and how to work out your real cost per usable clip before you scale.
1. How a Hailuo API call actually works
Every serious video model works the same way, and Hailuo is no exception: generation takes far longer than an HTTP request should stay open, so the API is a job queue. Step one, you POST a request with the model name, the resolution and duration, your prompt, and — for image-to-video — a first-frame image. Step two, the API returns a job ID immediately. Step three, you poll the job endpoint every few seconds until the status settles. Step four, on success you read a file URL and download the clip. Everything that goes wrong in a first integration is a misunderstanding of this flow: treating the submit response as the result, polling too aggressively, or forgetting that the final URL is temporary. Build the poller once, with a sensible interval and a timeout, and every video vendor you add later reuses it.
2. Standard vs Fast: pick by the job, not by the price
The standard variant accepts either a text prompt or an image and gives you better motion coherence and detail. Use it for shots that will end up in the final cut, and for any shot you want to start from words alone. The Fast variant only animates an image you supply. It is quicker and built for throughput, so it shines in a two-stage pipeline: generate or design keyframes with an image model first (where you have far more control over composition, faces and brand assets), then batch-animate them with Fast. A practical split many teams land on: Fast for exploration and storyboards, standard for the takes you ship. If you find yourself regenerating standard clips because of composition problems, that is a sign the composition should be fixed at the image stage instead.
3. The number that matters: cost per usable clip
Per-clip pricing is honest, but it hides one variable — how many takes you throw away. AI video is a numbers game; on most creative work only a fraction of takes are good enough to use. So budget with this formula: cost per usable clip = price per take ÷ keep rate. If a take costs P and you keep one in five, each usable clip costs 5P. Two consequences follow. First, a cheaper variant with a lower keep rate can end up more expensive per usable clip than a pricier one, so compare models on this number, not on the price list. Second, anything that raises your keep rate — better keyframes, simpler prompts, a consistent set of style references — is worth more than shaving the per-take price. Measure it: run 20 takes of a representative shot on each candidate variant, count the keepers, and you have a real figure to put in your budget.
4. Prompts that suit a short clip
Hailuo clips are short, and short clips punish over-ambitious prompts. Write one subject, one action and one camera movement per clip, in that order: who or what is on screen, what it does, how the camera moves. Describe lighting and lens once rather than stacking adjectives. Leave out dialogue and on-screen text; neither renders reliably in a few seconds of video. For image-to-video, let the image carry the composition and keep the prompt about motion only — repeating what is already visible in the frame tends to fight the image rather than help it. When a shot needs more than one action, plan it as two clips and cut between them in an editor. That is how human editors work anyway, and it costs far less than regenerating one overloaded clip until it happens to come out right.
5. Calling it through cocodot
POST https://cocodot.co/api/ai/video/generations with the Hailuo model name returned by the video model list (GET https://cocodot.co/api/ai/video/models) (the standard and Fast variants have separate model names), the resolution and duration of a tier we list, and your prompt in content (add the image for image-to-video). The response carries a job ID; poll GET https://cocodot.co/api/ai/video/generations/{id} until the status is SUCCEEDED and read the video URL. The price is locked when you submit, and a job that ends in failure is not charged. The same key and the same balance also call Kling (per-second billing, audio tiers) and Seedance (longer narrative clips), so you can A/B a shot across vendors without opening three accounts. We only list the resolution and duration combinations whose upstream cost we have verified, so the listed price is what you are charged; other combinations appear on /pricing as they are verified.
6. Going direct to MiniMax instead
MiniMax runs its own developer platform, and if you only ever need Hailuo and can pay MiniMax directly, going direct is a perfectly reasonable choice — you get first access to new model versions and their full set of parameters. Check MiniMax's official platform for its current per-clip prices, supported specs and signup requirements; those change and we do not repeat them here. A relay earns its place when one of three things is true: you want several video vendors behind one key and one balance, your local card is declined by the vendor's billing, or you would rather keep one USD balance than prepay credits with each vendor separately. If none of those apply, go direct.
7. Production checklist before you scale
Before you point a batch job at any video API, check five things. One, the poller has a timeout and a backoff, so a stuck job does not hold a worker forever. Two, every successful clip is downloaded to your own storage immediately, because generated URLs expire. Three, you log the job ID, prompt, variant and outcome for each take, which is how you compute your keep rate later. Four, a failed job is retried at most once or twice with a changed prompt — retrying an identical prompt that failed content review just fails again. Five, you have a per-day spending cap in your own code, since a loop bug in a batch script is the most common way to burn a video budget overnight. None of this is Hailuo-specific, which is the point: build it once and every model plugs in.
8. When Hailuo is the wrong tool
Hailuo is a drafting and volume engine. It is the wrong pick when a single clip has to carry a long continuous narrative — use a model built for longer clips, such as Seedance, or cut several short clips together. It is also the wrong pick when the clip needs synchronized sound; Kling has dedicated audio tiers. And if you need precise control over how a character moves, look at Kling's motion-control tier. For a side-by-side of the three vendors on billing model, clip length and strengths, see /hub/ai-video-api-price-compare.
Symptom → cause → fix when calling the Hailuo API
| What you see | Likely cause | What to do |
|---|---|---|
| Submit returns an ID but no video | Video generation is asynchronous — the submit call only queues the job | Poll the job endpoint until the status is SUCCEEDED, then read the video URL |
| Job ends in a failed state | Prompt or image rejected by content review, or an upstream error | Rewrite the prompt or swap the image; a failed job is not billed, but a retry that succeeds is billed as a normal new job |
| Fast variant rejects a text-only request | Fast is image-to-video only | Generate a keyframe first, or switch to the standard variant for text-to-video |
| Video link stops working the next day | Generated file URLs are temporary | Download and store the file as soon as the job succeeds |
| Monthly bill far above your estimate | You budgeted per clip but forgot the discard rate | Budget per usable clip — see the formula in section 3 |
| Clips look jittery or characters drift | Too many actions packed into a short clip | One subject, one action, one camera move per clip — then edit clips together |