curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{"model":"seedance-2-5","prompt":"Кинематографичный крупный план продукта, медленное приближение камеры.","duration":10,"aspect_ratio":"16:9","resolution":"720p","generate_audio":true}'
{
"model": "seedance-2-5",
"prompt": "Продлить видео 1 вперёд, камера продолжает приближаться и показывает город за окном.",
"video_operation": "extend",
"duration": 11,
"aspect_ratio": "adaptive",
"output_format": "mov",
"video_with_roles": [{"url": "https://example.com/source.mov", "role": "reference_video"}]
}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}
seedance-2-5
Генерация видео Seedance 2.5
Генерация видео с моделью seedance-2-5
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{"model":"seedance-2-5","prompt":"Кинематографичный крупный план продукта, медленное приближение камеры.","duration":10,"aspect_ratio":"16:9","resolution":"720p","generate_audio":true}'
{
"model": "seedance-2-5",
"prompt": "Продлить видео 1 вперёд, камера продолжает приближаться и показывает город за окном.",
"video_operation": "extend",
"duration": 11,
"aspect_ratio": "adaptive",
"output_format": "mov",
"video_with_roles": [{"url": "https://example.com/source.mov", "role": "reference_video"}]
}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.seedance-2-5, ID модели Volcengine — doubao-seedance-2-5-260628.
- Поддерживаются text-to-video, первый/первый и последний кадр, редактирование, продление видео и мультимодальные ссылки.
- Можно использовать ссылки на изображения, видео и аудио, включая только аудио.
- Задача асинхронная: после отправки возвращается
generation.task, а готовое видео получается через API статуса задачи.
Authorizations
string
обязательно
Все запросы требуют Bearer Token. Получите ключ на странице управления API Key и передайте
Authorization: Bearer YOUR_API_KEY.Body
string
по умолчанию:"seedance-2-5"
обязательно
Публичное имя модели ToAPIs:
seedance-2-5.string
Опишите сцену, движение камеры, действие объекта, стиль и атмосферу звука. Ссылки обозначайте как «изображение 1», «видео 1», «аудио 1».
string
по умолчанию:"generate"
Операция:
generate, edit или extend. Для редактирования и продолжения нужен хотя бы один video_with_roles; редактирование использует duration=-1, продолжение — 4–30 или -1. Все операции используют этот endpoint.string
Номер заказа или внутренний ID задания. Доступен для поиска через
GET /v1/videos/generations/{client_business_id}.integer
Длительность выходного видео в секундах:
4–30; -1 означает, что модель выберет длительность сама. Редактирование принимает только -1, длина результата примерно совпадает с исходным видео. Продление принимает 4–30 или -1 и задаёт общую длительность результата после продления.string
21:9, 16:9, 4:3, 1:1, 3:4, 9:16 или adaptive. Для редактирования, продления и первого/последнего кадра используйте adaptive.string[]
Массив URL изображений для совместимости. Для новых интеграций используйте
image_with_roles; оба поля нельзя передавать одновременно.array
Массив изображений с
url и role. Роли: first_frame, last_frame, reference_image; максимум 30 изображений. Режим кадров нельзя смешивать с режимом reference.array
Массив референсных видео с ролью
reference_video; максимум 10 видео.array
Массив референсного аудио с ролью
reference_audio; максимум 10 фрагментов. Допускается только аудио.string
Разрешение:
480p, 720p или 1080p.string
по умолчанию:"mp4"
Поддерживаются
mp4 и mov.boolean
по умолчанию:true
Генерировать ли синхронное аудио.
boolean
по умолчанию:false
Возвращать ли изображение последнего кадра в результате.
array
Доступное значение:
[{ "type": "web_search" }]. Работает только для text-to-video без медиа-входов.string
URL обратного вызова завершения задачи ToAPIs. См. Task Webhooks.
string
Идентификатор трассировки, заданный клиентом.
boolean
по умолчанию:false
При значении
true генерация NSFW-контента запрещена.Ограничения референсов
Всего не более 50 материалов: 30 изображений, 10 видео и 10 аудиофрагментов. Используйте явные роли.Неверная комбинация приводит к ошибке. Для редактирования и продления тип задачи задаётся явно, поэтому при несоответствии ограничениям ошибка возвращается сразу при отправке. В остальных случаях тип определяется по материалам и промпту, и при несоответствии ограничениям задача завершится асинхронной ошибкой
InvalidParameter.TaskTypeConstraint. Для редактирования, продления и кадровых задач задавайте aspect_ratio=adaptive.Проверка материалов
Если запрос содержит изображения, видео или аудио, некоторые каналы автоматически проверяют материалы перед отправкой на генерацию. Дополнительный параметр не нужен: передавайте URL материалов в прежних полях медиа.- Принятый запрос сразу возвращает видеозадачу. Если нужна проверка, задача остается в
queued, а генерация отправляется только после того, как все материалы запроса пройдут проверку. Первая проверка может занять несколько минут; повторное использование того же URL тем же пользователем в том же канале переиспользует результат проверки. - Один раунд подготовки материалов по умолчанию длится не более 20 минут. Отказ в проверке или тайм-аут подготовки завершают задачу со статусом
failed, причина указана вerror.message. Если проверка не пройдена, плата за генерацию видео не взимается. - Материалы передаются только публичными HTTP(S) URL; Base64 и локальные пути не принимаются. Изображения должны быть не больше 20 MB (в некоторых каналах до 30 MB), видео и аудио не больше 100 MiB. Прежние ограничения форматов модели сохраняются.
- Каналы с проверкой валидируют материалы при приеме запроса: URL с учетными данными или длиннее 2048 байт, один URL с разными типами материала или более 64 ссылок на материалы в одном запросе возвращают HTTP 400 с
error.codeinvalid_private_assets. - Материалы определяются по URL. После изменения содержимого файла используйте новый URL.
- Финальная генерация по черновику (
draft_task_id) не проходит проверку. - Прежние ссылки
asset://выведены из использования и возвращают HTTP 400.
Получайте готовые результаты через Статус видеозадачи. Если передача исходного URL включена, сначала используйте
result.data[].url, а необязательный fallback_url только при недоступности основного адреса. Для последнего кадра используются last_frame_url и fallback_last_frame_url. Резервные поля возвращаются только при наличии доступных копий.Response
string
ID задачи для проверки статуса.
string
Возвращается, если поле было передано.
string
Всегда
generation.task.string
Имя запрошенной модели.
string
queued, in_progress, completed или failed.integer
Прогресс от
0 до 100.integer
Временная метка создания.
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{"model":"seedance-2-5","prompt":"Кинематографичный крупный план продукта, медленное приближение камеры.","duration":10,"aspect_ratio":"16:9","resolution":"720p","generate_audio":true}'
{
"model": "seedance-2-5",
"prompt": "Продлить видео 1 вперёд, камера продолжает приближаться и показывает город за окном.",
"video_operation": "extend",
"duration": 11,
"aspect_ratio": "adaptive",
"output_format": "mov",
"video_with_roles": [{"url": "https://example.com/source.mov", "role": "reference_video"}]
}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}