AI Video API Pricing: How to Compare Cost Per Usable Clip (Seedance, Kling, Hailuo)
Video generation APIs bill in three different units, and you pay for every attempt, not every keeper. Here is how to convert any quote into cost per usable clip, and where to read the live rates.
1. Why the price list misleads
A price list gives you the cost of one *attempt*. But video generation is a lottery with a keep rate: prompts drift, faces morph, motion breaks. Studios that produce short-form video at volume report needing many attempts per shot they actually publish — and every attempt is billed whether or not you keep it. So the honest question is never 'what does one clip cost' but 'what does one usable clip cost', which is the price per attempt divided by your keep rate. A 10% keep rate multiplies the listed price by ten.
2. Step one: convert every quote to price per attempt
Write down the resolution and duration you will really ship, then convert each vendor's quote to a price for exactly that spec. Per-clip pricing is easy: find the matching tier. Per-second pricing is rate times seconds. Per-token pricing is the awkward one — token counts depend on resolution, duration and frame rate, so the reliable method is to generate one test clip and read the billed amount from your usage record. Never mix specs: a 480p five-second price and a 1080p ten-second price are different products.
3. Step two: measure your own keep rate
Take 20 representative prompts from your real workload, run each through every candidate model once, and count how many outputs you would actually publish. That fraction is your keep rate for that model on your content. It differs by model and by prompt style: a model that handles product shots well may struggle with faces. Twenty samples is a rough estimate, not a benchmark, but it is far better than assuming every model succeeds equally — and it costs a few dollars, not a subscription.
4. Step three: compare cost per usable clip
Now the arithmetic is simple: cost per usable clip = price per attempt ÷ keep rate. A model costing half as much per attempt but keeping one third as many outputs is the more expensive one. Two practical patterns follow. Draft cheap, finish expensive: iterate on prompts with the low-cost tier, then re-render only the chosen shots on the higher-quality model. Match model to shot type: use the model that keeps best for that kind of content rather than one model for everything.
5. Subscription credits versus metered billing
A subscription gives a fixed monthly allowance at a lower headline price, but the allowance is consumed by every attempt, including failed and discarded ones, and it resets rather than rolling over. Metered billing charges per attempt with no cap and no minimum, and balance does not expire. Subscriptions win if your monthly volume is steady and close to the allowance; metered wins for bursty or uncertain volume. Divide the plan price by the number of clips you can realistically finish in a month, not the number of credits on the label.
6. What to check about failed generations
Ask every provider three questions before committing volume: are failed generations billed; are generations that finish but come back unusable (a blank or corrupted file) billed; and does the price you see at submission equal the price you pay. On cocodot, billing settles only when a task succeeds, and the unit price is fixed at submission. Whatever provider you use, test this with a deliberately bad prompt and check the usage record afterwards — the answer should be visible in your balance, not in a policy page.
7. Calling several vendors through one key
Three vendors normally means three accounts, three prepaid balances and three SDKs. Through an aggregating endpoint you send one request with a model name and poll for the result: POST `https://cocodot.co/api/ai/video/generations` with the model you want, then GET `/api/ai/video/generations/{id}` for the video URL. Live per-model rates and the list of parameter combinations currently open are on cocodot.co/pricing; only combinations whose upstream cost has been verified are exposed, so an unlisted tier is closed rather than mispriced.
8. A short checklist before you scale
1. Fix the resolution and duration you will ship. 2. Convert each quote to price per attempt at that spec, using a test clip for token-billed models. 3. Run 20 real prompts per model and count keepers. 4. Compute price per usable clip. 5. Confirm failed generations are not billed, with a deliberate failure. 6. Decide draft-versus-finish routing. 7. Re-check live rates monthly, since vendors reprice and open new tiers often.
Three billing units, and how to convert each to price per attempt
| Billing unit | How it scales | Convert to price per attempt | Watch out for |
|---|---|---|---|
| Per clip | Fixed price per resolution and duration tier | Read the tier you will actually use | Cheap tiers are often the lowest resolution or shortest length |
| Per second | Rate × seconds of output | Rate × your typical clip length | Audio, motion-control or pro modes usually carry a different rate |
| Per token | Scales with resolution, duration and frame rate | Generate one test clip and read the billed amount | Cost is hard to predict from the price list alone |
| Subscription credits | Monthly allowance that resets | Plan price ÷ clips you can actually finish | Failed and discarded attempts usually still consume credits |