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

# API генерации видео Seedance 2.0 и 2.5: цены и подключение

> Как создать задачу Seedance, скачать MP4, узнать цену за токены в долларах и сверить две строки журнала вызовов по одной задаче.

Seedance 2.0 и 2.5 создают видео по тексту, изображениям, видео и аудио через асинхронные задачи в формате Volcengine Ark. Нужен токен из группы `SeeDance2`, оплата идёт за токены.

| Параметр | Значение |
| - | - |
| Модели | `doubao-seedance-2-5-260628` (2.5), `doubao-seedance-2-0-260128` (2.0 standard), `doubao-seedance-2-0-fast-260128` (fast), `doubao-seedance-2-0-mini-260615` (mini) |
| Базовый URL | `https://api.laozhang.ai/seedance/api/v3` |
| Создание задачи | `POST /contents/generations/tasks` |
| Опрос задачи | `GET /contents/generations/tasks/{id}` до успешного завершения |
| Скачивание видео | `content.video_url` или `GET https://api.laozhang.ai/v1/videos/{id}/content` |
| Группа токена | `SeeDance2`; см. раздел «Настройка токена» |
| Оплата | За токены. Множитель группы 0.1714× переводит список цен Volcengine в юанях в доллары: при фиксированном курсе 1:7 выходит около 1.2× от списочной цены. Цены в долларах и оценки по видео — в разделе «Оплата и цены» |
| Журнал вызовов | Каждая задача пишет две строки: предварительное списание при создании и расчёт при завершении; стоимость задачи — сумма обеих |
| Срок хранения результата | Подписанная ссылка на видео обычно действует 24 часа, поэтому сохраняйте видео сразу после успешного завершения задачи |

> [!WARNING]
>
> **Используйте базовый URL `https://api.laozhang.ai/seedance/api/v3`.**
>
> * Не добавляйте официальный путь Ark `/api/v3/...` прямо к `https://api.laozhang.ai`.
> * Не убирайте `/api` из префикса: `/seedance/v3/...` вернёт HTML сайта вместо JSON.

## Настройка токена

| Настройка | Значение |
| - | - |
| Консоль | [Управление токенами](https://api.laozhang.ai/token) → создать токен |
| Группа | `SeeDance2` |
| Режим оплаты | Сначала по использованию (в консоли — 按量优先, рекомендуется) или оплата по использованию (按量计费) |
| Заголовок запроса | `Authorization: Bearer $LAOZHANG_API_KEY` |

Модели Seedance доступны только в группе `SeeDance2`, поэтому токен должен принадлежать ей. Токены других групп, например `default` или `Wan`, эти модели вызвать не могут: запрос завершится ошибкой «нет канала». Отдельный токен для Seedance к тому же упрощает проверку журнала и списаний.

## Эндпоинты

```text theme={null}
Базовый URL: https://api.laozhang.ai/seedance/api/v3

Создать задачу             POST /contents/generations/tasks
Статус и результат задачи  GET  /contents/generations/tasks/{id}

Скачать MP4 (эндпоинт совместимости вне базового URL Seedance):
                           GET  https://api.laozhang.ai/v1/videos/{id}/content
```

Не вызывайте `GET /contents/generations/tasks` без ID задачи: на этом шлюзе список возвращает HTML сайта, а не JSON. Создайте задачу и затем запрашивайте каждую по её ID.

## Оплата и цены

Seedance оплачивается за токены по списочной цене Volcengine Ark плюс 20%. Надбавка покрывает налоги, конвертацию валют и трансграничные расчёты, эксплуатацию платформы и техническую поддержку. С 14 октября 2026 года цена пересчитывается так:

* цена в долларах = списочная цена Volcengine в юанях × 0.1714 (множитель группы `SeeDance2`)
* при фиксированном курсе 1:7 получается 0.1714 × 7 ≈ 1.2, то есть вы платите около 1.2× от списочной цены

Суммы в журнале вызовов уже учитывают множитель, повторно его применять не нужно. Цена зависит от модели, разрешения на выходе и от того, есть ли во входных данных видео. Цены за 1M токенов:

| ID модели | Выход | Списочная цена (без входного видео / с видео) | LaoZhang API (без входного видео / с видео) |
| - | - | -: | -: |
| `doubao-seedance-2-5-260628` | 480p, 720p | ¥70 / ¥42 | \$12.00 / \$7.20 |
| `doubao-seedance-2-5-260628` | 1080p | ¥77 / ¥46 | \$13.20 / \$7.88 |
| `doubao-seedance-2-0-260128` | 480p, 720p | ¥46 / ¥28 | \$7.88 / \$4.80 |
| `doubao-seedance-2-0-260128` | 1080p | ¥51 / ¥31 | \$8.74 / \$5.31 |
| `doubao-seedance-2-0-fast-260128` | 480p, 720p | ¥37 / ¥22 | \$6.34 / \$3.77 |
| `doubao-seedance-2-0-mini-260615` | 480p, 720p | ¥23 / ¥14 | \$3.94 / \$2.40 |

Списочные цены взяты со страницы [цен на модели Volcengine Ark](https://www.volcengine.com/docs/82379/1544106?lang=zh) (на китайском). Модели fast и mini поддерживают разрешение до 720p.

Примерная стоимость одного видео 16:9 с 5 секундами на выходе и без входного видео, по 121 реально выведенному кадру (около 108 900 токенов при 720p и 245 025 токенов при 1080p):

* Seedance 2.5: около \$1.31 при 720p и \$3.23 при 1080p
* Seedance 2.0: около \$0.86 при 720p и \$2.14 при 1080p
* fast: около \$0.69 при 720p
* mini: около \$0.43 при 720p

Фактическое число токенов указано в поле `usage.completion_tokens` задачи, а стоимость задачи — это сумма двух её строк в журнале вызовов. Цены моделей есть и на [странице цен в консоли](https://api.laozhang.ai/account/pricing), а группы и множители — в разделе [Модели и цены](https://docs.laozhang.ai/ru/models.md).

> [!TIP]
>
> Для коротких роликов около 720p со звуком [MiniMax H3](https://docs.laozhang.ai/ru/api-capabilities/minimax-h3-video-generation.md) стоит \$0.25 за 5 секунд при 768P, а [Видео Muse](https://docs.laozhang.ai/ru/api-capabilities/muse-video-generation.md) — \$0.30 за 10 секунд; для обеих моделей хватает токена группы `default`. Все модели сравниваются в разделе [Сравнение API видео](https://docs.laozhang.ai/ru/api-capabilities/video-generation-guide.md).

В деталях задачи множитель может отображаться как `topup_convert_ratio: 0.1714` рядом с `group_ratio: 1`. Эти поля выполняют разные функции: `group_ratio: 1` не означает, что множитель не применялся.

### Оценка стоимости задачи

Volcengine публикует такую формулу для оценки стоимости:

```text theme={null}
Стоимость = цена за токен × число токенов
Число токенов ≈ (длительность входного видео + длительность выходного видео) × ширина × высота × частота кадров / 1024
```

Цена за токен зависит от разрешения на выходе и от наличия входного видео, а расход токенов — от длительности:

* Токен при 1080p стоит дороже, чем при 480p и 720p; см. таблицу выше.
* Запрос с входным видео (`video_url`) имеет более низкую цену за токен — это значения «с видео» в таблице. Но длительность входного видео тоже входит в расход токенов, поэтому те же 5 секунд на выходе обычно обходятся дороже.
* Для запросов с входным видео Volcengine устанавливает минимальный расход токенов и списывает этот минимум, если оценка получается ниже.
* Чем длиннее выход, тем больше токенов. В Seedance 2.5 по умолчанию `duration` равно `-1`: модель сама выбирает длину от 4 до 30 секунд, поэтому если важна стоимость, задавайте `duration` явно.

Volcengine приводит такие цены в юанях для видео 16:9 с 5 секундами на выходе ([цены на модели Volcengine Ark](https://www.volcengine.com/docs/82379/1544106?lang=zh), на китайском). Используйте их для сравнения разрешений и типов входных данных; цены LaoZhang API в долларах смотрите выше.

| Модель | Вход | 480p | 720p | 1080p |
| - | - | - | - | - |
| `doubao-seedance-2-5-260628` | Без входного видео | ¥3.36 | ¥7.56 | ¥18.71 |
| `doubao-seedance-2-5-260628` | Входное видео 2–30 с | ¥3.63–14.12 | ¥8.16–31.75 | ¥20.12–78.25 |
| `doubao-seedance-2-0-260128` | Без входного видео | ¥2.31 | ¥4.97 | ¥12.39 |
| `doubao-seedance-2-0-260128` | Входное видео 2–15 с | ¥2.53–5.62 | ¥5.44–12.10 | ¥13.56–30.13 |
| `doubao-seedance-2-0-fast-260128` | Без входного видео | ¥1.86 | ¥4.00 | Не поддерживается |
| `doubao-seedance-2-0-fast-260128` | Входное видео 2–15 с | ¥1.99–4.42 | ¥4.28–9.50 | Не поддерживается |
| `doubao-seedance-2-0-mini-260615` | Без входного видео | ¥1.16 | ¥2.48 | Не поддерживается |
| `doubao-seedance-2-0-mini-260615` | Входное видео 2–15 с | ¥1.27–2.81 | ¥2.72–6.05 | Не поддерживается |

Каждый диапазон идёт от входного видео длиной 2–4 секунды до самого длинного допустимого: 30 секунд для Seedance 2.5 и 15 секунд для моделей 2.0.

### Почему у одной задачи две строки в журнале вызовов

При создании задачи итоговое число токенов ещё неизвестно. LaoZhang API сначала записывает ориентировочное предварительное списание, а затем по итоговому `usage.completion_tokens` проводит расчёт разницы. Обе строки относятся к одной задаче: это не два запроса и не два полных списания.

| Строка | Когда появляется | Что показывает |
| - | - | - |
| Предварительное списание | При создании задачи | Помечена как непотоковая; показывает токен, группу `SeeDance2`, множитель группы и исходный IP |
| Расчёт | При завершении задачи | Помечена как потоковая; показывает токены на выходе и доплату или возврат |

**Стоимость задачи = сумма предварительного списания и расчёта.** Например, предварительное списание около \$0.90 и расчёт около \$3.58 дают одну задачу стоимостью около \$4.48. Если фактический расход меньше оценки, строка расчёта возвращает разницу.

Пометка «потоковая» в строке расчёта появляется из-за самого процесса расчёта. Она не означает, что ваш клиент использовал потоковый API, и не указывает на запрос с другого ключа. Строка расчёта обычно не повторяет токен, группу и IP, поэтому источник запроса определяйте по строке предварительного списания.

Чтобы сверить одну задачу:

1. Найдите в [журнале вызовов](https://api.laozhang.ai/log) `doubao-seedance` или полный ID использованной модели.
2. По строке предварительного списания проверьте токен, группу и исходный IP.
3. По строке расчёта посмотрите итоговое число токенов на выходе.
4. Сопоставьте ID задачи, время создания и завершения на странице асинхронных задач и считайте две строки одним видео.

Если задача завершилась ошибкой или истекла, посмотрите её строки в журнале. Если там всё равно есть неожиданное списание, напишите в [поддержку](mailto:hi@laozhang.ai) и укажите ID задачи.

## Как работает задача

**1. Создайте задачу**

Вызовите `POST /contents/generations/tasks`: в `model` передайте обычный ID модели, а промпт и медиафайлы — в массив `content`. Сохраните возвращённый `id`.

**2. Опрашивайте задачу**

Вызывайте `GET /contents/generations/tasks/{id}`, пока `status` не станет конечным.

**3. Скачайте видео**

После успешного завершения скачайте видео по `content.video_url` или вызовите `/v1/videos/{id}/content`.

Если вы передали `return_last_frame` со значением `true`, прочитайте также `content.last_frame_url`.

## Статусы задачи

| Статус | Значение | Что делать |
| - | - | - |
| `queued` | Задача ждёт запуска | Продолжайте опрос |
| `running` | Видео генерируется | Продолжайте опрос |
| `succeeded` | Задача завершена, результат в `content` | Скачайте видео |
| `completed` | Задача завершена (объект задачи в формате LaoZhang), то же, что `succeeded` | Скачайте видео |
| `failed` | Задача не выполнена, подробности в `error` | Прекратите опрос и исправьте запрос |
| `expired` | Срок задачи истёк | Прекратите опрос и создайте новую задачу |

Для всех ответов применяйте одно правило:

* Пока `status` равен `queued` или `running`, продолжайте опрос.
* Значения `succeeded` и `completed` считайте успехом.
* Любое другое значение считайте конечным. При конечной ошибке прекратите опрос и сохраните ответ целиком в лог.

Эндпоинт запроса возвращает объект задачи в стиле Ark с полями `status` и `content.video_url`. Если форма ответа другая:

* Объект задачи в формате LaoZhang может отдавать ссылку в поле верхнего уровня `result_url` или в `data.content.video_url`.
* Если ссылку найти не удалось, скачивайте видео через `/v1/videos/{id}/content`.

## Модели

| ID модели | Версия | Для чего подходит |
| - | - | - |
| `doubao-seedance-2-0-260128` | Seedance 2.0 standard | Стандартное качество, первый и последний кадры, редактирование видео, более стабильный результат |
| `doubao-seedance-2-0-fast-260128` | Seedance 2.0 fast | Быстрая генерация; текст в видео; референсы-изображения, видео и аудио; продление видео; дорисовка трека. Без 1080p |
| `doubao-seedance-2-0-mini-260615` | Seedance 2.0 mini | Самая низкая цена и почти те же функции, что у standard; до 720p и 4–15 секунд |
| `doubao-seedance-2-5-260628` | Seedance 2.5 | 4–30 секунд; до 30 референсных изображений, 10 видео и 10 аудиоклипов, аудио может быть единственным референсом; до 1080p; выход MP4 или MOV |

ID моделей взяты из публичного прайс-листа LaoZhang API на 24 сентября 2026 года, а возможности mini и 2.5 — из сравнения моделей в [руководстве Volcengine по Seedance 2.5](https://docs.volcengine.com/docs/ark/seedance-2-5?lang=zh) (на китайском). В Seedance 2.5 для задач с первым кадром, первым и последним кадрами, редактированием и продлением видео действуют дополнительные ограничения на `ratio` и `duration`, поэтому перед переходом на 2.5 прочитайте это руководство.

В `model` передавайте обычный ID модели. Не используйте ID эндпоинта из консоли (`ep-...`) и не дописывайте к названию пометки вроде `(2.0-audio-video)`: шлюз подбирает каналы по обычному ID модели.

## Подготовка окружения

```bash theme={null}
export LAOZHANG_API_KEY="YOUR_API_KEY"   # замените на свой API-ключ LaoZhang API
```

Перед запуском примеров:

* В примерах для оболочки используются `curl` и `jq`. Установить jq можно командой `brew install jq` или `sudo apt-get install jq`.
* Для примера на Python нужен пакет `requests`: `pip install requests`.
* Каждый пример создания сохраняет ответ в `create.json`, который затем читает шаг запроса статуса.

## Текст в видео

Каждый запрос на создание отправляется на `POST /seedance/api/v3/contents/generations/tasks`. Заголовки, параметры и элементы `content` описаны после примеров, в разделе «Создание задачи».

```bash theme={null}
curl -sS -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  --data-raw '{
    "model": "doubao-seedance-2-0-fast-260128",
    "content": [
      {
        "type": "text",
        "text": "First-person apple fruit tea ad, 4 seconds, fast-paced edit, show apple tea preparation and finished product, fresh bright style"
      }
    ],
    "ratio": "16:9",
    "duration": 4,
    "resolution": "720p",
    "watermark": false,
    "generate_audio": false,
    "return_last_frame": true
  }' | tee create.json
```

В ответе на создание обычно приходит только ID задачи:

```json theme={null}
{
  "id": "cgt-example-task-id"
}
```

## Первый и последний кадры

```bash theme={null}
curl -sS -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  --data-raw '{
    "model": "doubao-seedance-2-0-260128",
    "content": [
      {
        "type": "text",
        "text": "The first frame is image 1 and the final frame is image 2. Create a smooth commercial transition from a red apple product close-up to a finished apple fruit tea cup. Keep product appearance consistent and avoid people."
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
        },
        "role": "first_frame"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg"
        },
        "role": "last_frame"
      }
    ],
    "ratio": "adaptive",
    "duration": 4,
    "resolution": "720p",
    "watermark": false,
    "generate_audio": false,
    "return_last_frame": true
  }' | tee create.json
```

## Референсы: изображение, видео и аудио

```bash theme={null}
curl -sS -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  --data-raw '{
    "model": "doubao-seedance-2-0-fast-260128",
    "content": [
      {
        "type": "text",
        "text": "Use image 1 for the apple product details, video 1 for first-person camera motion, and audio 1 as the background music. Generate a concise apple fruit tea commercial with quick ingredient cuts and a clean finished cup close-up."
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
        },
        "role": "reference_image"
      },
      {
        "type": "video_url",
        "video_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_tea_video1.mp4"
        },
        "role": "reference_video"
      },
      {
        "type": "audio_url",
        "audio_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_audio/r2v_tea_audio1.mp3"
        },
        "role": "reference_audio"
      }
    ],
    "ratio": "16:9",
    "duration": 4,
    "resolution": "720p",
    "watermark": false,
    "generate_audio": true
  }' | tee create.json
```

Чтобы сохранить внешность и личность реального человека, обычного изображения лица недостаточно. Сначала пройдите [процесс создания ассетов реальных людей и виртуальных персонажей](https://docs.laozhang.ai/ru/api-capabilities/seedance2-human-virtual-workflow.md), а когда ассет получит статус `Active`, передайте его URI `asset://...` как `reference_image`.

## Запрос статуса задачи

```http theme={null}
GET https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks/{id}
```

Возьмите ID задачи из `create.json` и проверьте задачу:

```bash theme={null}
TASK_ID=$(jq -r '.id' create.json)

curl -sS "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks/$TASK_ID" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Accept: application/json" | tee task.json | jq -r '.status'
```

Повторяйте запрос каждые 10–15 секунд, пока `status` равен `queued` или `running`. Успешный ответ выглядит так:

```json theme={null}
{
  "id": "cgt-example-task-id",
  "model": "doubao-seedance-2-0-fast-260128",
  "status": "succeeded",
  "ratio": "16:9",
  "duration": 4,
  "resolution": "720p",
  "content": {
    "video_url": "https://example.com/generated-video.mp4",
    "last_frame_url": "https://example.com/last-frame.jpeg"
  },
  "usage": {
    "completion_tokens": 87300,
    "total_tokens": 87300
  }
}
```

Ссылки на результат — временные подписанные URL, обычно они действуют 24 часа. В рабочей среде скачивайте каждый результат сразу после успешного завершения задачи и копируйте в собственное хранилище.

## Скачивание результата

```http theme={null}
GET https://api.laozhang.ai/v1/videos/{id}/content
```

Если в деталях задачи есть ссылка на видео, скачивайте по ней напрямую. Это подписанный URL, заголовок `Authorization` не нужен:

```bash theme={null}
VIDEO_URL=$(jq -r '.content.video_url // .result_url // .data.content.video_url // empty' task.json)
curl -L -o seedance-output.mp4 "$VIDEO_URL"
```

Если ссылки нет или нужен только файл, воспользуйтесь эндпоинтом совместимости. Он находится под `https://api.laozhang.ai/v1`, а не под `/seedance/api/v3`. После успешного завершения задачи он находит сохранённый результат на сервере и возвращает MP4 или перенаправляет на него:

```bash theme={null}
curl -L "https://api.laozhang.ai/v1/videos/$TASK_ID/content" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -o seedance-output.mp4
```

## Пример на Python

Пример создаёт задачу «текст в видео», опрашивает её до 20 минут и сохраняет MP4. Зависимость устанавливается командой `pip install requests`.

```python theme={null}
import os
import time

import requests

API_KEY = os.environ["LAOZHANG_API_KEY"]
BASE_URL = "https://api.laozhang.ai/seedance/api/v3"
DOWNLOAD_URL = "https://api.laozhang.ai/v1/videos/{task_id}/content"
PENDING = {"queued", "running"}
SUCCESS = {"succeeded", "completed"}
POLL_INTERVAL = 15   # секунд между проверками статуса
TIMEOUT = 20 * 60    # ждать не дольше 20 минут; для длинных видео увеличьте

HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Accept": "application/json",
    "Accept-Encoding": "identity",
}


def task_status(task):
    status = task.get("status")
    if status is None and isinstance(task.get("data"), dict):
        status = task["data"].get("status")
    return str(status or "").lower()


def find_video_url(task):
    data = task.get("data") if isinstance(task.get("data"), dict) else {}
    for content in (task.get("content"), data.get("content")):
        if isinstance(content, dict) and content.get("video_url"):
            return content["video_url"]
    return task.get("result_url")


payload = {
    "model": "doubao-seedance-2-0-fast-260128",
    "content": [
        {
            "type": "text",
            "text": "First-person apple fruit tea ad, 4 seconds, fast-paced edit, fresh bright style",
        }
    ],
    "ratio": "16:9",
    "duration": 4,
    "resolution": "720p",
    "watermark": False,
    "generate_audio": False,
    "return_last_frame": True,
}

create_resp = requests.post(
    f"{BASE_URL}/contents/generations/tasks",
    headers=HEADERS,
    json=payload,
    timeout=60,
)
create_resp.raise_for_status()
task_id = create_resp.json()["id"]
print("ID задачи:", task_id)

deadline = time.monotonic() + TIMEOUT
while True:
    query_resp = requests.get(
        f"{BASE_URL}/contents/generations/tasks/{task_id}",
        headers=HEADERS,
        timeout=60,
    )
    query_resp.raise_for_status()
    task = query_resp.json()
    status = task_status(task)
    print("Статус:", status)

    if status in SUCCESS:
        break
    if status not in PENDING:
        raise RuntimeError(f"Задача {task_id} завершилась со статусом {status!r}: {task}")
    if time.monotonic() > deadline:
        raise TimeoutError(f"Задача {task_id} не завершилась за {TIMEOUT // 60} минут")
    time.sleep(POLL_INTERVAL)

video_url = find_video_url(task)
if video_url:
    # Подписанная ссылка: скачивайте без заголовка Authorization.
    video_resp = requests.get(video_url, timeout=300)
else:
    video_resp = requests.get(
        DOWNLOAD_URL.format(task_id=task_id),
        headers={"Authorization": f"Bearer {API_KEY}", "Accept": "video/mp4,*/*"},
        timeout=300,
    )
video_resp.raise_for_status()
with open(f"{task_id}.mp4", "wb") as output:
    output.write(video_resp.content)
print(f"Сохранено: {task_id}.mp4")
```

## Создание задачи

```http theme={null}
POST https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks
```

### Заголовки

| Заголовок | Обязателен | Значение |
| - | - | - |
| `Authorization` | Да | `Bearer $LAOZHANG_API_KEY`, токен из группы `SeeDance2` |
| `Content-Type` | Да | `application/json` |
| `Accept` | Рекомендуется | `application/json` |
| `Accept-Encoding` | Необязательно, для отладки | `identity`: так вы избежите сжатых ответов, которые некоторые клиенты декодируют плохо |

### Параметры запроса

| Параметр | Тип | Обязателен | Описание |
| - | - | - | - |
| `model` | string | Да | Обычный ID модели, например `doubao-seedance-2-0-fast-260128` |
| `content` | array | Да | Мультимодальный массив содержимого; текстовый промпт тоже передаётся здесь |
| `ratio` | string | Нет | `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `21:9` или `adaptive` |
| `duration` | integer | Нет | 4–15 секунд для моделей 2.0, 4–30 для Seedance 2.5 или `-1`, чтобы длину выбрала модель (значение по умолчанию в 2.5) |
| `frames` | integer | Нет | Длина выхода в кадрах; только для Seedance 1.0. Для Seedance 2.0 и 2.5 используйте `duration` |
| `resolution` | string | Нет | `480p`, `720p` или `1080p`; fast и mini — до `720p`. Ни одна из четырёх моделей не поддерживает `4k`: такой запрос сразу вернёт 400 и не будет оплачен |
| `watermark` | boolean | Нет | Добавлять ли водяной знак |
| `generate_audio` | boolean | Нет | Будет ли в видео звук; по умолчанию `true` |
| `return_last_frame` | boolean | Нет | Возвращать ли ссылку на последний кадр |

### Элементы `content`

| Поле | Тип | Обязательно | Описание |
| - | - | - | - |
| `type` | string | Да | `text`, `image_url`, `video_url` или `audio_url` |
| `text` | string | Если `type` равен `text` | Текст промпта |
| `image_url.url` | string | Если `type` равен `image_url` | URL изображения |
| `video_url.url` | string | Если `type` равен `video_url` | URL видео |
| `audio_url.url` | string | Если `type` равен `audio_url` | URL аудио |
| `role` | string | Рекомендуется для медиа | Назначение файла |

Основные значения `role`:

| `role` | Назначение |
| - | - |
| `first_frame` | Изображение первого кадра |
| `last_frame` | Изображение последнего кадра |
| `reference_image` | Референсное изображение |
| `reference_video` | Референсное видео |
| `reference_audio` | Референсное аудио |

В моделях Seedance 2.0 (standard, fast и mini) аудио не может быть единственным референсом: если вы передаёте `audio_url`, добавьте в тот же запрос хотя бы одно изображение или видео. Seedance 2.5 принимает аудио как единственный референс.

## Частые вопросы

### Меня списали дважды за одну задачу Seedance?

Нет. Две строки — это предварительное списание и расчёт по одной задаче, а их сумма и есть стоимость задачи. Как их сверить, описано выше в подразделе про две строки журнала вызовов.

### Сколько стоит видео на 5 секунд?

По ценам на 14 октября 2026 года, для задачи 16:9 без входного видео и с выходом 5 секунд (121 кадр):

* Seedance 2.5: около \$1.31 при 720p, \$3.23 при 1080p
* Seedance 2.0 standard: около \$0.86 при 720p, \$2.14 при 1080p
* fast: около \$0.69 при 720p; mini: около \$0.43 при 720p

Стоимость растёт вместе с длительностью, поэтому 10 секунд обойдутся примерно вдвое дороже. Фактическое число токенов — это `usage.completion_tokens` в результате задачи; формула приведена в подразделе «Оценка стоимости задачи».

### Насколько Seedance 2.5 дороже 2.0?

Примерно в 1.5 раза за токен при том же разрешении: \$12.00 против \$7.88 за 1M токенов при 720p и \$13.20 против \$8.74 при 1080p, без входного видео. Одно и то же 5-секундное видео в 720p стоит около \$1.31 на 2.5 и около \$0.86 на 2.0. Что даёт 2.5 (ролики длиннее 15 секунд, больше референсных файлов, аудио как единственный референс, выход MOV), описано в вопросе о выборе модели ниже.

### Списывают ли деньги, если запрос отклонён или задача не выполнена?

Нет. Если запрос на создание отклонён сразу, например ошибкой параметров 4xx без ID задачи, списания нет. Если задача создана, но завершилась статусом `failed` или `expired`, предварительное списание возвращается при расчёте задачи.

Фактическое списание видно в [журнале вызовов](https://api.laozhang.ai/log). Если по неудавшейся или истёкшей задаче всё равно остался платёж, напишите в [поддержку](mailto:hi@laozhang.ai) и укажите ID задачи.

### Множитель группы `SeeDance2` — это скидка?

Нет. Множитель 0.1714 переводит списочные цены Volcengine в юанях в доллары на вашем балансе и даёт около 1.2× от списочной цены; надбавка покрывает налоги, конвертацию валют и трансграничные расчёты, эксплуатацию платформы и техническую поддержку. Пересчёт и цены за токен — в разделе «Оплата и цены».

### Почему 1080p дороже и дороже ли вертикальное видео?

1080p стоит дороже по двум причинам, а соотношение сторон почти не влияет. Во-первых, цена за токен выше (см. раздел «Оплата и цены»), во-вторых, расход токенов растёт вместе с числом пикселей на выходе. Пять секунд в 720p используют около 108 900 токенов, а пять секунд в 1080p — около 245 025, поэтому видео в 1080p обходится заметно дороже.

При одном разрешении у всех соотношений сторон примерно одинаковое число пикселей: в 720p 16:9 — это 1280×720, а 9:16 — 720×1280. Горизонтальное, вертикальное и квадратное видео поэтому стоят примерно одинаково. Формула приведена в подразделе «Оценка стоимости задачи».

### Какой путь и значение `model` отправлять?

Отправляйте запросы на `/seedance/api/v3/contents/generations/tasks`. Если убрать `/api` из префикса (`/seedance/v3/...`), вместо JSON придёт HTML сайта; то же происходит при запросе списка без ID задачи.

В `model` передавайте обычный ID модели, например `doubao-seedance-2-0-260128`. Не передавайте ID эндпоинта `ep-...` и не добавляйте пометку после ID.

### Какую модель выбрать: 2.0 standard, fast, mini или 2.5?

Выбирайте по нужной возможности:

* **1080p:** 2.0 standard или 2.5. Fast и mini ограничены 720p.
* **Больше 15 секунд, больше 9 референсных изображений, аудио как единственный референс или выход MOV:** 2.5. Модели 2.0 принимают до 9 изображений, 3 видео и 3 аудиоклипов.
* **Самая низкая цена:** у mini она самая низкая, fast находится между mini и standard. Внутри семейства 2.0 самое высокое качество у standard.

Все четыре модели используют один эндпоинт и группу `SeeDance2`. Цены сравнивайте в разделе «Оплата и цены», а возможности — в разделе «Модели».

### Почему в моём видео есть звук и как его отключить?

В Seedance 2.0 и 2.5 `generate_audio` по умолчанию равно `true`, поэтому модель добавляет голоса, звуковые эффекты и фоновую музыку в соответствии с промптом и картинкой, в моно.

Чтобы получить видео без звука, передайте `"generate_audio": false`. Для реплик помогает заключить диалог в двойные кавычки.

### Где итоговая ссылка на видео и сколько она действует?

В объекте задачи в стиле Ark это `content.video_url`, ссылка действует 24 часа. Объект задачи в формате LaoZhang может вернуть её в поле верхнего уровня `result_url` или в `data.content.video_url`. Если нужен только файл, вызовите `/v1/videos/{id}/content`.

Volcengine хранит ссылку на видео 24 часа, а ссылку на видео Seedance 2.5 можно скачать не более 100 раз. Скачайте видео сразу после успешного завершения задачи, храните его у себя и отдавайте пользователям собственную ссылку.

### Может ли аудио быть единственным референсом?

Только в Seedance 2.5. В моделях Seedance 2.0 (standard, fast и mini) передавайте аудио вместе хотя бы с одним изображением или видео.

## Связанные материалы

* [API ассетов реальных людей и виртуальных персонажей Seedance](https://docs.laozhang.ai/ru/api-capabilities/seedance2-human-virtual-workflow.md)
* [API генерации видео Wan 2.7](https://docs.laozhang.ai/ru/api-capabilities/wan-video-generation.md)
* [API Sora 2 закрыт: переход на Wan или Seedance](https://docs.laozhang.ai/ru/api-capabilities/sora2/official-forward.md)
* [Каталог моделей и цен](https://docs.laozhang.ai/ru/models.md)
* [Как просматривать журнал вызовов](https://docs.laozhang.ai/en/faq/call-logs.md)
* [Цены на модели Volcengine Ark](https://www.volcengine.com/docs/82379/1544106?lang=zh) (на китайском)


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