Seedance 2.0 Mini: Half the Rate, Same 720p

bytedance/seedance-2.0-mini is live. A 5-second 720p clip with synced audio
costs $0.3996. The same clip on seedance-2.0-fast costs $0.83.
That is the whole pitch, and the interesting part is what doesn't change.
What you give up
Resolution ceiling. Mini does 480p and 720p — no 1080p, no 4K. If you need
either, seedance-2.0 is the tier that has them.
That's the list. Duration is the same 4–15 seconds. Audio is still synced. Reference images, first/last-frame, and RealFace character consistency all take the same parameters they take on 2.0 Fast.
What the meter actually does
Seedance is token-metered, not billed per second, so "half the rate" needs to survive contact with the meter. We probed it at both ends of the duration range:
| Duration | Tokens | Tokens/sec |
|---|---|---|
| 5s | 108,900 | 21,780 |
| 15s | 324,900 | 21,660 |
324,900 / 108,900 = 2.98. Billing is linear in duration — a 15-second clip costs three times a 5-second one, with no step function hiding in the middle. Both measurements land within 0.5% of the rate the rest of the 2.0 family bills at, so the saving is entirely in the per-token price, not in generating fewer tokens.
At 480p the token count halves, so a 5-second 480p clip is $0.2003.
Why a cheaper tier is worth defaulting to
The argument is the same one we make about text routing: most requests do not need the top tier, and the cost of finding out is lower than the cost of assuming.
For video that reads concretely. A storyboard pass, a motion test, a variant sweep — anything you are going to look at once and throw away — is the same 720p either way. Pinning 2.0 Fast for that work doubles the bill for output nobody keeps.
Then render the take you keep on 2.0 Pro, where 1080p and 4K actually live.
Calling it
curl -X POST https://blockrun.ai/api/v1/videos/generations \
-H "content-type: application/json" \
-d '{
"model": "bytedance/seedance-2.0-mini",
"prompt": "a paper boat crossing a puddle at dusk",
"duration_seconds": 5,
"resolution": "720p"
}'
You get a 402 with the exact price before you commit to paying. Sign it, retry, poll the job. No API key, no account — the wallet is the identity, on Base or Solana.
Full parameter reference: Video Generation.
The number to check
Every figure above came from a live call, not from a rate card. If you want to
verify the price before spending anything, send the request without payment and
decode the x-payment-required header — that is the amount the gateway signs,
and it is the only price that is binding.