Turning Seedance per-second pricing into per-minute budgets
Updated 2026-10-02
Seedance is priced per second of output, and per resolution tier. Nobody ships "per second," though. Stakeholders ask what a one-minute spot costs, or what a 40-clip campaign will run. This page gives a formula that survives contact with real pipelines, where most of the money goes into clips you discard.
The base formula
For a single clip:
clip_cost = rate(model, resolution, host) x requested_seconds
Billing happens once, at job creation, from the requested duration (snapped to a value the model supports). Polling is free and a job that fails upstream is not billed. So the number you control is requested seconds, not the length of the file you end up keeping.
For one minute of finished footage at a single tier, the naive answer is 60 x rate. The live table below computes 5s, 10s and 60s clips at the cheapest host in the catalog for each Seedance row:
| Model | Tier | Cheapest host | Rate | 5 s clip | 10 s clip | 1 min of video | 1,000 × 10 s clips |
|---|---|---|---|---|---|---|---|
| seedance-2-5 | 480p | OpenSand | $0.0525 / second | $0.263 | $0.525 | $3.15 | $525 |
| seedance-2-5 | 720p | OpenSand | $0.1179 / second | $0.59 | $1.18 | $7.07 | $1,179 |
| seedance-2-5 | 720p-sr | Atlas Cloud | $0.2193 / second | $1.10 | $2.19 | $13.16 | $2,193 |
| seedance-2-5 | 720p-esr | Atlas Cloud | $0.2515 / second | $1.26 | $2.52 | $15.09 | $2,515 |
| seedance-2-5 | 1080p | OpenSand | $0.2919 / second | $1.46 | $2.92 | $17.51 | $2,919 |
| seedance-2-5 | 1080p-sr | Atlas Cloud | $0.4056 / second | $2.03 | $4.06 | $24.34 | $4,056 |
| seedance-2-5 | 1080p-esr & 60fps | Atlas Cloud | $0.4958 / second | $2.48 | $4.96 | $29.75 | $4,958 |
| seedance-2-5 | 1080p-esr | Atlas Cloud | $0.4507 / second | $2.25 | $4.51 | $27.04 | $4,507 |
| seedance-2-5 | 1440p-esr | Atlas Cloud | $0.7602 / second | $3.80 | $7.60 | $45.61 | $7,602 |
| seedance-2-5 | 1440p-sr | Atlas Cloud | $0.7 / second | $3.50 | $7.00 | $42.00 | $7,000 |
| seedance-2-5 | 2160p | OpenSand | $0.6065 / second | $3.03 | $6.07 | $36.39 | $6,065 |
| seedance-2-5 | 4k-esr | Atlas Cloud | $1.7006 / second | $8.50 | $17.01 | $102 | $17,006 |
Computed from each model's cheapest current host per resolution tier, before VideoRouter's 2% platform fee. Built 2026-10-02 from live data. Failed upstream jobs are not billed; re-generations are, so multiply by your retry rate.
Treat that as the floor. Real projects pay more for four reasons covered next.
1. The retry multiplier
Generative video is not deterministic in the "pass/fail" sense: a clip can complete successfully and still be unusable. Completed jobs are billed whether or not you keep them. Define:
keep_rate = clips_you_use / clips_you_generate
retry_multiplier = 1 / keep_rate
If you keep one clip in three, your effective rate is three times the table rate. Measure keep_rate on your own prompts for a week before you quote a budget; guessing is how teams end up 3-5x over. The most effective way to lower the multiplier is to improve prompts and references on a cheap variant first, so you are not paying full price for exploration.
2. Tier mix
Seedance's per-second rate depends on the resolution tier you request. A project is rarely a single tier: previews at a low tier, finals at a higher one. Budget each stage separately:
project_cost = SUM over stages s of
( seconds_s x rate(variant_s, tier_s) x retry_multiplier_s )
Typical stages are exploration (many clips, low tier, cheap variant, high retry multiplier), selection (a few clips re-run at the production tier) and final (the clips you deliver, low retry multiplier because the prompt is proven). The retry multiplier should fall as you move down the list; if it does not, your drafting stage is not doing its job.
3. Host spread
The same Seedance variant is resold by many providers, and the gap between cheapest and priciest host can be large. Two ways to read it:
- Floating requests are routed to the cheapest healthy host, so your realised rate tracks the cheap end, with failover to the next host when one is down. During a failover your rate for those jobs is the next host's rate, which can be higher.
- Pinned requests (
bytedance/seedance-2.0/<host>) pay that host's rate every time. Pin only for a reason such as a host-specific capability, and budget at that host's price, not the cheapest.
For quoting, use the cheapest rate for a best case, the priciest for a worst case, and state which assumption your number uses. The pricing page and cost page show both ends from the live catalog.
4. Fees and prepaid balance
VideoRouter adds a 2% platform fee on image and video usage, drawn from one prepaid balance. Add it to any quote built from host rates:
billed = host_rate x seconds x 1.02
If the table you are reading already includes it, do not add it twice; check the page notes. For a cap against runaway loops, set a monthly spend limit per API key.
A worked budget, symbolically
Say a one-minute spot is built from clips of d seconds, so it needs n = 60 / d kept clips.
- Exploration:
g1generations atdseconds on the draft variant at the draft tier. Cost:g1 x d x r_draft. - Selection: re-run
n x kcandidates at the production variant. Cost:n x k x d x r_prod, wherekis how many tries you allow per shot. - Total:
(g1 x d x r_draft + n x k x d x r_prod) x 1.02.
Plug in your own measured g1 and k. If that total looks high, the levers are, in order of impact: lower k by tightening prompts on the draft variant, drop r_prod by choosing a lower tier or a cheaper host, then shorten d. See five practical levers and the variant cost strategy.
Sanity-checking a quote
Before you send a budget to someone, run three checks. First, recompute one clip by hand: take the rate for the exact variant and tier from the table, multiply by the requested seconds, and compare with the cost recorded on a real job. If they disagree, you have the wrong tier or the wrong host assumption. Second, state your retry multiplier explicitly in the quote and say how you measured it; a quote with an implied multiplier of one is almost always wrong. Third, give a range, not a point: best case at the cheapest host, worst case at the priciest, so the reader knows what pinning would change.
What not to forget
- Requested duration is what is billed, so asking for 10 seconds and trimming to 5 still costs 10.
- Re-submitting a slow job doubles the bill; poll instead.
- Audio or video references used for reference-to-video are inputs; the charge is still per output second, but confirm the model's page for any provider-specific pricing notes.
Test one real clip and read the job's recorded cost against your formula before you scale. Create an API key and follow the quickstart.
Frequently asked questions
How do I calculate Seedance cost per minute?
Multiply the per-second rate for your variant, resolution tier and host by 60, then by your retry multiplier (1 divided by the share of clips you keep), and add the platform fee. The cost table shows 5s, 10s and 60s clips at the cheapest host.
Am I billed for clips I do not use?
Yes. A job that completes is billed once at creation by requested duration, whether or not you keep it. Jobs that fail upstream are not billed.
Does asking for a longer duration and trimming save money?
No. Billing follows the requested (snapped) duration, so trimming afterwards does not reduce the charge.
What is the platform fee?
A 2% fee on image and video usage on top of the host rate. Check whether the figures on a given page already include it before adding it yourself.
Keep reading
- How to Reduce Your Seedance API Cost — Five Practical Levers
- Seedance vs Kling API Pricing: A Fair Cost Comparison
- Seedance 2.0 Mini vs Fast vs Full: A Cost Strategy for Teams
- Seedance 2.5 Price Per Resolution Tier: How to Read the Table
VideoRouter puts it next to dozens of other video and image models behind one API key, so you can compare providers, prices and fail over automatically. Compare providers on VideoRouter →