SeedanceAPI

API Documentation

Complete Seedance 2.0 API reference to help you integrate video generation quickly.

Quick Start

Get started with Seedance 2.0 API in three simple steps: get API key, send request, receive video.

1

Get API Key

Register to get key

2

Send Request

Call API to generate

3

Get Video

Download video

Authentication

All API requests must include your API key in the HTTP Header:

Authorization: Bearer YOUR_API_KEY

Keep your API key secure and never expose it in client-side code.

API Endpoints

POST/v1/videos/text-to-video

Text to Video

Generate video from text prompt

POST/v1/videos/image-to-video

Image to Video

Generate video from image

GET/v1/videos/{task_id}

Get Status

Check video generation task status

Code Examples

curl

curl -X POST https://api.seeddanceapi.com/v1/videos/text-to-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A cinematic shot of a futuristic city at sunset",
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "duration": 5
  }'

python

import requests

response = requests.post(
    "https://api.seeddanceapi.com/v1/videos/text-to-video",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "prompt": "A cinematic shot of a futuristic city at sunset",
        "resolution": "1080p",
        "aspect_ratio": "16:9",
        "duration": 5
    }
)

data = response.json()
print(f"Task ID: {data['task_id']}")

node

const axios = require('axios');

const response = await axios.post(
  'https://api.seeddanceapi.com/v1/videos/text-to-video',
  {
    prompt: 'A cinematic shot of a futuristic city at sunset',
    resolution: '1080p',
    aspect_ratio: '16:9',
    duration: 5
  },
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log('Task ID:', response.data.task_id);

Request Parameters

ParameterTypeRequiredDescription
promptstringYesText prompt describing the video you want to generate
image_urlstringConditionalImage URL (required for image-to-video)
resolutionstringNoVideo resolution: 480p, 720p, 1080p
aspect_ratiostringNoAspect ratio: 16:9, 9:16, 4:3, 3:4, 21:9, 1:1
durationintegerNoVideo duration in seconds, max 10s
seedintegerNoRandom seed for reproducible results

Error Handling

API uses standard HTTP status codes and JSON error responses:

200Success
400Bad Request
401Unauthorized
429Rate Limit Exceeded
500Internal Server Error