Build on top of Seedance 2.0, Seedance 2.0 Fast, and Seedance 1.5 Pro using REST endpoints hosted at www.seedance2.ink. The API follows an asynchronous job model and supports both pure text prompts and image-guided requests.
Create your API key in the dashboard, send requests to https://www.seedance2.ink/api/open/v1, and use either polling or webhooks to receive results.
1. Get your API key
Navigate to your dashboard after registration to generate your unique API key.
2. Submit a generation job
Send your prompt and media payload to the API, receive a requestId immediately.
3. Track status and fetch results
Poll the status endpoint to track progress and retrieve your generated video when ready.
Our public API is built on the same generation flow that powers the web application, now exposed through stable, developer-friendly endpoints.
Pricing is billed per second of generated video and varies by model and resolution.
| Model | 480p | 720p | 1080p |
|---|---|---|---|
| Seedance 2.0 | $0.050/s | $0.100/s | $0.200/s |
| Seedance 2.0 Fast | $0.040/s | $0.080/s | $0.160/s |
| Seedance 1.5 Pro | $0.020/s | $0.040/s | $0.080/s |
Example: a 5-second 720p Seedance 2.0 job costs $0.50, which is 40 credits at $0.0125 per credit.
curl -X POST https://www.seedance2.ink/api/open/v1/video/generations \
-H "Authorization: Bearer sd2_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"prompt": "A neon-lit alley in heavy rain, cinematic tracking shot",
"mediaUrls": [
"https://example.com/reference/start-frame.jpg"
],
"aspectRatio": "16:9",
"duration": 5,
"resolution": "720p",
"webhookUrl": "https://your-app.com/webhooks/seedance",
"metadata": {
"orderId": "demo_1001"
}
}'curl https://www.seedance2.ink/api/open/v1/video/generations/req_1234567890 \
-H "Authorization: Bearer sd2_live_your_api_key"
{
"success": true,
"requestId": "req_1234567890",
"status": "succeeded",
"model": "seedance-2.0",
"prompt": "A neon-lit alley in heavy rain, cinematic tracking shot",
"duration": 5,
"aspectRatio": "16:9",
"output": {
"type": "video",
"url": "https://pub-your-bucket.r2.dev/open-api-results/req_1234567890.mp4"
},
"error": null
}Every generation request is handled as an asynchronous task with a predictable lifecycle.
queued: the request has been accepted and is waiting for processing upstream.
processing: the model job is running and the final video is not ready yet.
succeeded / failed / cancelled: the task has finished, and you can fetch the final output or error payload.
Use polling for local development, or set webhookUrl when you want your application to receive completion callbacks automatically.
The current API surface is intentionally small: one create endpoint, one status endpoint, and one models endpoint.
Start building with the Seedance 2.0 API today. Create an account, generate an API key, and make your first request at www.seedance2.ink.