Seedance 2.0 API Documentation
Complete guide to integrating the Seedance 2.0 Video Generation API into your applications.
Quick Start
| 1 | curl -X POST 'https://seedanceapi.org/v1/generate' \ |
| 2 | -H 'Authorization: Bearer YOUR_API_KEY' \ |
| 3 | -H 'Content-Type: application/json' \ |
| 4 | -d '{ |
| 5 | "prompt": "A cinematic shot of mountains at sunrise with flowing clouds", |
| 6 | "aspect_ratio": "16:9", |
| 7 | "resolution": "720p", |
| 8 | "duration": "8" |
| 9 | }' |
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
| 1 | Authorization: Bearer YOUR_API_KEY |
Pricing
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 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
/v1/generateCreate a new video generation task using Seedance 2.0 model. Supports text-to-video and image-to-video modes.
Request Body
Text description of the video to generate (max 2000 characters)
Output aspect ratio. Supported: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21 Defaults to 1:1.
Video resolution: 480p or 720p Defaults to 720p.
Video duration in seconds: 4, 8, or 12 Defaults to 8.
Enable AI audio generation for the video Defaults to false.
Lock the camera lens to reduce motion blur Defaults to false.
Array of reference image URLs for image-to-video generation (max 1 image)
Webhook URL for async status notifications. Must be publicly accessible (no localhost).
Text to Video
| 1 | { |
| 2 | "prompt": "A majestic eagle soaring through golden sunset clouds over ocean waves", |
| 3 | "aspect_ratio": "16:9", |
| 4 | "resolution": "720p", |
| 5 | "duration": "8" |
| 6 | } |
Image to Video
| 1 | { |
| 2 | "prompt": "The character slowly turns and smiles at the camera", |
| 3 | "image_urls": [ |
| 4 | "https://example.com/my-image.jpg" |
| 5 | ], |
| 6 | "aspect_ratio": "16:9", |
| 7 | "resolution": "720p", |
| 8 | "duration": "4" |
| 9 | } |
With Audio Generation
| 1 | { |
| 2 | "prompt": "A peaceful river flowing through a forest with birds singing", |
| 3 | "aspect_ratio": "16:9", |
| 4 | "resolution": "720p", |
| 5 | "duration": "8", |
| 6 | "generate_audio": true, |
| 7 | "fixed_lens": true |
| 8 | } |
Responses
Task created successfully
| 1 | { |
| 2 | "code": 200, |
| 3 | "message": "success", |
| 4 | "data": { |
| 5 | "task_id": "seed15abc123def456pro", |
| 6 | "status": "IN_PROGRESS" |
| 7 | } |
| 8 | } |
/v1/statusCheck the status of a video generation task and retrieve the result when completed.
Query Parameters
The unique task ID returned from the generate endpoint
Example Request
| 1 | curl -X GET 'https://seedanceapi.org/v1/status?task_id=seed15abc123def456pro' \ |
| 2 | -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.
| 1 | // Extract video URL from response |
| 2 | const videoUrl = data.response[0]; |
Responses
| 1 | { |
| 2 | "code": 200, |
| 3 | "message": "success", |
| 4 | "data": { |
| 5 | "task_id": "seed15abc123def456pro", |
| 6 | "status": "SUCCESS", |
| 7 | "consumed_credits": 28, |
| 8 | "created_at": "2026-02-07T10:30:00Z", |
| 9 | "request": { |
| 10 | "prompt": "A majestic eagle soaring through golden sunset clouds", |
| 11 | "aspect_ratio": "16:9", |
| 12 | "resolution": "720p", |
| 13 | "duration": "8" |
| 14 | }, |
| 15 | "response": [ |
| 16 | "https://cdn.example.com/videos/seed15abc123def456pro.mp4" |
| 17 | ], |
| 18 | "error_message": null |
| 19 | } |
| 20 | } |
API Playground
Test the API directly from your browser. Replace YOUR_API_KEY with your actual API key.
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 |