label llms.txt open_chatgpt

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.

API v2 · 2.0 / Fast / Mini Base URL: https://seedanceapi.org/v2

Quick Start

bash
1curl -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

http
1Authorization: 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.

2.0

Seedance 2.0 (standard)

Higher quality; more credits per second than Fast.

DurationCredits
5s240 credits
10s480 credits
15s720 credits
Fast

Seedance 2.0 Fast

Faster turnaround and lower credit use than standard.

DurationCredits
5s160 credits
10s320 credits
15s480 credits
Mini

Seedance 2.0 Mini

Flexible Mini variant with 4–15s duration, 480p/720p output, and broader aspect ratios.

ResolutionInputCredits
480ptext / imageceil(14.25 × seconds)
480pwith reference_video_urls9 × seconds
720ptext / imageceil(30.75 × seconds)
720pwith reference_video_urlsceil(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

POST/v2/generate

Start 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

Body ParametersJSON
prompt:string

Text prompt (required, max 2000 characters)

duration:number

Seconds: 5, 10, or 15 for 2.0 / Fast; any integer from 4 to 15 for Mini. Defaults to 5.

resolution:optional string

Output resolution: 480p, 720p, or 1080p. Mini supports 480p and 720p; 1080p is billed and sent upstream as 720p for Mini. Defaults to 720p.

aspect_ratio:optional string

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).

images:optional string[]

For image-to-video: 1–4 image URLs (http/https)

reference_video_urls:optional string[]

Optional Mini-compatible reference video URLs. When provided, Mini uses the video-input pricing rate.

reference_audio_urls:optional string[]

Optional reference audio URLs for Mini-compatible generation.

model:optional string

Optional: seedance-2.0 (default), seedance-2.0-fast, or seedance-2-mini Defaults to seedance-2.0.

callback_url:optional string

Optional webhook for async notifications (public URL; no localhost)

public:optional boolean

Optional: mark task visibility for gallery features when supported

Text to video

json
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

json
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

json
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

json
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}
GET/v2/status

Poll by task_id until status is SUCCESS or FAILED; video URL is in response.

Query Parameters

Body ParametersJSON
task_id:string

Task id returned by POST /v2/generate

Example Request

bash
1curl -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.

javascript
1const 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.

Песочница APIPOST

Error Codes

StatusCodeDescription
400 Неверный запросINVALID_PROMPTPrompt missing or invalid
400 Неверный запросINVALID_ASPECT_RATIOUnsupported aspect_ratio for the selected model
400 Неверный запросINVALID_DURATIONduration must be 5, 10, or 15 for 2.0 / Fast, or 4–15 for Mini
400 Неверный запросTOO_MANY_IMAGESToo many images (max 4)
401 Не авторизованINVALID_API_KEYAPI key missing or invalid
402 INSUFFICIENT_CREDITSNot enough credits
404 Не найденоTASK_NOT_FOUNDTask not found
500 Внутренняя ошибка сервераINTERNAL_ERRORServer error