curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance-2-mini",
"client_business_id": "order_20260616_001",
"prompt": "Сохрани персонажа с изображения 1, используй движение камеры из видео 1 и ритм аудио 1 для короткого indoor product ролика.",
"duration": 10,
"aspect_ratio": "16:9",
"image_with_roles": [
{"url": "https://example.com/ref-image-1.jpg", "role": "reference_image"}
],
"video_with_roles": [
{"url": "https://example.com/ref-video-1.mp4", "role": "reference_video"}
],
"audio_with_roles": [
{"url": "https://example.com/ref-audio-1.mp3", "role": "reference_audio"}
],
"resolution": "480p"
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json",
},
json={
"model": "seedance-2-mini",
"prompt": "Сохрани персонажа и используй ритм reference image и reference video для короткого indoor ad clip",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "720p",
"image_with_roles": [
{"url": "https://example.com/ref.png", "role": "reference_image"}
],
"video_with_roles": [
{"url": "https://example.com/ref.mp4", "role": "reference_video"}
],
},
)
print(response.json())
{
"id": "tsk_vid_xxx",
"client_business_id": "order_20260616_001",
"object": "generation.task",
"model": "seedance-2-mini",
"status": "in_progress",
"progress": 10,
"created_at": 1781577600
}
seedance-2
seedance-2 Генерация видео
Генерация видео с помощью seedance-2, seedance-2-fast и seedance-2-mini
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-mini",
"client_business_id": "order_20260616_001",
"prompt": "Сохрани персонажа с изображения 1, используй движение камеры из видео 1 и ритм аудио 1 для короткого indoor product ролика.",
"duration": 10,
"aspect_ratio": "16:9",
"image_with_roles": [
{"url": "https://example.com/ref-image-1.jpg", "role": "reference_image"}
],
"video_with_roles": [
{"url": "https://example.com/ref-video-1.mp4", "role": "reference_video"}
],
"audio_with_roles": [
{"url": "https://example.com/ref-audio-1.mp3", "role": "reference_audio"}
],
"resolution": "480p"
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json",
},
json={
"model": "seedance-2-mini",
"prompt": "Сохрани персонажа и используй ритм reference image и reference video для короткого indoor ad clip",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "720p",
"image_with_roles": [
{"url": "https://example.com/ref.png", "role": "reference_image"}
],
"video_with_roles": [
{"url": "https://example.com/ref.mp4", "role": "reference_video"}
],
},
)
print(response.json())
{
"id": "tsk_vid_xxx",
"client_business_id": "order_20260616_001",
"object": "generation.task",
"model": "seedance-2-mini",
"status": "in_progress",
"progress": 10,
"created_at": 1781577600
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Поддерживаются
seedance-2,seedance-2-fastиseedance-2-mini - Поддерживаются text-to-video и мультимодальный reference-to-video;
seedance-2иseedance-2-fastтакже поддерживают сценарии с первым и последним кадром - Поддерживаются совместные image / video / audio reference; для
seedance-2-miniлимиты составляют9изображений,3видео и3аудио - Асинхронный сценарий: submit API возвращает
generation.task, а готовый результат забирается через API статуса задачи
Authorizations
string
обязательно
Все запросы требуют Bearer Token аутентификацию.Получить API Key можно на странице API Key Management Page.
Authorization: Bearer YOUR_API_KEY
Тело запроса
string
по умолчанию:"seedance-2"
обязательно
Название модели генерации видео.Доступные модели:
seedance-2- стандартная версия для более качественного результата и полного Seedance 2 workflowseedance-2-fast- быстрая версия для превью и низкой задержкиseedance-2-mini- облегченная версия для недорогих черновиков и мультимодальных reference workflow, сейчас всегда создает1результат за запрос
string
Текстовый prompt для видео.Рекомендуется явно описывать сцену, движение камеры, действие, стиль и аудио-настроение.
string
Ваш бизнесовый ID, например номер заказа или внутренний ID задачи. Он сохраняется вместе с задачей и может использоваться для последующего запроса статуса:
GET /v1/videos/generations/{client_business_id}.Также поддерживается metadata.client_business_id, но рекомендуется верхнеуровневое поле.boolean
по умолчанию:false
Необязательное, по умолчанию
false, для запросов с медиа на входе. При true действуют обычные правила маршрутизации. Каналы с приватной библиотекой автоматически подготавливают и проверяют материалы, затем отправляют видео после всех необходимых проверок. Остальные каналы пропускают этот этап и сохраняют прежнюю обработку медиа. HTTP сначала возвращает видеозадачу. Изображения для проверки поддерживают URL и Base64, видео и аудио требуют HTTP(S); ограничения форматов модели сохраняются. В новом режиме asset:// вызывает HTTP 400. Отсутствие поля или false сохраняет прежнее поведение.Примеры, приоритет входных полей и правила повторного использования: проверка материалов по запросу.integer
по умолчанию:0
Длительность видео в секундах.Правила:
seedance-2:4-15seedance-2-fast:4-15seedance-2-mini:4-150: авто-длительность (толькоseedance-2/seedance-2-fast)-1: авто-длительность (толькоseedance-2/seedance-2-fast)
string
Соотношение сторон видео.Варианты:
21:916:94:31:13:49:16adaptive
adaptive позволяет upstream выбрать подходящее соотношение по входным media.string[]
Массив URL изображений в режиме совместимости.Рекомендуется использовать
image_with_roles, чтобы явно задавать first_frame, last_frame или reference_image.- Не используйте
image_urlsодновременно сimage_with_roles. - Для новых интеграций используйте
image_with_roles, чтобы явно указать назначение каждого изображения.
array
Список изображений с ролями.Поддерживаемые сценарии:
seedance-2/seedance-2-fast/seedance-2-minifirst_frameдля генерации по первому кадруfirst_frame+last_frameдля first-last-frame генерацииreference_imageдля мультимодального reference режима
Показать Описание полей
Показать Описание полей
- Максимум
1first_frame - Максимум
1last_frame - Максимум
9reference_image - Frame mode и reference mode нельзя смешивать
seedance-2-miniтакже поддерживаетfirst_frame,last_frameиreference_image
array
array
Список аудио с ролями.В мультимодальном reference режиме сейчас поддерживается только
Ограничения:
reference_audio.Показать Описание полей
Показать Описание полей
seedance-2-mini: до3reference audio
audio_with_roles нельзя использовать само по себе. Нужен хотя бы один визуальный input.string
по умолчанию:"720p"
Разрешение видео.Варианты:
seedance-2:480p,720p,1080p,4kseedance-2-fast:480p,720pseedance-2-mini:480p,720p
boolean
по умолчанию:true
Генерировать ли синхронное аудио.
seedance-2-mini также поддерживает это поле.boolean
по умолчанию:false
Возвращать ли изображение последнего кадра созданного видео.При значении
true URL изображения возвращается в result.data[0].last_frame_url после завершения задачи.array
Инструменты, доступные модели. Серия Seedance 2 сейчас поддерживает веб-поиск:Фактическое число поисков возвращается в
[{ "type": "web_search" }]
usage.tool_usage.web_search; значение 0 означает, что поиск не выполнялся.tools поддерживается только для text-to-video и не может использоваться вместе с изображениями, видео или аудио.integer
Random seed для контроля генерации.
string
Стандартный callback ToAPIs. Сначала настройте URL и secret Token; разрешено только same-origin переопределение. См. Webhook.
string
Поле трассировки клиента, не зависящее от Webhook.
Использование загруженных asset
Если вы уже загрузили приватные asset и получилиasset_id, передавать исходный media URL повторно не нужно. Используйте:
asset://<ASSET_ID>
- Изображения:
first_frame,last_frame,reference_image - Видео:
reference_video - Аудио:
reference_audio
active.
Связанные руководства:
Комбинации входов
Типичные поддерживаемые комбинации:- Только текст: text-to-video
- Текст + первый кадр: генерация по первому кадру
- Текст + первый кадр + последний кадр: first-last-frame генерация
- Текст + reference images: мультимодальный reference режим
- Текст + reference video: генерация с reference видео
- Текст + reference images + reference audio: мультимодальный reference режим
- Текст + reference images + reference video + reference audio: мультимодальный reference режим
seedance-2-mini также поддерживает сценарии с первым кадром и первым/последним кадром. Используйте image_with_roles с явными ролями first_frame / last_frame.Возможности
| Параметр | seedance-2 | seedance-2-fast | seedance-2-mini |
|---|---|---|---|
| Позиционирование | Более высокое качество и длинные ролики | Более быстрая генерация и меньшая задержка | Недорогие черновики и мультимодальные reference |
| Длительность | 4-15 секунд, поддерживается авто-длительность | 4-15 секунд, поддерживается авто-длительность | 4-15 секунд |
| Разрешение | 480p / 720p / 1080p / 4k | 480p / 720p | 480p / 720p |
| Роли изображений | first_frame / last_frame / reference_image | first_frame / last_frame / reference_image | first_frame / last_frame / reference_image |
| Роли видео | reference_video | reference_video | reference_video |
| Роли аудио | reference_audio | reference_audio | reference_audio |
| Frame mode | Поддерживается | Поддерживается | Поддерживается |
| Лимит reference image | 9 | 9 | 9 |
| Лимит reference video | Зависит от выбранного routed channel | Зависит от выбранного routed channel | 3 |
| Лимит reference audio | Зависит от выбранного routed channel | Зависит от выбранного routed channel | 3 |
| Поле синхронного аудио | generate_audio | generate_audio | generate_audio |
| ToAPIs callback | callback_url (trace_id опционально) | callback_url (trace_id опционально) | callback_url (trace_id опционально) |
seedance-2-mini сейчас всегда генерирует 1 результат за запрос и не открывает count / n. Управление кадрами задавайте через image_with_roles с first_frame / last_frame.Response
string
ID задачи для запроса статуса.
string
Ваш бизнесовый ID. Возвращается только если
client_business_id был передан в запросе.string
Тип объекта, всегда
generation.task.string
Название модели, использованной в запросе.
string
Статус задачи:
queued, in_progress, completed или failed.integer
Прогресс задачи в процентах (
0-100).integer
Временная метка создания задачи.
Submit API возвращает базовый объект задачи. После завершения используйте Get Video Task Status, чтобы получить
completed_at, expires_at и result.type = "video" вместе с result.data[].url и result.data[].format. При return_last_frame последний кадр возвращается в result.data[0].last_frame_url; при web_search число поисков возвращается в usage.tool_usage.web_search.curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance-2-mini",
"client_business_id": "order_20260616_001",
"prompt": "Сохрани персонажа с изображения 1, используй движение камеры из видео 1 и ритм аудио 1 для короткого indoor product ролика.",
"duration": 10,
"aspect_ratio": "16:9",
"image_with_roles": [
{"url": "https://example.com/ref-image-1.jpg", "role": "reference_image"}
],
"video_with_roles": [
{"url": "https://example.com/ref-video-1.mp4", "role": "reference_video"}
],
"audio_with_roles": [
{"url": "https://example.com/ref-audio-1.mp3", "role": "reference_audio"}
],
"resolution": "480p"
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json",
},
json={
"model": "seedance-2-mini",
"prompt": "Сохрани персонажа и используй ритм reference image и reference video для короткого indoor ad clip",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "720p",
"image_with_roles": [
{"url": "https://example.com/ref.png", "role": "reference_image"}
],
"video_with_roles": [
{"url": "https://example.com/ref.mp4", "role": "reference_video"}
],
},
)
print(response.json())
{
"id": "tsk_vid_xxx",
"client_business_id": "order_20260616_001",
"object": "generation.task",
"model": "seedance-2-mini",
"status": "in_progress",
"progress": 10,
"created_at": 1781577600
}