Seedance 2.5 Pricing: Audit Any Provider With ByteDance's Own Formula
ByteDance publishes the token formula behind every Seedance 2.5 price. Divide any provider's rate by it and you get their markup: WaveSpeed 0.95x, fal 2.05x.
ByteDance publishes the arithmetic behind every Seedance 2.5 price, which means you can audit any reseller in about a minute. Take their per-second rate, divide by the tokens a second of output actually consumes, and you get their token rate. Compare that to ByteDance’s published rate and you have their markup as a single number.
Run it across the market and the results are cleaner than the rate cards suggest. Two providers sit at exactly 1.00x, one sits below list, and one is at 2.05x. And one published price turns out to describe a resolution the model does not offer.
Every figure below was read from the named provider’s own page on 2026-08-28. Disclosure: Ofox operates one of the gateways audited here, and it is not the cheapest row.
What is ByteDance’s Seedance 2.5 pricing formula?
It is on the BytePlus ModelArk pricing page, stated plainly:
Estimated token consumption =
(Input video duration + Output video duration) × Output video width × Output video height × Output video frame rate / 1024
The rate that formula feeds is $10.70 per million tokens at 480p and 720p, $6.40 when the input includes video, and $11.70 and $7.00 respectively at 1080p.
At 24fps that gives you a token count per second of output:
| Resolution | Frame | Tokens per second |
|---|---|---|
| 480p | 854x480 | 9,608 |
| 720p | 1280x720 | 21,600 |
| 1080p | 1920x1080 | 48,600 |
| 4K | 3840x2160 | 194,400 |
Multiply by the rate and you get ByteDance’s own per-second price: $0.1028 at 480p, $0.2311 at 720p, $0.5686 at 1080p. Its own worked examples confirm all three, pricing a 5-second 16:9 clip at $0.514, $1.156 and $2.843. Those reconcile against the formula to within a tenth of a percent, which is how you know you are reading the arithmetic correctly and not a coincidence. One detail worth pinning down before you check our arithmetic: the 2.5 example reconciles to a 854x480 frame at 480p, not the 864x480 used in the Seedance 2.0 example tables on the same page. OpenRouter lists 854x480 in its supported sizes too. Take the 480p frame from the wrong table and every 480p figure here will look 1% off.
How do you turn a provider’s price back into a token rate?
Two divisions.
token rate ($/M) = per-second price ÷ tokens per second × 1,000,000
markup = token rate ÷ ByteDance rate for that resolution
Worked example. Runway charges 30 credits per second of 720p output and sells credits at $0.01, so $0.30 per second. A 720p second is 21,600 tokens. So $0.30 ÷ 21,600 × 1,000,000 = $13.89 per million, against ByteDance’s $10.70. That is 1.30x list.
The multiple is the number worth comparing. A per-second price mixes markup and resolution together, which is why 480p and 1080p rate cards look incomparable when they are actually the same business decision applied twice.
Which providers charge ByteDance list price?
Checked 2026-08-28, text-to-video, no reference video.
| Provider | 720p per second | Implied token rate | Markup |
|---|---|---|---|
| WaveSpeed | $0.22 | $10.19/M | 0.95x |
| Replicate | $0.2312 | $10.70/M | 1.00x |
| OpenRouter | $0.23112 | $10.70/M | 1.00x |
| Ofox | $0.24 | $11.11/M | 1.04x |
| Runway | $0.30 | $13.89/M | 1.30x |
| fal | $0.4730 | $21.90/M | 2.05x |
Four things fall out of that column that the rate cards do not tell you.
Replicate and OpenRouter are not competing on price, they are passing through. Both land on $10.70 per million to within rounding. OpenRouter quotes $0.23112, which is the list rate exactly; Replicate’s $0.2312 is that number rounded to four places and reverses to $10.7037. That is not two companies arriving at the same discount independently, it is both quoting ByteDance list. Which also means neither has room to move: any price war at 480p and 720p has to come out of somebody’s margin, and there is no visible margin there to cut.
fal’s markup is exactly 2x, and fal says so itself. It is the only provider here that publishes a token rate directly, and it publishes the formula alongside it:
tokens = (output_height * output_width * duration_seconds * 24) / 1024 … You are charged $0.0214 per 1000 tokens at both 480p and 720p.
That is $0.0214 per 1,000 tokens at 480p and 720p, $0.0234 at 1080p. That is $21.40 and $23.40 per million, precisely double ByteDance’s $10.70 and $11.70. Our measured 2.05x at 720p is slightly above 2.00x because fal’s per-second summary is quoted with audio, and Seedance 2.5 generates audio by default. The method and the vendor’s own disclosure agree to within the audio surcharge, which is a good sign the method works.
WaveSpeed is under list, and its rate card is not derived from the formula at all. Its text-to-video tiers are $0.11, $0.22, $0.55 and $1.10 for 480p, 720p, 1080p and 4K. Each one is exactly double the last. Token counts do not double: 480p to 720p is a factor of 2.25, not 2. So the multiple slides with resolution instead of holding flat, 1.07x at 480p, 0.95x at 720p, 0.97x at 1080p, 0.53x at 4K. Everyone else in the table holds one multiple across resolutions because they are marking up the formula. WaveSpeed is quoting round numbers that happen to land near it. Pick your resolution before you call them cheap.
One trap worth naming, because it caught us. WaveSpeed runs two rate cards for the same model. Text-to-video is $0.22 per second at 720p; image-to-video is $0.36, about 1.64 times higher, on a separate page. We had this wrong on the first pass: the $0.36 went into a row labelled text-to-video, which turned the cheapest provider in the table into the second most expensive one. If you are comparing rate cards across vendors, check that every number came from the same endpoint before you divide anything.
Ofox at 1.04x is us, and 1080p is where it gets awkward. Our 1080p rate of $0.48 works out to $9.88 per million against a $11.70 list, or 0.84x, because that number is a 20% launch discount. It looks like we are selling below cost. We are selling below list, which is not the same thing. And ByteDance’s own 1080p discount is deeper: 72% of list until 14:00 on 2026-09-17 UTC+8, which is about $0.4094 per second, or 0.72x. Until that date the first-party console is cheaper than we are at 1080p. After it lapses, list returns to $0.5686 and the ranking flips.
Why does a published 4K price prove nobody tested it?
Because it reconciles to the formula instead of to a bill.
OpenRouter’s cost FAQ for the model states that Seedance 2.5 runs “from $0.1028/second at 480p to $2.08/second at 4K”. Run the audit on that second number: a 3840x2160 frame at 24fps is 194,400 tokens per second, and at $10.70 per million that is $2.08008. Its video-input figure of $1.244 is the same frame size at the $6.40 rate. Both are exact to five decimal places.
A measured price does not land on a formula to five decimals. A computed one does.
There is a blunter tell on the same page. OpenRouter’s own request schema publishes supported_resolutions: ["480p", "720p"], and its own FAQ answers that Seedance 2.5 “generates video at 480p and 720p”. Its price list, meanwhile, carries four SKUs: 480p $0.1028056, 720p $0.23112, 1080p $0.52002 and 4K $2.08008. Two of those tiers are priced by a vendor whose API will not accept them as a parameter. Note also that the 1080p SKU reconciles at the $10.70 rate rather than ByteDance’s actual $11.70 for that tier, which is why it lands below first-party list at $0.5686. Every bracket above 720p was generated by running one rate through the formula.
This matters because no first-party Seedance 2.5 endpoint documents a 4K tier. ByteDance’s own rate table makes the split visible: the dreamina-seedance-2-0 row carries brackets for 480p/720p, 1080p and 4K, while dreamina-seedance-2-5 has only 480p/720p and 1080p. The 2.0 Fast and Mini rows likewise list only 480p and 720p. In every case the missing tier is simply absent from the table, not marked unsupported.
So the audit catches a second class of problem beyond markup: a price for a tier that has no endpoint behind it. If a provider quotes you 4K on Seedance 2.5, ask them for the resolution parameter before you ask them for a discount.
What does the formula not tell you?
This is the part where the audit stops being useful, and it is worth being blunt about it because the arithmetic is seductive.
The formula prices a successful generation. It has nothing to say about the three terms that usually decide the bill:
- Failed-run billing. ByteDance states that “you are only charged for successfully generated videos”. Segmind and Replicate publish the same. Most others say nothing next to their rates. On a workload where one clip in eight is a keeper, a provider that bills failures charges you eight times to ship one, which dwarfs a 1.3x markup.
- Per-generation minimums. Runway carries an 80-credit minimum per generation, which is $0.80 before a single usable second exists. That never appears in a per-second comparison.
- The reference-video term. Look at the first bracket in the formula again:
input video duration + output video duration. A reference clip is billed as if you had generated it. ByteDance’s own worked example prices a 5-second 720p output at $1.244 with a 4-second reference and $4.838 with a 30-second one. Same delivered clip, four times the bill, and the per-second rate never moved.
We worked the keeper-rate side of this separately in list price vs usable-clip cost. If you are choosing between the two generations rather than between providers, the capability split is in Seedance 2.5 vs 2.0, and the prompting contract that decides which route a request lands on is in how to use Seedance 2.5.
How should you use this?
- Before signing anything, compute the multiple. Per-second prices across different resolutions are not comparable. Token-rate multiples are.
- Treat 1.00x as the floor, not a bargain. Replicate and OpenRouter are at list. Anything below that is a discount with an end date, and you should ask for the date.
- Ask for the endpoint parameter behind any tier you were quoted. Especially 4K, which OpenRouter and WaveSpeed both price and no first-party endpoint documents.
- Then stop using the formula and ask the three questions it cannot answer: are failures billed, is there a per-generation minimum, and how is reference-video duration counted.
The markup multiple is the fastest way to find out whether a provider is expensive. It is not a way to find out whether they are cheap. Those turn out to be different questions, and only the first one has arithmetic behind it.
References
- BytePlus ModelArk pricing, video generation models
- BytePlus limited-time discount campaign rules for Seedance models
- Replicate Seedance 2.5 model page
- OpenRouter Seedance 2.5 model page
- fal Seedance 2.5 text-to-video
- WaveSpeed Seedance 2.5 text-to-video
- WaveSpeed Seedance 2.5 image-to-video
- Runway API model pricing
- Ofox Seedance 2.5 model page
Frequently Asked Questions
- How do I check whether a Seedance 2.5 provider is overcharging me?
- Divide their per-second price by the tokens their output consumes, then compare the result to ByteDance's published token rate. ByteDance gives you both halves: the formula is
(input video duration + output video duration) × width × height × frame rate / 1024, and the rate is $10.70 per million tokens at 480p and 720p. A 720p second is 21,600 tokens, so list is $0.2311 per second. A provider charging $0.30 is at $13.89 per million, or 1.30 times list. The multiple is the number to compare, not the per-second price. - What is ByteDance's Seedance 2.5 token formula?
(input video duration + output video duration) × output width × output height × output frame rate / 1024, published on the BytePlus ModelArk pricing page. At 24fps that is 9,608 tokens per second at 480p, 21,600 at 720p and 48,600 at 1080p. Note the first term: a reference video is billed as if you had generated it, so a 30-second reference on a 5-second output multiplies the bill roughly fourfold, $1.244 with a 4-second reference against $4.838 with a 30-second one in ByteDance's own example. The token count goes up sevenfold; the bill does not, because any video input drops the rate from $10.70 to $6.40.- Which Seedance 2.5 providers charge ByteDance list price?
- Checked 2026-08-28, Replicate and OpenRouter both work out to $10.70 per million tokens at 480p and 720p, which is ByteDance's list rate to within rounding: OpenRouter's $0.23112 is exact, Replicate's $0.2312 is that figure rounded to four places. Ofox is 1.04 times list at 720p and Runway is 1.30 times, while fal is 2.05 times. WaveSpeed text-to-video is actually below list at 0.95 times, though its image-to-video rate card is a separate and much higher one. fal is the only one that publishes its token rate directly, at $0.0214 per 1,000 tokens, which is exactly twice ByteDance's.
- Why does a 4K price prove a provider never tested 4K?
- Because the number reconciles to the formula rather than to a bill. OpenRouter's cost FAQ quotes $2.08 per second at 4K. A 3840x2160 frame at 24fps is 194,400 tokens per second, and at $10.70 per million that is $2.08008. No first-party Seedance 2.5 endpoint documents a 4K tier, and ByteDance's own rate table has a 4K bracket for Seedance 2.0 but none for 2.5. The price was extrapolated, not measured.
- Does the cheapest token rate always mean the cheapest bill?
- No, and this is where the audit stops helping. The formula prices a successful generation. It says nothing about whether failed runs are billed, whether there is a per-generation minimum, or how many attempts you need per usable clip. ByteDance, Segmind and Replicate publish that failures are not charged; most others say nothing. On a workload where one clip in eight is a keeper, that term moves the total far more than a 1.3x markup does.


