Seedance API: Every Tier, Price, and Failure Mode (2026)
Which Seedance model to call, what each resolution costs per second, the async contract that trips people up, and the failure modes on every tier.
TL;DR: Seedance is four models, not one, and picking the wrong one is the most expensive mistake available. Mini at $0.04 per second and the flagship at 4K are a 34x price difference for the same API call. This page is the map: model IDs, the full per-second price table, the async contract that catches everyone on the first call, and the failure modes we have actually hit.
Last updated 2026-08-31. Prices below are list prices, read from each model’s page on that date. Promotional discounts come and go on top of them; the list column is what the arithmetic should assume.
Which Seedance model do you want?
| Model ID | Max resolution | Best for | 480p | 720p |
|---|---|---|---|---|
bytedance/seedance-2.0-mini | 720p | prompt iteration, throwaway drafts | $0.04/s | $0.08/s |
bytedance/seedance-2.0-fast | 720p | volume at social resolutions | $0.06/s | $0.13/s |
bytedance/seedance-2.0 | 4K | anything that ships at 1080p or above | $0.07/s | $0.16/s |
bytedance/seedance-2.5 | 1080p | long clips, many references, frame control | $0.11/s | $0.24/s |
Above 720p only two tiers exist: 2.0 flagship at $0.34/s for 1080p and $1.37/s for 4K, and 2.5 at $0.60/s for 1080p. Seedance 2.5 has no 4K tier. Video-to-video is billed higher than text-to-video at every tier, which is easy to miss when comparing rate cards across providers.
The tier decision is worked through properly in Seedance 2.0 vs Fast vs Mini, including what quality you actually give up at each step down. The generation decision is in Seedance 2.5 vs 2.0: 2.5 doubles clip length to 30 seconds and takes 50 reference assets, and charges 50 to 76% more per second for it depending on resolution ($0.11 against $0.07 at 480p, $0.24 against $0.16 at 720p, $0.60 against $0.34 at 1080p).
How does the Seedance API actually work?
Every Seedance call goes through the same async endpoint, and the same two details trip up first-time callers.
POST /v1/videos -> 202 Accepted + polling_url
GET /v1/videos/{id} -> poll until status == "completed"
-> read unsigned_urls[0]
There is no output_url field. Reading resp['output_url'] returns None every time. The clip is in unsigned_urls[0], or in mirror_urls if you need the persistent variant.
unsigned_urls expire in about 24 hours. Download to your own storage the moment status flips to completed rather than handing an API URL to a client.
The full quickstart with Python and Node is in how to access the Seedance 2.0 API. The polling behavior deserves its own page and got one: 202 and wait times measures eight identical 5-second jobs completing between 83 and 253 seconds, a 3x spread on identical input, and documents that cancellation fails once a job is running.
Which Seedance failures cost you the most?
Setting aspect_ratio on a first-and-last-frame request is a 400. The mode is inferred from the fields you send, and passing an aspect ratio alongside both frames contradicts the frames. First and last frame control has the working request, and the measured payoff: closing-frame error of 5.4 against 35.9 for 2.0 Mini on the same target.
Clips drift and sprout subtitles. Both are prompt-structure problems with documented fixes rather than model defects. How to use Seedance 2.0 walks ByteDance’s own prompt spec and six fixes; how to use Seedance 2.5 covers the integer-second timestamp syntax that 2.5 adds.
A reference clip is billed as if you generated it. ByteDance publishes the arithmetic, and the first bracket is the trap:
Estimated token consumption =
(Input video duration + Output video duration) × Output video width × Output video height × Output video frame rate / 1024
An input clip is counted exactly like output. The same delivered 5-second clip costs $1.244 with a 4-second reference and $4.838 with a 30-second one. The per-second rate never moves, which is why it does not show up in any comparison table.
Failed generations still cost time, and sometimes money. ByteDance states you are only charged for successfully generated videos, and Replicate and Segmind publish the same. Most other providers say nothing next to their rates.
What does a Seedance clip actually cost?
The per-second rate is the smallest term in a video bill. List price vs usable-clip cost has the arithmetic: attempts per usable clip moved from 2-3 to 7-8 over the past year, which swamps any rate-card difference between providers.
If you are comparing providers rather than tiers, ByteDance publishes the token formula behind every price, which means you can compute any reseller’s markup as a single number. Audit any provider with ByteDance’s own formula runs it across six gateways and finds two at exactly list, one below, and one at 2.05x, plus a published 4K price for a tier that has no endpoint behind it. fal vs Replicate vs Ofox is the same question answered with a 2,000-clip monthly bill.
There is no free Seedance API tier. Is Seedance 2.0 free? checks six access routes and finds exactly one that is genuinely free, and BytePlus wanting $29.70 prepaid before your first call.
How does Seedance compare with Sora, Veo, Kling and Wan?
Seedance 2.0 vs Wan is the closest budget comparison, 30 to 60% cheaper per second with more resolution tiers. Sora 2 Pro vs Veo 3.1 vs Kling 2.6 Pro covers the models Seedance does not compete with directly: photorealism, native audio, and lip-sync. Choosing by use case is the decision tree across all of them.
For an end-to-end pipeline rather than single calls, faceless YouTube automation builds 15 seconds of vertical video for $0.3009 in 260 seconds, and names the three parts that break.
References
Frequently Asked Questions
- Which Seedance model should I use?
- Start at bytedance/seedance-2.0-mini if you are iterating on prompts, because it is $0.04 per second at 480p and you will throw most early clips away. Move to bytedance/seedance-2.0 when you need 4K, which is the only tier that reaches it, or when you want 1080p cheaper than 2.5 charges for it. Use bytedance/seedance-2.5 when you need clips longer than 15 seconds, many reference assets, or first-and-last-frame control; it costs more per second and stops at 1080p.
- How much does a Seedance clip cost?
- It is priced per output second by resolution, not flat. List prices for text-to-video: 2.0 Mini $0.04 at 480p and $0.08 at 720p; 2.0 Fast $0.06 and $0.13; 2.0 flagship $0.07, $0.16, $0.34 at 1080p and $1.37 at 4K; 2.5 $0.11, $0.24 and $0.60 at 1080p. Video-to-video costs more than text-to-video at every tier.
- Why is the video URL empty in the API response?
- Because there is no output_url field. A completed job returns the clip in unsigned_urls, which is an array, so you read unsigned_urls[0], or in mirror_urls. unsigned_urls expire roughly 24 hours after the job completes, so download the file to your own storage as soon as status is completed.
- Does Seedance 2.5 support 4K?
- No. ByteDance's own rate table carries 480p, 720p and 1080p brackets for Seedance 2.5, and 480p, 720p, 1080p and 4K for 2.0. Any provider quoting you a 4K price on 2.5 computed it from the token formula rather than measuring it. Ask for the resolution parameter before you ask for the discount.
- How long does a Seedance generation take?
- The POST returns a 202 in under a second, then the job runs. Across eight identical 5-second jobs we measured completion between 83 and 253 seconds, a 3x spread on identical input. Build for a poll loop with a long ceiling, not a fixed timeout, and note that cancelling fails once a job has started running.


