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_KEY

Pricing

480p

480p Resolution

Fast generation, suitable for previews and drafts

DurationWithout AudioWith Audio
4s8 credits ($0.04)14 credits ($0.07)
8s14 credits ($0.07)28 credits ($0.14)
12s19 credits ($0.095)38 credits ($0.19)
720p

720p Resolution

High quality output, recommended for production

DurationWithout AudioWith Audio
4s14 credits ($0.07)28 credits ($0.14)
8s28 credits ($0.14)56 credits ($0.28)
12s42 credits ($0.21)84 credits ($0.42)

API Endpoints

POST/v1/generate
Create a new video generation task using Seedance 2.0 model. Supports text-to-video and image-to-video modes.

Request Body

ParameterTypeRequiredDescription
promptstringRequiredText description of the video to generate (max 2000 characters)
aspect_ratiostringOptionalOutput aspect ratio. Supported: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21 (Default: 1:1)
resolutionstringOptionalVideo resolution: "480p" or "720p" (Default: 720p)
durationstringOptionalVideo duration in seconds: "4", "8", or "12" (Default: 8)
generate_audiobooleanOptionalEnable AI audio generation for the video (Default: false)
fixed_lensbooleanOptionalLock the camera lens to reduce motion blur (Default: false)
image_urlsstring[]OptionalArray of reference image URLs for image-to-video generation (max 1 image)
callback_urlstringOptionalWebhook 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/status
Check the status of a video generation task and retrieve the result when completed.

Query Parameters

ParameterTypeRequiredDescription
task_idstringRequiredThe 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

StatusCodeDescription
400 Bad RequestINVALID_PROMPTThe prompt is invalid or empty
400 Bad RequestINVALID_ASPECT_RATIOUnsupported aspect ratio value
400 Bad RequestINVALID_RESOLUTIONResolution must be 480p or 720p
400 Bad RequestINVALID_DURATIONDuration must be 4, 8, or 12 seconds
400 Bad RequestTOO_MANY_IMAGESMaximum 1 image URL allowed in image_urls array
401 UnauthorizedINVALID_API_KEYAPI key is missing or invalid
402 INSUFFICIENT_CREDITSNot enough credits for this operation
404 Not FoundTASK_NOT_FOUNDTask ID not found or does not belong to your account
500 Internal Server ErrorINTERNAL_ERRORServer error, please try again later