Seedance 2.0 API Documentation
Complete guide to integrating the Seedance 2.0 Video Generation API into your applications.
API v1.0 Base URL: https://seedanceapi.org/v1
Quick Start
bash
curl -X POST 'https://seedanceapi.org/v1/generate' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"prompt": "A cinematic shot of mountains at sunrise with flowing clouds",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8"
}'Authentication
All API requests require authentication using a Bearer token in the Authorization header.
Important: You can get your API key from the API Keys page in your dashboard. → Get Your API Key
http
Authorization: Bearer YOUR_API_KEYPricing
480p
480p Resolution
Fast generation, suitable for previews and drafts
| Duration | Without Audio | With Audio |
|---|---|---|
| 4s | 8 credits ($0.04) | 14 credits ($0.07) |
| 8s | 14 credits ($0.07) | 28 credits ($0.14) |
| 12s | 19 credits ($0.095) | 38 credits ($0.19) |
720p
720p Resolution
High quality output, recommended for production
| Duration | Without Audio | With Audio |
|---|---|---|
| 4s | 14 credits ($0.07) | 28 credits ($0.14) |
| 8s | 28 credits ($0.14) | 56 credits ($0.28) |
| 12s | 42 credits ($0.21) | 84 credits ($0.42) |
API Endpoints
POST
/v1/generateCreate a new video generation task using Seedance 2.0 model. Supports text-to-video and image-to-video modes.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Required | Text description of the video to generate (max 2000 characters) |
aspect_ratio | string | Optional | Output aspect ratio. Supported: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21 (Default: 1:1) |
resolution | string | Optional | Video resolution: "480p" or "720p" (Default: 720p) |
duration | string | Optional | Video duration in seconds: "4", "8", or "12" (Default: 8) |
generate_audio | boolean | Optional | Enable AI audio generation for the video (Default: false) |
fixed_lens | boolean | Optional | Lock the camera lens to reduce motion blur (Default: false) |
image_urls | string[] | Optional | Array of reference image URLs for image-to-video generation (max 1 image) |
callback_url | string | Optional | Webhook URL for async status notifications. Must be publicly accessible (no localhost). |
Text to Video
json
{
"prompt": "A majestic eagle soaring through golden sunset clouds over ocean waves",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8"
}Image to Video
json
{
"prompt": "The character slowly turns and smiles at the camera",
"image_urls": [
"https://example.com/my-image.jpg"
],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "4"
}With Audio Generation
json
{
"prompt": "A peaceful river flowing through a forest with birds singing",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"generate_audio": true,
"fixed_lens": true
}Responses
Task created successfully
{
"code": 200,
"message": "success",
"data": {
"task_id": "seed15abc123def456pro",
"status": "IN_PROGRESS"
}
}GET
/v1/statusCheck the status of a video generation task and retrieve the result when completed.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | Required | The unique task ID returned from the generate endpoint |
Example Request
bash
curl -X GET 'https://seedanceapi.org/v1/status?task_id=seed15abc123def456pro' \
-H 'Authorization: Bearer YOUR_API_KEY'💡 Tip: The response field in the status API is an array of video URLs. You can directly access data.response[0] to get the video URL.
javascript
// Extract video URL from response
const videoUrl = data.response[0];Responses
{
"code": 200,
"message": "success",
"data": {
"task_id": "seed15abc123def456pro",
"status": "SUCCESS",
"consumed_credits": 28,
"created_at": "2026-02-07T10:30:00Z",
"request": {
"prompt": "A majestic eagle soaring through golden sunset clouds",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8"
},
"response": [
"https://cdn.example.com/videos/seed15abc123def456pro.mp4"
],
"error_message": null
}
}API Playground
Test the API directly from your browser. Replace YOUR_API_KEY with your actual API key.
API PlaygroundPOST
Error Codes
| Status | Code | Description |
|---|---|---|
| 400 Bad Request | INVALID_PROMPT | The prompt is invalid or empty |
| 400 Bad Request | INVALID_ASPECT_RATIO | Unsupported aspect ratio value |
| 400 Bad Request | INVALID_RESOLUTION | Resolution must be 480p or 720p |
| 400 Bad Request | INVALID_DURATION | Duration must be 4, 8, or 12 seconds |
| 400 Bad Request | TOO_MANY_IMAGES | Maximum 1 image URL allowed in image_urls array |
| 401 Unauthorized | INVALID_API_KEY | API key is missing or invalid |
| 402 | INSUFFICIENT_CREDITS | Not enough credits for this operation |
| 404 Not Found | TASK_NOT_FOUND | Task ID not found or does not belong to your account |
| 500 Internal Server Error | INTERNAL_ERROR | Server error, please try again later |