> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toapis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Генерация видео Seedance 2.5

> Генерация видео с моделью seedance-2-5

> [!NOTE]
>
> **Для пользователей из материкового Китая:** используйте `https://toapis.cn` в качестве эндпоинта (Base URL). Замените `https://toapis.com` на `https://toapis.cn` во всех примерах этого документа.

Публичное имя модели Seedance 2.5 — `seedance-2-5`, ID модели Volcengine — `doubao-seedance-2-5-260628`.

* Поддерживаются text-to-video, первый/первый и последний кадр, редактирование, продление видео и мультимодальные ссылки.
* Можно использовать ссылки на изображения, видео и аудио, включая только аудио.
* Задача асинхронная: после отправки возвращается `generation.task`, а готовое видео получается через API статуса задачи.

Черновой режим сначала создаёт недорогой предпросмотр 480p, а затем финальное видео 1080p на его основе. См. [черновой режим](https://docs.toapis.com/docs/ru/api-reference/videos/seedance-2-5/draft.md).

## Authorizations

**Authorization** `string` *required*

Все запросы требуют Bearer Token. Получите ключ на [странице управления API Key](https://toapis.com/console/token) и передайте `Authorization: Bearer YOUR_API_KEY`.

## Body

**model** `string` *required* (default: seedance-2-5)

Публичное имя модели ToAPIs: `seedance-2-5`.

**prompt** `string`

Опишите сцену, движение камеры, действие объекта, стиль и атмосферу звука. Ссылки обозначайте как «изображение 1», «видео 1», «аудио 1».

**video\_operation** `string` (default: generate)

Операция: `generate`, `edit` или `extend`. Для редактирования и продолжения нужен хотя бы один `video_with_roles`; редактирование использует `duration=-1`, продолжение — `4`–`30` или `-1`. Все операции используют этот endpoint.

**client\_business\_id** `string`

Номер заказа или внутренний ID задания. Доступен для поиска через `GET /v1/videos/generations/{client_business_id}`.

**duration** `integer`

Длительность выходного видео в секундах: `4`–`30`; `-1` означает, что модель выберет длительность сама. Редактирование принимает только `-1`, длина результата примерно совпадает с исходным видео. Продление принимает `4`–`30` или `-1` и задаёт общую длительность результата после продления.

**aspect\_ratio** `string`

`21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` или `adaptive`. Для редактирования, продления и первого/последнего кадра используйте `adaptive`.

**image\_urls** `string[]`

Массив URL изображений для совместимости. Для новых интеграций используйте `image_with_roles`; оба поля нельзя передавать одновременно.

**image\_with\_roles** `array`

Массив изображений с `url` и `role`. Роли: `first_frame`, `last_frame`, `reference_image`; максимум 30 изображений. Режим кадров нельзя смешивать с режимом reference.

**video\_with\_roles** `array`

Массив референсных видео с ролью `reference_video`; максимум 10 видео.

**audio\_with\_roles** `array`

Массив референсного аудио с ролью `reference_audio`; максимум 10 фрагментов. Допускается только аудио.

**resolution** `string`

Разрешение: `480p`, `720p` или `1080p`.

**output\_format** `string` (default: mp4)

Поддерживаются `mp4` и `mov`.

**generate\_audio** `boolean` (default: true)

Генерировать ли синхронное аудио.

**return\_last\_frame** `boolean` (default: false)

Возвращать ли изображение последнего кадра в результате.

**tools** `array`

Доступное значение: `[{ "type": "web_search" }]`. Работает только для text-to-video без медиа-входов.

**callback\_url** `string`

URL обратного вызова завершения задачи ToAPIs. См. [Task Webhooks](https://docs.toapis.com/docs/ru/api-reference/webhooks/task-webhooks.md).

**trace\_id** `string`

Идентификатор трассировки, заданный клиентом.

**disable\_nsfw** `boolean` (default: false)

При значении `true` генерация NSFW-контента запрещена.

## Ограничения референсов

Всего не более 50 материалов: 30 изображений, 10 видео и 10 аудиофрагментов. Используйте явные роли.

> [!WARNING]
>
> Неверная комбинация приводит к ошибке. Для редактирования и продления тип задачи задаётся явно, поэтому при несоответствии ограничениям ошибка возвращается сразу при отправке. В остальных случаях тип определяется по материалам и промпту, и при несоответствии ограничениям задача завершится асинхронной ошибкой `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.code` `invalid_private_assets`.
* Материалы определяются по URL. После изменения содержимого файла используйте новый URL.
* Финальная генерация по черновику (`draft_task_id`) не проходит проверку.
* Прежние ссылки `asset://` выведены из использования и возвращают HTTP 400.

> [!NOTE]
>
> Получайте готовые результаты через [Статус видеозадачи](https://docs.toapis.com/docs/ru/api-reference/tasks/video-status.md). Если передача исходного URL включена, сначала используйте `result.data[].url`, а необязательный `fallback_url` только при недоступности основного адреса. Для последнего кадра используются `last_frame_url` и `fallback_last_frame_url`. Резервные поля возвращаются только при наличии доступных копий.

## Response

**id** `string`

ID задачи для проверки статуса.

**client\_business\_id** `string`

Возвращается, если поле было передано.

**object** `string`

Всегда `generation.task`.

**model** `string`

Имя запрошенной модели.

**status** `string`

`queued`, `in_progress`, `completed` или `failed`.

**progress** `integer`

Прогресс от `0` до `100`.

**created\_at** `integer`

Временная метка создания.

```bash cURL theme={null}
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}'
```

```json Запрос на продление видео theme={null}
{
  "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"}]
}
```

```json 200 theme={null}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.