Reference lock is live. Auto renders on Seedance 2.0 Fast.See the lock
Developer docsREST API · Python and Node SDKs · MCP

Docs

API reference

Base URL http://localhost:3456/api/v1. Authenticate with Authorization: Bearer YOUR_API_KEY.

List models

GET/api/v1/models

{
  "object": "list",
  "data": [
    {
      "id": "seedance-2.5",
      "object": "model",
      "name": "Seedance 2.5",
      "kind": "video",
      "pricing": {
        "cinematic": {
          "credits": 597,
          "unit": "about 10 seconds",
          "available": true
        }
      }
    }
  ]
}

Create a video

POST/api/v1/videos

FieldTypeNotes
character_idstringRequired. A character with a bible.
storystringRequired. A story type or a one-line premise.
durationinteger4 to 30. Default 5.
resolutionstring720p today.
outfitstringOptional wardrobe override for this clip.
settingstringOptional place override for this clip.
dry_runbooleanValidate and price without rendering or charging.
{
  "character_id": "your-character-id",
  "story": "Show the product, then the offer",
  "duration": 8,
  "setting": "A yacht deck at dusk"
}
{
  "id": "vid_mufa1b2c9f3e",
  "object": "video",
  "status": "processing",
  "stage": "Queued",
  "progress": 0.02,
  "model": "seedance-2.5",
  "character_id": "your-character-id",
  "story": "Show the product, then the offer",
  "duration": 8,
  "resolution": "720p",
  "cost_credits": 362,
  "hook": null,
  "spoken_line": null,
  "caption": null,
  "output_url": null,
  "error": null,
  "created_at": "2026-09-24T06:28:52.362Z",
  "balance_credits": 1638
}

Get a video

GET/api/v1/videos/{id}

status is one of processing, succeeded, failed.

{
  "id": "vid_mufa1b2c9f3e",
  "object": "video",
  "status": "succeeded",
  "stage": "Ready",
  "progress": 1,
  "model": "seedance-2.5",
  "character_id": "your-character-id",
  "story": "Show the product, then the offer",
  "duration": 8,
  "resolution": "720p",
  "cost_credits": 362,
  "hook": "He booked the suite to impress me",
  "spoken_line": "He booked the suite to impress me. I was already bored before the door shut.",
  "caption": "He booked the suite.\nI was already bored.",
  "output_url": "http://localhost:3456/api/videos/vid_mufa1b2c9f3e/file",
  "error": null,
  "created_at": "2026-09-24T06:28:52.362Z"
}

List videos

GET/api/v1/videos?limit=20&character_id=your-character-id

{
  "object": "list",
  "data": [
    {
      "id": "vid_mufa1b2c9f3e",
      "object": "video",
      "status": "processing",
      "stage": "Seedance 2.5 is rendering",
      "progress": 0.4,
      "model": "seedance-2.5",
      "character_id": "your-character-id",
      "story": "Show the product, then the offer",
      "duration": 8,
      "resolution": "720p",
      "cost_credits": 362,
      "hook": "He booked the suite to impress me",
      "spoken_line": "He booked the suite to impress me. I was already bored before the door shut.",
      "caption": "He booked the suite.\nI was already bored.",
      "output_url": null,
      "error": null,
      "created_at": "2026-09-24T06:28:52.362Z"
    }
  ],
  "has_more": false
}

List characters

GET/api/v1/characters

{
  "object": "list",
  "data": [
    {
      "id": "your-character-id",
      "object": "character",
      "name": "Your character",
      "niche": "Ultra luxury wealth",
      "city": "Monaco",
      "age": 24,
      "bible": "…"
    }
  ]
}

Create a character

POST/api/v1/characters

Send name and bible, or "design": true with niche, city, age, glam, hair, wardrobe, and setting. Returns 201 with the character.

Chat completions

POST/api/v1/chat/completions

OpenAI-compatible. See OpenAI-compatible chat.

Next

OpenAI-compatible chat →