Перейти к содержимому
Главная

Seedance 2.0

seedance-2-0 Seedance 2.0 поддерживает генерацию видео с мультимодальными референсами, снимая ограничения материалов из одного источника. Она также включает редактирование и продление видео, стабильно сохраняет черты персонажей и дает авторам контроль на уровне режиссера.
  • ID ассета в формате asset://, используемый в image_url, требует сначала создать группу ассетов через seed-asset-create-group, а затем загрузить изображение через seed-asset-create и получить ID.

Эндпоинты

POST /v1/queue/seedance-2-0 # Создать задачу
GET /v1/queue/seedance-2-0/requests/{request_id}/status # Проверить статус
GET /v1/queue/seedance-2-0/requests/{request_id}/response # Получить результат
PUT /v1/queue/seedance-2-0/requests/{request_id}/cancel # Отменить задачу
Окно терминала
curl --request 'POST' 'https://api.odirouter.ai/model/v1/queue/seedance-2-0' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--location \
--data-raw '{
"content": [
{
"type": "text",
"text": "a lady is dancing in reference_video"
},
{
"type": "video_url",
"video_url": {
"url": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4"
},
"role": "reference_video"
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5
}'
content object[] required

Входной контент для генерации видео. Поддерживаются текст, изображения, видео и аудио. Допустимые комбинации:

Только текст

Текст (необязательно) + изображение

Текст (необязательно) + видео

Текст (необязательно) + изображение + аудио

Текст (необязательно) + изображение + видео

Текст (необязательно) + видео + аудио

Текст (необязательно) + изображение + видео + аудио

Информация о тексте object

Текстовая информация, передаваемая модели

type string required

Тип входного контента

Значение: text

text string required

Текстовый промпт, передаваемый модели для описания ожидаемого видео

Поддержка языков промпта: все модели поддерживают китайские и английские промпты. Серия Seedance 2.0 дополнительно поддерживает японский, индонезийский, испанский и португальский языки

Рекомендуемая длина промпта: не более 500 китайских символов или 1000 английских слов. Слишком длинный промпт может рассеивать информацию: модель может игнорировать детали, фокусироваться только на ключевых элементах и пропускать часть объектов в видео

Информация об изображении object

Информация об изображении, передаваемая модели

type string required

Тип входного контента

Значение: image_url

image_url object required

Объект изображения, передаваемый модели

url string required

URL изображения, Base64-строка изображения или ID ассета

URL изображения: укажите публичный URL изображения

Base64-строка: преобразуйте локальный файл в Base64-строку и передайте ее модели. Формат: data:image/<формат изображения>;base64,<Base64-строка>. <формат изображения> должен быть в нижнем регистре, например data:image/png;base64,{base64_image}

ID ассета: ID заранее настроенного ассета или цифрового персонажа в формате asset://<ASSET_ID>

Требования к одному загружаемому изображению:

Формат: jpeg, png, webp, bmp, tiff, gif

Соотношение сторон (ширина/высота): (0.4, 2.5)

Ширина и высота (px): (300, 6000)

Размер: одно изображение должно быть меньше 30 MB. Размер тела запроса не должен превышать 64 MB. Не используйте Base64-кодирование для больших файлов

Количество изображений: первый кадр — 1 изображение; первый и последний кадры — 2 изображения; референсные изображения — 1-9 изображений

role string required

Позиция или назначение изображения

⚠️ Генерация видео по изображению с первым кадром, генерация по первому и последнему кадрам, а также мультимодальная генерация по референсам — взаимоисключающие сценарии, их нельзя использовать одновременно. В мультимодальной генерации по референсам можно указать референсное изображение как первый или последний кадр через промпт, чтобы косвенно получить сценарий "первый и последний кадры + мультимодальный референс". Если нужно строго гарантировать совпадение первого и последнего кадров с заданными изображениями, используйте функцию генерации по первому/последнему кадру и задавайте role как first_frame / last_frame

Изображение в видео (первый кадр):

Передайте 1 объект image_url. Значение role: first_frame или пустое значение

Изображение в видео (первый и последний кадры):

Передайте 2 объекта image_url. Первый кадр: role = first_frame (обязательно). Последний кадр: role = last_frame (обязательно)

Изображение в видео (референсное изображение):

Передайте 1-9 объектов image_url. role = reference_image (обязательно)

Информация о видео object

Видео, передаваемое модели

type string required

Тип входного контента

Значение: video_url

video_url object required

Объект видео, передаваемый модели

url string required

URL видео или ID ассета

Требования к одному входному видео:

Формат: mp4, mov

Разрешение: 480p, 720p, 1080p, 4k

Длительность: каждое видео должно быть [2, 15] секунд. Можно передать до 3 референсных видео, а суммарная длительность всех видео не должна превышать 15s

Соотношение сторон (ширина/высота): [0.4, 2.5]

Ширина и высота (px): [300, 6000]

Общее число пикселей: [640×640=409600, 3326×2494=8295044], то есть произведение ширины и высоты должно попадать в диапазон [409600, 8295044]

Размер: одно видео не более 200 MB

Частота кадров (FPS): [24, 60]

role string required

Позиция или назначение видео

Варианты: reference_video

Информация об аудио object

Аудио, передаваемое модели. При использовании аудио необходимо также передать минимум 1 референсное видео или изображение

type string required

Тип входного контента

Значение: audio_url

audio_url object required

Объект аудио, передаваемый модели

url string required

URL аудио, Base64-строка аудио или ID ассета

URL аудио: укажите публичный URL аудиофайла

Base64-кодирование: преобразуйте локальный файл в Base64-строку и передайте ее модели. Используйте формат data:audio/<формат аудио>;base64,<Base64-данные>. <формат аудио> должен быть в нижнем регистре, например data:audio/wav;base64,{base64_audio}

ID ассета: ID аудиоассета для цифрового персонажа, используемого при генерации видео, в формате asset://<ASSET_ID>. Его можно получить в библиотеке ассетов и виртуальных аватаров

Требования к одному входному аудиофайлу:

Формат: wav, mp3

Длительность: каждый аудиофайл должен быть [2, 15] секунд. Можно передать до 3 референсных аудиофайлов, а суммарная длительность всех аудио не должна превышать 15s

Размер: один аудиофайл не более 15 MB. Размер тела запроса не должен превышать 64 MB. Не используйте Base64-кодирование для больших файлов

role string required

Позиция или назначение аудио

Варианты: reference_audio

generate_audio boolean

Управляет тем, будет ли сгенерированное видео содержать звук, синхронизированный с видеорядом

true: видео содержит синхронизированное аудио. Модель автоматически генерирует подходящую речь, звуковые эффекты и фоновую музыку на основе текстового промпта и визуального контента. Для лучшего результата диалоги рекомендуется заключать в двойные кавычки. Пример: Мужчина остановил женщину и сказал: "Запомни, больше никогда не показывай пальцем на луну."

Примечание: все сгенерированные видео с аудио имеют монофонический звук независимо от числа каналов во входном аудио

false: видео выводится без звука

По умолчанию: true

resolution string

Разрешение видео

По умолчанию: 720p

Варианты: 480p, 720p, 1080p, 4k

По сравнению с обычной глубиной 8 bit, 4k-видео Seedance 2.0 кодируется с глубиной 10 bit, что позволяет сохранить богатые цветовые градации и плавные переходы для профессионального кинопроизводства и HDR-видео

4k-видео использует кодек H.265, который может быть несовместим с некоторыми средами воспроизведения. Если возникнут проблемы, обновите систему, смените устройство или используйте VLC, MPV, QuickTime Player либо другой совместимый плеер

ratio string

Соотношение сторон сгенерированного видео

Если ratio задан как adaptive, модель автоматически подбирает соотношение сторон в зависимости от сценария генерации:

Текст в видео: интеллектуально выбирает наиболее подходящее соотношение сторон по входному промпту

Первый кадр / первый и последний кадры в видео: автоматически выбирает ближайшее соотношение сторон по загруженному первому кадру

Мультимодальная генерация по референсам: выбор зависит от намерения пользователя в промпте. Если это генерация по первому кадру, редактирование видео или продление видео, выбирается ближайшее соотношение сторон по соответствующему изображению или видео; иначе выбирается ближайшее соотношение сторон по первому загруженному медиафайлу (приоритет: видео > изображение)

По умолчанию: adaptive

Варианты: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive

Рекомендуемые значения ширины и высоты для разных соотношений сторон:

480p 720p 1080p
16:9 864x496 16:9 1280x720 16:9 1920x1080
4:3 752x560 4:3 1112x834 4:3 1664x1248
1:1 640x640 1:1 960x960 1:1 1440x1440
3:4 560x752 3:4 834x1112 3:4 1248x1664
9:16 496x864 9:16 720x1280 9:16 1080x1920
21:9 992x432 21:9 1470x630 21:9 2206x946
watermark boolean

Определяет, будет ли сгенерированное видео содержать водяной знак

false: сгенерированное видео не содержит водяной знак

true: в правом нижнем углу видео отображается водяной знак о генерации ИИ

По умолчанию: false

duration integer

Длительность сгенерированного видео в секундах. Поддерживаются только целые числа

Два способа настройки:

Указать конкретную длительность: любое целое число в допустимом диапазоне

Интеллектуальный выбор: задайте -1, и модель самостоятельно выберет подходящую длительность видео (в целых секундах) в допустимом диапазоне. Фактическую длительность сгенерированного видео можно получить из параметра duration, возвращаемого API запроса задачи

Примечание: длительность видео влияет на стоимость, задавайте ее внимательно

По умолчанию: 5

Диапазон: 4 - 15 или -1 (авто)

{
"request_id": "task_01hxyz...",
"response_url": "https://api.odirouter.ai/model/v1/queue/seedance-2-0/requests/task_01hxyz.../response",
"status_url": "https://api.odirouter.ai/model/v1/queue/seedance-2-0/requests/task_01hxyz.../status",
"cancel_url": "https://api.odirouter.ai/model/v1/queue/seedance-2-0/requests/task_01hxyz.../cancel",
"queue_position": 0
}
ПолеТипОписание
request_idstringID задачи, используемый для всех последующих операций.
response_urlstringURL для получения финального результата.
status_urlstringURL для запроса статуса задачи.
cancel_urlstringURL для отмены задачи.
queue_positionintТекущая позиция в очереди.