Seedance 2.0 Actual Billing: Why There Is No Fixed Per-Second Price
Seedance 2.0 Actual Billing: Output Tokens First, Per-Second Cost Afterward
Customers often ask a simple question: how much does Seedance 2.0 cost per second? The accurate answer is that Seedance 2.0 is not billed by a universal fixed second rate. It is billed by actual output tokens returned after the task completes.
Seedance 2.0 billing guide
Core takeaway
The correct billing flow is:
submit task -> task completes -> upstream returns usage tokens -> calculate USD by tokens -> convert to Crazyrouter quota
It is **not**:
submit task -> charge directly by requested duration seconds
So we should not say:
1 second = fixed N tokens
Instead, after the task finishes, we can calculate:
observed tokens/sec = billedTokens / requestedDurationSeconds observed USD/sec = actualPriceUSD / requestedDurationSeconds
This is an observed value for that task, not a universal fixed rate.
Current public capability boundary
Current public capability boundary for `doubao-seedance-2-0` and `doubao-seedance-2-0-fast`:
`480p` supported
`720p` supported
`1080p` is not currently in the public supported range
The measured examples below use `720p` and `4s`.
Billing rules
Seedance 2.0 billing mainly depends on whether the request contains video input.
| Model | Condition | Billing key | Unit price |
|---|---|---|---|
| `doubao-seedance-2-0` | no video input | `doubao-seedance-2-0:video0` | `46 / 7 USD / 1M tokens` |
| `doubao-seedance-2-0` | with video input | `doubao-seedance-2-0:video1` | `28 / 7 USD / 1M tokens` |
| `doubao-seedance-2-0-fast` | no video input | `doubao-seedance-2-0-fast:video0` | `37 / 7 USD / 1M tokens` |
| `doubao-seedance-2-0-fast` | with video input | `doubao-seedance-2-0-fast:video1` | `22 / 7 USD / 1M tokens` |
`video0` means there is no video reference input. `video1` means the request includes video reference input, such as `reference_video`.
Final billing formula
After a successful task, the system first reads `TotalTokens`. If unavailable, it falls back to `CompletionTokens`.
actualPriceUSD = unitPriceUSDPer1MTokens * (billedTokens / 1_000_000) * quantityMultiplier * groupRatio * discount
Without extra multipliers or discounts:
actualPriceUSD = unitPriceUSDPer1MTokens * billedTokens / 1_000_000
Crazyrouter quota conversion:
actualQuota = int(actualPriceUSD * QuotaPerUnit) QuotaPerUnit = 500000
Seedance 2.0 billing calculator
Measured case 1: text to video
Request profile:
Read the full English guide














