Skip to main content
POST
Create a Seedance 2.0 video generation task
Используйте Playground справа: установите Authorization в Bearer sk-your-api-key (у Token должна быть включена группа SeeDance2), заполните model / content и отправьте. При успешной отправке возвращается задача id; сценарии опроса и загрузки описаны в примерах кода ниже.
Об ошибке Playground «no response received»: это эндпоинт асинхронной задачи, и при нажатии Send в браузере может появиться такое сообщение — проверка безопасности браузера на cross-origin заблокировала ответ, но задача на самом деле была успешно отправлена (проверьте через query endpoint ниже или по логам console). Playground также может только создать задачу; он не может выполнять опрос или загрузку видео. Чтобы запустить полный поток create → poll → download, скопируйте и запустите примеры кода ниже (cURL / Python / Node.js).
Это эндпоинт создания задачи для Seedance 2.0. Text-to-video, first+last/first frame и multi-modal reference-to-video используют его — массив content выбирает режим. Для выбора модели, тарификации, таблицы разрешения/пикселей и FAQ см. Обзор Seedance 2.0.
  • Префикс пути — /seedance/api/v3не удаляйте сегмент /api, и не используйте /v1/videos
  • У Token должна быть включена группа SeeDance2, иначе вы получите «нет доступного канала для этой модели»
  • generate_audio по умолчанию равно true (выходное видео со звуком) — для видео без звука явно передайте false
  • Python requests нужен заголовок "Accept-Encoding": "identity" — без него вы можете столкнуться с ошибкой декодирования gzip, обрезанным non-JSON телом (например, теряется начальный {" и вы получаете только id":"cgt-xxx"}), или периодическими 400
  • Статус успеха — succeeded (а не completed); URL видео находится в content.video_url и истекает через 24 часа

Примеры кода

Справочник параметров

Seedance 2.0 не поддерживает frames, camera_fixed или service_tier (только online inference) — это параметры Seedance 1.x, и они будут проигнорированы или отклонены.

Режимы генерации (сочетания контента)

Три режима для image являются взаимоисключающими. Для image поддерживаются публичные URL, Base64 (data:image/png;base64,...) и asset ID (asset://...). Входные данные, содержащие реальные человеческие лица, отклоняются. Audio нужно отправлять вместе как минимум с одним image или video. Для кода сквозной работы с asset reference (ingest → asset:// → generate → download) см. Руководство по Asset Reference.

Формат ответа

Создание возвращает только ID задачи (не видео):
Опросите GET /seedance/api/v3/contents/generations/tasks/{id}. Успешная задача выглядит так (реальный пример из наших тестов):
  • URL видео находится в content.video_url, а не на верхнем уровне; это подписанная ссылка, которая истекает через 24 часа — скачайте сразу
  • Автомат состояний: queued → running → succeeded / failed / expired; успех — succeeded
  • Скачивайте ссылку обычным GET — не отправляйте заголовок Authorization на подписанный URL
usage.completion_tokens — это количество token для тарификации и соответствует tokens ≈ duration × width × height × 24 / 1024 (с погрешностью до 0,1% в наших тестах). При duration: -1 или ratio: adaptive фактическая длина и соотношение указываются в полях ответа duration / ratio.

Авторизации

Authorization
string
header
обязательно

API key from the APIYI console (Token must have the SeeDance2 group enabled)

Тело

application/json
model
enum<string>
обязательно

Model ID (plain ID, no ep- prefix). Standard supports 1080p; fast caps at 720p but generates faster — both bill at the same rate on APIYI

Доступные опции:
doubao-seedance-2-0-260128,
doubao-seedance-2-0-fast-260128
Пример:

"doubao-seedance-2-0-fast-260128"

content
object[]
обязательно

Input array. Text-to-video: a single text item. Image-to-video: add image_url items (role: first_frame / last_frame). Multi-modal reference-to-video: 0-9 image_url items (role: reference_image) plus optional 0-3 video_url / 0-3 audio_url (at least 1 image or 1 video; can create / edit / extend videos). The three image modes are mutually exclusive

resolution
enum<string>
по умолчанию:720p

Resolution tier (defines pixel area — every ratio in a tier costs the same). 1080p is not available on the fast model

Доступные опции:
480p,
720p,
1080p
ratio
enum<string>
по умолчанию:adaptive

Aspect ratio. adaptive auto-fits the input (recommended for image-to-video to avoid cropping); the actual ratio is returned in the task's ratio field

Доступные опции:
16:9,
4:3,
1:1,
3:4,
9:16,
21:9,
adaptive
duration
integer
по умолчанию:5

Video length in whole seconds, 4-15; or -1 to let the model choose (billed by actual output). Cost scales linearly with duration

Пример:

5

generate_audio
boolean
по умолчанию:true

Generate synchronized audio (voice, SFX, background music; mono). Note it DEFAULTS TO TRUE — pass false explicitly for silent video

watermark
boolean
по умолчанию:false

Add an AI-generated watermark in the bottom-right corner

seed
integer
по умолчанию:-1

Random seed, [-1, 2^32-1]. The same seed produces similar (not identical) results; -1 means random

return_last_frame
boolean
по умолчанию:false

Return the last frame as a watermark-free png (same dimensions as the video) — chain it as the first frame of the next task to produce continuous multi-clip videos

execution_expires_after
integer
по умолчанию:172800

Task expiry threshold in seconds; tasks exceeding it are marked expired. Range [3600, 259200]

Ответ

Task created. Returns the task ID for polling

Creation response. Poll GET /seedance/api/v3/contents/generations/tasks/{id}; on success the video URL is at content.video_url (expires in ~24 h) and billed tokens at usage.completion_tokens

id
string

Video generation task ID (kept for 7 days)

Пример:

"cgt-20260606160057-6bbjd"