Seedance 2.0
Seedance 2.0
DocumentationGetting Started

API Overview

Authenticate, submit generation jobs, poll status, and receive webhooks with the Seedance 2.0 Open API.

API Overview

The Seedance 2.0 Open API lets you submit asynchronous video generation jobs from your own product and retrieve the result when processing completes.

Base URL

https://www.seedance2.ink

Authentication

All Open API requests use a Bearer token created in your Seedance dashboard.

Authorization: Bearer sd2_live_your_api_key

If the API key is missing, revoked, expired, or invalid, the server returns:

{
  "success": false,
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key"
  }
}

Workflow

  1. Create an API key in your Seedance dashboard.
  2. Submit a generation request with POST /api/open/v1/video/generations.
  3. Save the returned requestId.
  4. Poll GET /api/open/v1/video/generations/{requestId} until the task reaches a terminal status.
  5. Optionally receive a webhook when the task finishes.

Core Endpoints

MethodEndpointPurpose
GET/api/open/v1/modelsList available models, durations, aspect ratios, resolutions, and pricing metadata.
POST/api/open/v1/video/generationsSubmit a new video generation task.
GET/api/open/v1/video/generations/{requestId}Query task status and retrieve the output URL when ready.
POST/api/open/v1/video/generations/{requestId}/cancelCancel a queued or processing task.

Available Models

ModelBest forSupported durationsResolutions
seedance-2.0Highest quality, multimodal generation4-15 seconds480p, 720p, 1080p
seedance-2.0-fastFaster turnaround4-15 seconds480p, 720p, 1080p
seedance-1.5-proLower-cost fallback workloads5 or 10 seconds480p, 720p, 1080p

Supported aspect ratios:

  • 16:9
  • 9:16
  • 1:1

Status Values

StatusMeaning
queuedThe request was accepted and is waiting for processing.
processingThe generation is currently running.
succeededThe task finished successfully and output.url is available.
failedThe task failed. Check the error object for details.
cancelledThe task was cancelled before completion.

Models Endpoint Example

curl https://www.seedance2.ink/api/open/v1/models
{
  "success": true,
  "data": [
    {
      "id": "seedance-2.0",
      "type": "video_generation",
      "mode": "image_to_video",
      "durations": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
      "aspectRatios": ["16:9", "9:16", "1:1"],
      "resolutions": ["480p", "720p", "1080p"],
      "usdPerSecond": {
        "480p": 0.05,
        "720p": 0.1,
        "1080p": 0.2
      }
    }
  ]
}

Webhooks

You can receive completion events in two ways:

  • Set webhookUrl in an individual generation request.
  • Configure a default webhook URL for the API key in your dashboard.

When both are present, the per-request webhookUrl takes priority.

If your API key has a webhook secret configured, webhook requests also include:

x-seedance-signature: <hex_sha256_hmac>

Completion webhook payload:

{
  "success": true,
  "requestId": "req_1234567890",
  "status": "succeeded",
  "output": {
    "type": "video",
    "url": "https://pub-your-bucket.r2.dev/open-api-results/req_1234567890.mp4"
  },
  "error": null
}

Error Codes

HTTP statusError codeMeaning
400invalid_requestThe request body does not match the expected schema.
401unauthorizedThe API key is invalid or missing.
402insufficient_creditsThe account does not have enough credits to submit the task.
404not_foundThe requested task does not exist for the current API key.
429rate_limitedThe API key exceeded the per-minute limit or monthly quota.
500internal_errorAn unexpected server-side error occurred.

Next Steps

  • Read Text to Video for prompt-only generation.
  • Read Image to Video for first-frame and reference-based generation.

Table of Contents

API OverviewBase URLAuthenticationWorkflowCore EndpointsAvailable ModelsStatus ValuesModels Endpoint ExampleWebhooksError CodesNext Steps