> ## 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

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

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

## Authorizations

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

## Body

<ParamField body="model" type="string" default="seedance-2-5" required>Публичное имя модели ToAPIs: `seedance-2-5`.</ParamField>
<ParamField body="prompt" type="string">Опишите сцену, движение камеры, действие объекта, стиль и атмосферу звука. Ссылки обозначайте как «изображение 1», «видео 1», «аудио 1».</ParamField>
<ParamField body="video_operation" type="string" default="generate">Операция: `generate`, `edit` или `extend`. Для редактирования и продолжения нужен хотя бы один `video_with_roles`; для продолжения нужна положительная `duration`. Все операции используют этот endpoint.</ParamField>
<ParamField body="client_business_id" type="string">Номер заказа или внутренний ID задания. Доступен для поиска через `GET /v1/videos/generations/{client_business_id}`.</ParamField>
<ParamField body="duration" type="integer">Длительность в секундах: `4`–`30`; `-1` означает автоматическую длительность. Для редактирования, продления и заданий с кадрами используйте `-1`, если это требует upstream.</ParamField>
<ParamField body="aspect_ratio" type="string">`21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` или `adaptive`. Для редактирования, продления и первого/последнего кадра используйте `adaptive`.</ParamField>
<ParamField body="image_urls" type="string[]">Массив URL изображений для совместимости. Для новых интеграций используйте `image_with_roles`; оба поля нельзя передавать одновременно.</ParamField>
<ParamField body="image_with_roles" type="array">Массив изображений с `url` и `role`. Роли: `first_frame`, `last_frame`, `reference_image`; максимум 30 изображений. Режим кадров нельзя смешивать с режимом reference.</ParamField>
<ParamField body="video_with_roles" type="array">Массив референсных видео с ролью `reference_video`; максимум 10 видео.</ParamField>
<ParamField body="audio_with_roles" type="array">Массив референсного аудио с ролью `reference_audio`; максимум 10 фрагментов. Допускается только аудио.</ParamField>
<ParamField body="resolution" type="string">Разрешение: `480p` или `720p`.</ParamField>
<ParamField body="output_format" type="string" default="mp4">Поддерживаются `mp4` и `mov`.</ParamField>
<ParamField body="generate_audio" type="boolean" default={true}>Генерировать ли синхронное аудио.</ParamField>
<ParamField body="return_last_frame" type="boolean" default={false}>Возвращать ли изображение последнего кадра в результате.</ParamField>
<ParamField body="tools" type="array">Доступное значение: `[{ "type": "web_search" }]`. Работает только для text-to-video без медиа-входов.</ParamField>
<ParamField body="callback_url" type="string">URL обратного вызова завершения задачи ToAPIs. См. [Task Webhooks](/docs/ru/api-reference/webhooks/task-webhooks).</ParamField>
<ParamField body="trace_id" type="string">Идентификатор трассировки, заданный клиентом.</ParamField>

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

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

<Warning>Неверная комбинация может завершиться асинхронной ошибкой `InvalidParameter.TaskTypeConstraint`. Для редактирования, продления и кадровых задач задавайте `aspect_ratio=adaptive`.</Warning>

## Response

<ResponseField name="id" type="string">ID задачи для проверки статуса.</ResponseField>
<ResponseField name="client_business_id" type="string">Возвращается, если поле было передано.</ResponseField>
<ResponseField name="object" type="string">Всегда `generation.task`.</ResponseField>
<ResponseField name="model" type="string">Имя запрошенной модели.</ResponseField>
<ResponseField name="status" type="string">`queued`, `in_progress`, `completed` или `failed`.</ResponseField>
<ResponseField name="progress" type="integer">Прогресс от `0` до `100`.</ResponseField>
<ResponseField name="created_at" type="integer">Временная метка создания.</ResponseField>

<RequestExample>
  ```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}'
  ```
</RequestExample>

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