Seedance 2.0 API Documentation
Integrate Seedance 2.0, 2.0 Fast, and Seedance 2.0 Mini via API v2: text-to-video and image-to-video.
Quick Start
| 1 | curl -X POST 'https://seedanceapi.org/v2/generate' \ |
| 2 | -H 'Authorization: Bearer YOUR_API_KEY' \ |
| 3 | -H 'Content-Type: application/json' \ |
| 4 | -d '{ |
| 5 | "prompt": "A cinematic aerial shot over coastline at golden hour", |
| 6 | "aspect_ratio": "16:9", |
| 7 | "duration": 10, |
| 8 | "model": "seedance-2.0" |
| 9 | }' |
Authentication
All API requests require a Bearer token in the Authorization header.
Important: Get your API key from the API Keys page in your dashboard. → Get Your API Key
| 1 | Authorization: Bearer YOUR_API_KEY |
Pricing (credits)
Credits are deducted per generation based on duration, resolution, input type, and model. See the tables below.
Need to recharge credits? → Top up on the pricing page. 1 USD = 100 credits.
Seedance 2.0 (standard)
Higher quality; more credits per second than Fast.
| Duration | Credits |
|---|---|
| 5s | 240 credits |
| 10s | 480 credits |
| 15s | 720 credits |
Seedance 2.0 Fast
Faster turnaround and lower credit use than standard.
| Duration | Credits |
|---|---|
| 5s | 160 credits |
| 10s | 320 credits |
| 15s | 480 credits |
Seedance 2.0 Mini
Flexible Mini variant with 4–15s duration, 480p/720p output, and broader aspect ratios.
| Resolution | Input | Credits |
|---|---|---|
| 480p | text / image | ceil(14.25 × seconds) |
| 480p | with reference_video_urls | 9 × seconds |
| 720p | text / image | ceil(30.75 × seconds) |
| 720p | with reference_video_urls | ceil(18.75 × seconds) |
Mini billing is calculated as upstream KIE credits per second plus 50%, rounded up when the final amount is fractional. Passing reference_video_urls uses the lower video-input rate.
API Endpoints
/v2/generateStart a Seedance 2.0, 2.0 Fast, or Seedance 2.0 Mini job. Text-to-video uses prompt + aspect_ratio; image-to-video uses prompt + images.
Request Body
Text prompt (required, max 2000 characters)
Seconds: 5, 10, or 15 for 2.0 / Fast; any integer from 4 to 15 for Mini. Defaults to 5.
Output resolution: 480p, 720p, or 1080p. Mini supports 480p and 720p; 1080p is billed and sent upstream as 720p for Mini. Defaults to 720p.
For text-to-video: 16:9, 9:16, 4:3, or 3:4. Mini also supports 1:1, 21:9, and adaptive. Defaults to 16:9 (text-to-video only).
For image-to-video: 1–4 image URLs (http/https)
Optional Mini-compatible reference video URLs. When provided, Mini uses the video-input pricing rate.
Optional reference audio URLs for Mini-compatible generation.
Optional: seedance-2.0 (default), seedance-2.0-fast, or seedance-2-mini Defaults to seedance-2.0.
Optional webhook for async notifications (public URL; no localhost)
Optional: mark task visibility for gallery features when supported
Text to video
| 1 | { |
| 2 | "prompt": "A slow dolly shot through a neon-lit street in the rain", |
| 3 | "aspect_ratio": "16:9", |
| 4 | "duration": 10, |
| 5 | "model": "seedance-2.0" |
| 6 | } |
Image to video
| 1 | { |
| 2 | "prompt": "The subject walks forward and looks at the camera", |
| 3 | "images": [ |
| 4 | "https://example.com/reference.jpg" |
| 5 | ], |
| 6 | "duration": 5, |
| 7 | "model": "seedance-2.0" |
| 8 | } |
Fast variant
| 1 | { |
| 2 | "prompt": "Sunrise over misty mountains with birds crossing the frame", |
| 3 | "aspect_ratio": "9:16", |
| 4 | "duration": 15, |
| 5 | "model": "seedance-2.0-fast" |
| 6 | } |
Mini variant
| 1 | { |
| 2 | "prompt": "A compact product demo with smooth camera motion and clean lighting", |
| 3 | "aspect_ratio": "1:1", |
| 4 | "resolution": "720p", |
| 5 | "duration": 8, |
| 6 | "model": "seedance-2-mini" |
| 7 | } |
Responses
Task created
| 1 | { |
| 2 | "code": 200, |
| 3 | "message": "success", |
| 4 | "data": { |
| 5 | "task_id": "n90a1b2c3d4e5f6sd20", |
| 6 | "status": "IN_PROGRESS", |
| 7 | "consumed_credits": 480 |
| 8 | } |
| 9 | } |
/v2/statusPoll by task_id until status is SUCCESS or FAILED; video URL is in response.
Query Parameters
Task id returned by POST /v2/generate
Example Request
| 1 | curl -X GET 'https://seedanceapi.org/v2/status?task_id=n90a1b2c3d4e5f6sd20' \ |
| 2 | -H 'Authorization: Bearer YOUR_API_KEY' |
Tip: When status is SUCCESS, data.response is an array of video URLs; use data.response[0] for the first URL.
| 1 | const videoUrl = data.response[0]; |
Responses
| 1 | { |
| 2 | "code": 200, |
| 3 | "message": "success", |
| 4 | "data": { |
| 5 | "task_id": "n90a1b2c3d4e5f6sd20", |
| 6 | "status": "SUCCESS", |
| 7 | "consumed_credits": 480, |
| 8 | "created_at": "2026-04-03T10:30:00Z", |
| 9 | "request": { |
| 10 | "prompt": "A slow dolly shot…", |
| 11 | "aspect_ratio": "16:9", |
| 12 | "duration": 10 |
| 13 | }, |
| 14 | "response": [ |
| 15 | "https://cdn.example.com/videos/n90a1b2c3d4e5f6sd20.mp4" |
| 16 | ], |
| 17 | "error_message": null |
| 18 | } |
| 19 | } |
API Playground
Try the API in the browser. Replace YOUR_API_KEY with your real key.
Error Codes
| Status | Code | Description |
|---|---|---|
| 400 不正なリクエスト | INVALID_PROMPT | Prompt missing or invalid |
| 400 不正なリクエスト | INVALID_ASPECT_RATIO | Unsupported aspect_ratio for the selected model |
| 400 不正なリクエスト | INVALID_DURATION | duration must be 5, 10, or 15 for 2.0 / Fast, or 4–15 for Mini |
| 400 不正なリクエスト | TOO_MANY_IMAGES | Too many images (max 4) |
| 401 認証エラー | INVALID_API_KEY | API key missing or invalid |
| 402 | INSUFFICIENT_CREDITS | Not enough credits |
| 404 見つかりません | TASK_NOT_FOUND | Task not found |
| 500 サーバー内部エラー | INTERNAL_ERROR | Server error |