Seedance 2.5 price by hand: width x height x seconds x 24 / 1024
Work out a Seedance 2.5 cost on Sume before you submit: count video tokens, apply the list rate, add the 1.25 margin, round up to the cent. Python included.

To price a Seedance 2.5 clip on Sume by hand, count video tokens as width x height x seconds x 24 / 1024, multiply by the list rate per 1,000 tokens ($0.0214, or $0.0234 at 1080p), multiply by 1.25 and round up to the cent. A 5 s 1280x720 clip is 108,000 tokens, which comes to $2.89.
The four steps
The numbers come from packages/provider-pricing/src/pricing-tables.ts and pricing-normalize.ts on main. The catalog says the same in plain words: each row's billable_formula reads list x 1.25 -> ceil usd cents, and GET /v1/videos/models exposes the per-1,000-token rate under pricing_skus.
- Pick the frame size Sume assumes for your resolution and aspect ratio. 16:9 is 864x496 at 480p, 1280x720 at 720p and 1920x1080 at 1080p.
- Tokens = ceil(width x height x seconds x 24 / 1024). The 24 is the fixed fps in the estimator.
- Provider cost = tokens / 1,000 x list rate. The rate is 21,400 micro-dollars per 1,000 tokens, except Seedance 2.5 at 1080p, which uses 23,400.
- Billable = provider cost x 1.25, rounded up to the next cent.
Worked example
5 s at 720p, 16:9. Tokens: 1280 x 720 x 5 x 24 / 1024 = 108,000. Provider cost: 108 x $0.0214 = $2.3112. Times 1.25 is $2.889, which rounds up to $2.89.
30 s at 1080p, 16:9. Tokens: 1920 x 1080 x 30 x 24 / 1024 = 1,458,000. Provider cost: 1,458 x $0.0234 = $34.1172. Times 1.25 is $42.65.
A calculator you can run
The script below reproduces the three 16:9 frame sizes. It makes no network call and needs no key.
import math
SIZES = {"480p": (864, 496), "720p": (1280, 720), "1080p": (1920, 1080)}
RATE = {"480p": 21_400, "720p": 21_400, "1080p": 23_400} # micro-USD per 1,000 tokens
def seedance_25_usd(resolution: str, seconds: int) -> float:
w, h = SIZES[resolution]
tokens = math.ceil(w * h * seconds * 24 / 1024)
list_micros = math.ceil(tokens * RATE[resolution] / 1000)
return math.ceil(list_micros * 1.25 / 10_000) / 100
for res in SIZES:
print(res, [seedance_25_usd(res, s) for s in (4, 5, 10, 30)])Where the estimate stops
Reference videos change the maths: see the 15-second assumption in our reference-video note. Non-16:9 ratios move the frame size slightly. Audio does not appear in the formula, because Seedance prices on video tokens.
Duration must be a whole number from 4 to 30 for seedance-2.5. Fast and Mini variants stop at 15 seconds. Always check the numbers against the live catalog, because list rates change and the repo is the only source this note reads.
Sanity checks
Two cross-checks keep you honest. First, tokens per second at 720p 16:9 are 21,600, so every extra second adds $0.578 billable. Second, 1080p 16:9 is 48,600 tokens per second, and at the 1080p rate that is $1.42 per second. Multiply by your length and compare with the table in the catalog or your last invoice line.
The rounding is applied once per job, at the end, not per second. A 4 s clip at 720p is 86,400 tokens and $2.31, while four separate 1 s clips are not possible at all, since the floor is 4 s. If you batch, expect each job to add up to one cent of rounding.
Related posts
More in Pricing
- Seedance 2.5 reference video: 15 assumed input seconds at 60%
A reference video makes Sume's Seedance 2.5 estimate add 15 assumed input seconds, then take 60 percent: a 10 s 720p clip goes from $5.78 to $8.67.
- Seedance 2.5 with a reference video: Sume prices 15 extra seconds
A Seedance 2.5 request with a reference video is estimated on the output plus 15 assumed input seconds, times 0.6. See the table of 5 to 30 second prices.
- Seedance 2.5 reference video: price flips at 22.5 seconds on Sume
A reference video makes a Seedance 2.5 clip dearer under 22.5 seconds and cheaper above it on Sume. A 30 s 720p job falls from $17.33 to $15.60.
- Seedance 2 at $0.014 per 1,000 tokens: read pricing_skus first
fal lists Seedance 2 at $0.014 per 1,000 tokens, not per second. Read Sume's pricing_skus from GET /v1/videos/models, then budget from one real job.
Written by Sume