Seedance 2.5 / Character / 2.0 · open API

Seedance API

Integrate Seedance 2.5, 2.5 Character, 2.0 Character, 2.0, and 1.5 through one REST endpoint with multimodal references, up to 30-second output, and Bearer-key auth.

Also searched as: seedance api, seed dance api, seeddance api, seadance api.

One REST endpoint

POST /api/v1/videos to create a task, GET /api/v1/videos/{id} to poll, GET /api/v1/models to list models.

Text, image & reference inputs

Seedance 2.5 accepts up to 30 images, 10 videos, and 10 audio files, 50 total; each reference video / audio must last 2–15s and images must stay within 4K.

Per-second billing, auto refund

Seedance 2.5 is 50 GP/sec and 2.5 Character is 60 GP/sec; 2.0 is 20 GP/sec and 2.0 Character is 30 GP/sec.

Idempotent retries + async lifecycle

Submit with an Idempotency-Key: retrying after timeouts / 5xx never double-creates or double-charges, and tasks are recoverable by key. Poll for the finished video URL.

Get started in three steps

  1. 1Create a Sora2U account and generate an API key in your dashboard.
  2. 2Call POST /api/v1/videos with Authorization: Bearer <key> to start a task (add an Idempotency-Key so retries never double-charge).
  3. 3Poll GET /api/v1/videos/{id} until status is completed, then fetch the video.

cURL

curl https://sora2u.com/api/v1/videos \
  -H "Authorization: Bearer $SORA2U_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5",
    "prompt": "Cinematic dolly shot of a fox walking through autumn woods, soft golden light",
    "duration": 30,
    "aspect_ratio": "9:16",
    "reference_urls": ["https://your-cdn.com/fox.jpg"]
  }'

Node.js

// 1. Create a generation task
const res = await fetch("https://sora2u.com/api/v1/videos", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.SORA2U_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "seedance-2.5", // 50 GP/sec; seedance-2.5-character is 60 GP/sec
    prompt: "Neon city street at night, rain, reflective puddles, slow pan",
    duration: 30,
    aspect_ratio: "9:16",
    reference_urls: ["https://your-cdn.com/city.jpg"],
  }),
});
const { task } = await res.json();

// 2. Poll the task until it is completed
// GET https://sora2u.com/api/v1/videos/${task.id}  ->  status: pending | processing | completed | failed

Full request fields, reference-media upload, error codes, and the task state machine are in the developer API docs.

Seedance API pricing

Per-second billing: Seedance 2.5 is 50 GP/sec and 2.5 Character is 60 GP/sec; 2.0 is 20 GP/sec, 2.0 Character is 30 GP/sec, and 1.5 is 10 GP/sec. Failed jobs auto-refund.

Frequently asked questions

Is there a Seedance API?

Yes. Sora2U exposes POST /api/v1/videos for Seedance 2.5, 2.5 Character, 2.0, 2.0 Character, and 1.5. It uses API-key auth (Authorization: Bearer) and bills per second in GP.

How much does the Seedance API cost?

Billing is per second: Seedance 2.5 is 50 GP/sec, 2.5 Character is 60 GP/sec, 2.0 is 20 GP/sec, 2.0 Character is 30 GP/sec, and 1.5 is 10 GP/sec. Failed jobs are auto-refunded.

Is the Seedance API free?

New accounts get free trial credits to test the API; after that it is pay-as-you-go per second. The Business plan adds higher quota, API access, and a commercial license.

How do I get a Seedance API key?

Sign up, open the API keys section of your dashboard, generate a key, and send it as Authorization: Bearer <key>. The full reference (task creation, reference media, error codes, task state machine, and Node.js / Python samples) lives at /developer/api.

What can the Seedance API generate?

Text-to-video, image-to-video, and video/audio reference workflows. Seedance 2.5 accepts up to 30 images, 10 videos, and 10 audio files, 50 references total, with each reference video/audio lasting 2–15s and reference images staying within 4K. Use GET /api/v1/models for live capabilities and limits.

Seedance 2.5 API — 最大30秒・50件のマルチモーダル参照 | Sora2U | Sora2U — 無料 AI 動画生成プラットフォーム