999 of every 1,000 tasks succeedSucceededFailed
Seedance 2.0generation success rate99.9%Finished tasks over the last 30 days; cancellations, moderation rejections and invalid parameters are excluded.
aitoken.tools: call Seedance 2.0 video generation with one API key. Submission, polling, callbacks and billing all line up under one task ID, settled on actual usage.
999 of every 1,000 tasks succeedSucceededFailed
The China site bills in CNY.
The background is a procedurally generated illustration.
One call, four things back
From submission to reconciliation, every piece carries the same task ID. Below is a 720p task with the duration left to the model, priced at this site’s current rates.
Submit with an Idempotency-Key. If the network hiccups, retry with the same key — no second task, no second charge.
POST /v1/videos/generationsduration -1: the model decidescurl https://cn-api.aitoken.tools/v1/videos/generations \ -H "Authorization: Bearer $AITOKEN_API_KEY" \ -H "Idempotency-Key: order-A1001-v1" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.0-standard", "prompt": "Slow push-in on a mountain town in morning mist", "duration": -1, "resolution": "720p", "ratio": "16:9", "callback_url": "https://example.com/hooks/video" }'You get 202 and a task ID right away. When the model picks the duration, we reserve ¥12.15 against the 15-second maximum.
HTTP/1.1 202 AcceptedReserved for 15 s max{ "id": "task_01a18c6a3f197896b3e61f7f40fa4858", "object": "video.generation", "status": "queued", "model": "seedance-2.0-standard", "request_id": "req_7f3b9c2e41d84a06", "created_at": "2026-10-30T11:40:02Z", "deadline_at": "2026-10-30T13:40:02Z", "billing": { "currency": "CNY", "status": "reserved", "reserved_amount": "12.150000", "charged_amount": null } }When generation finishes, a signed callback goes to your callback_url — exactly one final result per task.
Webhook · task.succeededSigned, delivered oncePOST /hooks/video X-Webhook-Id: evt_5d0c1e7a92b4 X-Webhook-Attempt: 1 X-Signature: t=1793360594,v1=9c4e…a1f0 { "type": "task.succeeded", "data": { "id": "task_01a18c6a3f197896b3e61f7f40fa4858", "status": "succeeded", "usage": [{ "type": "output_tokens", "value": 175437 }], "billing": { "status": "settled", "charged_amount": "6.500000", "released_amount": "5.650000" } } }The actual output is 8 seconds, so ¥6.50 is charged and the remaining ¥5.65 goes straight back to your available credit.
Credit historyStarting balance ¥500.00Time Type Amount Available 19:40:02 ReserveTask submitted, maximum reserved −¥12.15 ¥487.85 19:43:14 Settle175,437 tokens used, taken from the reservation ¥6.50 ¥487.85 19:43:14 ReleaseUnused reservation returned +¥5.65 ¥493.50 Total cost of this task ¥6.50
curl https://cn-api.aitoken.tools/v1/videos/generations \
-H "Authorization: Bearer $AITOKEN_API_KEY" \
-H "Idempotency-Key: order-A1001-v1" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-standard",
"prompt": "Slow push-in on a mountain town in morning mist",
"duration": -1,
"resolution": "720p",
"ratio": "16:9",
"callback_url": "https://example.com/hooks/video"
}'Pay for the tokens you use
Usage = (input video length + output length) × width × height × frame rate ÷ 1024. We reserve the maximum at submission and settle on actual usage when the task ends, rounded up to the cent.
| Seedance 2.0 Fast Without video input (per 1M tokens) | 480p¥37 | 720p¥37Most popular |
|---|---|---|
| With video input (per 1M tokens) | ¥22 | ¥22 |
| 16:9 output size | 864 × 480 | 1280 × 720 |
| 5-second 16:9 text-to-video | ¥1.84 | ¥4.07 |
| All models, capabilities and prices | Sign up to try | Sign up to try |
| Resolution | Per 1M tokens | With video input | 5-sec video |
|---|---|---|---|
| 480p | ¥37 | ¥22 | ¥1.84 |
| 720p | ¥37 | ¥22 | ¥4.07 |
Arrival of a Train, 1897
The Lumière brothers shot this sub-one-minute scene on a hand-cranked Cinématographe — a single machine that could both film and project. Today, a shot of up to 15 seconds takes one prompt and one API call.


First, sign up with your email
We email you a 6-digit code; once verified, you land straight in the console. Signing up is free.
Sign upFour modes,one endpoint
See the full capability tableWrite a single prompt and the model generates every frame.
promptresolutiondurationratioFAQ
Over recently finished tasks: successes ÷ (successes + failures). Tasks you cancel, tasks rejected by content moderation and tasks with invalid parameters are not counted.
Over recently finished tasks: successes ÷ (successes + failures). Tasks you cancel, tasks rejected by content moderation and tasks with invalid parameters are not counted.