OrcaRouter поддерживает видеомодели Seedance на том же эндпоинте отправки-и-опроса,
что и Kling. Вы отправляете model: byteplus/dreamina-seedance-2-0-260128,
OrcaRouter маршрутизирует запрос в апстрим Ark
/contents/generations/tasks, а затем вы опрашиваете тот же ID задачи
через OrcaRouter, пока она не будет готова (обычно от 30 секунд до 4 минут
в зависимости от длительности / разрешения / generate_audio).
Текущая доступная модель. Сейчас провижионирована только Seedance 2.0,
под backend-именем byteplus/dreamina-seedance-2-0-260128. Таблица
возможностей ниже перечисляет остальное семейство Seedance для справки,
но они пока не выбираемы в playground и не маршрутизируемы через OrcaRouter —
используйте byteplus/dreamina-seedance-2-0-260128 для каждого запроса
на данный момент.
Эндпоинт отправки POST /v1/video/generations и эндпоинт получения
GET /v1/video/generations/{task_id} общие с Kling.
Меняется тело запроса: Kling использует prompt + image + metadata.{mode, aspect_ratio, image_list, ...}, Seedance использует prompt + metadata.{content[], ratio, duration, generate_audio, watermark, ...}. Префикс в model
выбирает, какая схема будет учтена.
Модели
| Модель | T2V | I2V (первый) | I2V (первый+последний) | Мультимодальная опора¹ | Редактирование видео² | Генерация звука³ | Длительность | Доступно |
|---|
byteplus/dreamina-seedance-2-0-260128 (2.0) | ✓ | ✓ | ✓ | ✓ полностью | ✓ | ✓ | 4 – 15 с | ✓ |
byteplus/seedance-2.0-fast | ✓ | ✓ | ✓ | ✓ полностью | ✓ | ✓ | 4 – 15 с | планируется |
byteplus/seedance-1-5-pro | ✓ | ✓ | ✓ | только изображение | | ✓ | 4 – 12 с | планируется |
byteplus/seedance-1-0-pro | ✓ | ✓ | ✓ | только изображение | | | 2 – 12 с | планируется |
byteplus/seedance-1-0-pro-fast | ✓ | ✓ | | только изображение | | | 2 – 12 с | планируется |
byteplus/seedance-1-0-lite-i2v | | ✓ | ✓ | только изображение | | | 2 – 12 с | планируется |
byteplus/seedance-1-0-lite-t2v | ✓ | | | только изображение | | | 2 – 12 с | планируется |
¹ Мультимодальная опора = массив metadata.content[] может нести элементы
image_url / video_url / audio_url с маркерами role
(reference_image / reference_video / reference_audio).
«Полностью» означает, что принимаются комбинации изображения + видео + аудио.
² Редактирование видео = передайте элемент video_url для применения
правок, управляемых промптом, к исходному видео (замена субъекта,
inpainting региона и т. д.).
³ Нативный звук = апстрим автоматически генерирует звуковую дорожку под видео.
Включается через metadata.generate_audio: true.
Эндпоинт отправки одинаков для каждой модели — POST /v1/video/generations.
Меняется лишь то, какие поля metadata учитываются апстримом согласно
таблице выше. См. апстримовую Seedance capability matrix
для авторитетного списка возможностей по каждой модели.
Отправка задачи
Отправьте POST на /v1/video/generations с model, prompt и любыми
специфичными для апстрима параметрами в metadata:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "A girl holding a fox, the girl opens her eyes, looks gently at the camera, the fox hugs affectionately, the camera slowly pulls out, the girl'\''s hair is blown by the wind",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/foxgirl.png" } }
],
"ratio": "16:9",
"duration": 5,
"generate_audio": true,
"watermark": false
}
}'
Ответ содержит ID задачи (тот же конверт, что и у Kling — OrcaRouter нормализует
ответы по провайдерам):
{
"id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
"task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
"object": "video",
"model": "byteplus/dreamina-seedance-2-0-260128",
"status": "queued",
"progress": 0,
"created_at": 1777975188
}
OrcaRouter автоматически оборачивает ваш prompt как текстовый элемент
внутри массива Seedance content[] — вам не нужно передавать элемент
{type: "text"} самостоятельно. Любой текстовый элемент, переданный
в metadata.content[], заменяется на ваш верхнеуровневый prompt. Другие
элементы контента (image_url, video_url, audio_url) проходят без изменений.
Поля тела
Эти поля размещаются внутри metadata. Располагайте их согласно таблицам
вариантов ниже.
| Поле | Тип | Примечания |
|---|
content | array | Элементы мультимодальной опоры. Каждый элемент: {type, image_url? | video_url? | audio_url?, role?}. Пропускайте при чистом text-to-video. |
ratio | string | Соотношение сторон. 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9 / adaptive. adaptive выводит из входных данных. |
duration | integer | Секунды. Допустимый диапазон зависит от модели — см. таблицу выше. |
resolution | string | 480p / 720p / 1080p. По умолчанию 720p. 1080p только на seedance-2.0 / seedance-2.0-fast / seedance-1-5-pro / seedance-1-0-pro / seedance-1-0-pro-fast. |
generate_audio | boolean | Автоматическая генерация синхронной звуковой дорожки. По умолчанию false. Только на seedance-2.0 / 2.0-fast / 1-5-pro. |
watermark | boolean | Наносит водяной знак апстрима. По умолчанию определяется апстримом. |
seed | integer | Случайное зерно для воспроизводимости. |
service_tier | string | default (онлайн) или flex (офлайн / меньший приоритет, более высокая квота). По умолчанию default. |
return_last_frame | boolean | Возвращает последний кадр в виде изображения вместе с MP4. По умолчанию false. |
callback_url | string | URL вебхука — получает изменения статуса вместо опроса (или вместе с ним). |
Форма элемента content[]
Каждый элемент в metadata.content имеет одну из четырёх форм:
{ "type": "image_url", "image_url": { "url": "https://..." }, "role": "first_frame" }
{ "type": "video_url", "video_url": { "url": "https://..." }, "role": "reference_video" }
{ "type": "audio_url", "audio_url": { "url": "https://..." }, "role": "reference_audio" }
{ "type": "text", "text": "..." } // automatically replaced by top-level prompt
Значения role:
role | Назначение |
|---|
first_frame | Закрепить это изображение как первый кадр сгенерированного видео. |
end_frame | Закрепить это изображение как последний кадр (используется с first_frame для i2v по первому+последнему кадру). |
reference_image | Стилевая / субъектная опора (вариант мультимодальной опоры; можно передавать несколько). |
reference_video | Стилевая / движущая опора или исходное видео для редактирования / расширения. |
reference_audio | Фоновая музыка или голосовая опора (генерация аудио-видео). |
Ссылайтесь на опорные элементы внутри промпта с помощью синтаксиса
[Image 1], [Video 1], [Audio 1]. Индекс соответствует порядку в массиве
(с 1, в рамках каждого типа).
Опрос результатов
Используйте ID задачи, возвращённый при отправке:
curl https://api.orcarouter.ai/v1/video/generations/task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw \
-H "Authorization: Bearer sk-orca-..."
Форма ответа обёрнутая (идентично Kling):
{
"code": "success",
"message": "",
"data": {
"task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
"status": "SUCCESS",
"progress": "100%",
"result_url": "https://ark-content-generation-ap-southeast-1.tos-ap-southeast-1.volces.com/.../video.mp4",
"submit_time": 1777975188,
"start_time": 1777975241,
"finish_time": 1777975277,
"fail_reason": ""
}
}
Значения статусов нормализованы к верхнему регистру для всех провайдеров:
| Статус | Апстримовый статус Seedance | Значение |
|---|
NOT_START | (переходное) | Запись задачи создана, ещё не отправлена в обработку |
SUBMITTED | queued | Отправлено в апстрим, ожидает в очереди |
IN_PROGRESS | running | Апстрим выполняет рендеринг |
SUCCESS | succeeded | Готово. data.result_url содержит MP4 |
FAILURE | failed | Неудача. data.fail_reason содержит причину |
Прогресс — это процентная строка ("50%", "100%"), не целое число.
Опрашивайте каждые 5 - 10 секунд. 5-секундный клип 720p обычно завершается
за 30 - 60 секунд; 1080p со звуком или 15-секундные / клипы с мультимодальной
опорой могут занимать 3 - 5 минут.
result_url — это URL с подписью апстрима TOS с коротким TTL — скачайте
или перезалейте быстро, если нужно долгое хранение.
Варианты эндпоинта
Все варианты используют общий POST /v1/video/generations. Какой путь
функционала Seedance обслуживает апстрим, определяется элементами
metadata.content[] и маркерами role — не URL.
Text-to-video
Только model + prompt + опциональные метаданные. Отсутствие элементов
контента означает чистый text-to-video:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Photorealistic style: under a clear blue sky, a vast expanse of white daisy fields stretches out. The camera gradually zooms in on a single daisy with glistening dewdrops on its petals.",
"metadata": {
"ratio": "16:9",
"duration": 5,
"watermark": true
}
}'
Image-to-video — первый кадр
Передайте один элемент изображения с role: "first_frame":
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "the cat starts dancing energetically",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/cat.png" }, "role": "first_frame" }
],
"ratio": "adaptive",
"duration": 5,
"generate_audio": true
}
}'
Image-to-video — первый и последний кадр
Два элемента изображения, по одному для first_frame и end_frame:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Create a 360-degree orbiting camera shot from start to end frame.",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/start.jpg" }, "role": "first_frame" },
{ "type": "image_url", "image_url": { "url": "https://example.com/end.jpg" }, "role": "end_frame" }
],
"ratio": "16:9",
"duration": 6
}
}'
Мультимодальная опора — изображение + видео + аудио
Комбинируйте элементы reference_image / reference_video / reference_audio.
Ссылайтесь на них в промпте через индексы [Image N] / [Video N] / [Audio N]
(с 1, по типам):
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Use the first-person POV framing from [Video 1] throughout, and use [Audio 1] as the background music. First-person POV fruit tea promotional ad: [Image 1] hands pick a dew-covered apple; [Image 2] holds the finished drink up to the camera.",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/tea_pic1.jpg" }, "role": "reference_image" },
{ "type": "image_url", "image_url": { "url": "https://example.com/tea_pic2.jpg" }, "role": "reference_image" },
{ "type": "video_url", "video_url": { "url": "https://example.com/tea_video1.mp4" }, "role": "reference_video" },
{ "type": "audio_url", "audio_url": { "url": "https://example.com/tea_audio1.mp3" }, "role": "reference_audio" }
],
"ratio": "16:9",
"duration": 11,
"generate_audio": true,
"watermark": false
}
}'
Доступно на seedance-2.0 и seedance-2.0-fast (полные комбинации
изображение + видео + аудио); seedance-1-5-pro и seedance-1-0-* принимают
только элементы reference_image.
Редактирование / расширение видео
Передайте {type: "video_url", role: "reference_video"} и попросите промптом
изменить или расширить его:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Change all the fruits in [Video 1] into fresh fruits.",
"metadata": {
"content": [
{ "type": "video_url", "video_url": { "url": "https://example.com/source.mp4" }, "role": "reference_video" }
],
"ratio": "adaptive",
"duration": 6
}
}'
Доступно только на seedance-2.0 и seedance-2.0-fast.
Вебхуки
Передайте metadata.callback_url: "https://your.domain/webhook", чтобы получать
POST при переходе задачи в SUCCESS или FAILURE. Полезная нагрузка повторяет
ответ опроса. Если вы установите и опрос, и колбэк, вы получите оба —
они независимы.
Тарификация
OrcaRouter прозрачно передаёт апстримовое списание по токенам за задачу
без наценки. Итоговая стоимость соответствует опубликованному прайс-листу
ByteDance Ark (апстримовые completion_tokens / total_tokens из результата
задачи конвертируются в квоту по ставке за токен модели, заданной в
вашей конфигурации Channel Margin).
Небольшой предварительный холд резервируется при отправке; разница
рассчитывается при успехе. См. Operations / Billing & Usage.
См. также