API Documentation

Generated videos are stored for 3 days. Download URLs expire with the file.

Authentication

All API requests require a Bearer token:

Authorization: Bearer sk_your_api_token

Models

  • seedance_2_5_bonus — fixed 30s / 720p, 3 credits, prompt up to 8000 characters. Photo and video reference limits come from GET /api/v1/models (typically up to 30 images and 10 videos).
  • seedance_2_bonus — fixed 15s / 720p, 2 credits. Photo references only (typically up to 9 JPEG/PNG); video refs are disabled for this model in the catalog.

Reference types (photo, video, audio) and maxCount per model are listed in references on GET /api/v1/models (cached ~5 minutes).

Create video

One reference image:

POST /api/v1/videos/generate
Content-Type: application/json

{
  "model": "seedance_2_5_bonus",
  "prompt": "A cat walking in the rain",
  "aspect_ratio": "16:9",
  "image_url": "https://public-url/image.png"
}

Multiple reference images:

POST /api/v1/videos/generate
Content-Type: application/json

{
  "model": "seedance_2_5_bonus",
  "prompt": "A cat walking in the rain",
  "aspect_ratio": "16:9",
  "content": [
    {
      "type": "image_url",
      "image_url": { "url": "https://public-url/first.png" },
      "role": "reference_image"
    },
    {
      "type": "image_url",
      "image_url": { "url": "https://public-url/second.png" },
      "role": "reference_image"
    }
  ]
}

Get status

GET /api/v1/videos/{id}

Response includes expires_at (3 days retention).

Download

GET /api/v1/videos/{id}/download

OpenAPI JSON →

Loading…