# Seedance 2.0 Mini — /videos/generations

Генерация видео Seedance 2.0 Mini (асинхронно): начальный уровень — самый дешёвый по цене за секунду на сайте; длительность — любое целое число от 5 до 15 секунд, разрешение 480P / 720P (по умолчанию 720P), пять соотношений сторон, audio включает/выключает звуковую дорожку (по умолчанию true); для режима изображение в видео укажите image. Возвращает job id (HTTP 202); опрашивайте GET /v1/videos/jobs/{id}. Оплата посекундная (секунды референсных видео тоже учитываются), при ошибке — полный возврат.

**Эндпоинт:** `POST https://nezhagate.com/v1/videos/generations`

## Аутентификация
```
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

## Тело запроса
| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `model` | string | Да | Идентификатор модели, здесь seedance-2.0-mini. |
| `prompt` | string | Да | Текстовый промпт с описанием видео, камеры и движения. Не более 5000 байт (UTF-8; китайский иероглиф занимает 3 байта). Если референсных изображений несколько, к ним можно обращаться в промпте как @Image1 / @Image2, например «персонаж с @Image1 в сцене с @Image2»; без таких меток модель решает сама. |
| `duration` | integer | Нет | Длительность в секундах — любое целое число от 5 до 15 (по умолчанию 5); псевдоним seconds. Оплата по секундам. |
| `resolution` | string | Нет | Разрешение: 480P / 720P (по умолчанию 720P; у каждого уровня своя цена — см. страницу модели). |
| `size` | string | Нет | Соотношение сторон: 16:9 / 9:16 / 1:1 / 4:3 / 3:4 (по умолчанию 16:9); псевдоним aspect_ratio. |
| `audio` | boolean | Нет | Каждый ролик выходит со звуком (диалоги, эффекты и музыка создаются по промпту); отключить его нельзя, false ни на что не влияет. |
| `image` | string | Нет | Одно референсное изображение (публичный URL, data: URI или base64) — модель получает его как референс для персонажей, объектов, сцены или стиля; для нескольких используйте images. Управления первым кадром у модели нет, поэтому изображение не обязательно откроет ролик. Без референсов это text-to-video. |
| `images` | array | Нет | Несколько референсных изображений — для этой модели до 9. Каждый элемент — публичный URL, data: URI или base64. Превышение лимита отклоняется, а не обрезается. Псевдоним: reference_images. Каждое изображение до 16 МБ, jpg / png / webp / gif; в промпте обращайтесь к ним по порядку: @Image1, @Image2, ... |
| `image_role` | string | Нет | Необязательный. Референсные изображения всегда используются как референс (персонажи, сцена, стиль) и указываются в промпте как @Image1…; управления первым и последним кадром у модели нет. |
| `audio_reference` | string / array | Нет | Публичные ссылки http(s) на референсное аудио, до 3. Передаётся только вместе с референсным изображением или видео; псевдоним audio_references (не передавайте оба). Можно и base64 (data:audio/mpeg;base64,...), mp3 / wav / m4a; в промпте обращайтесь к нему как @Audio1. |
| `video_references` | array | Нет | Референсные видео, до 3. Каждое — публичная ссылка http(s) или локальный файл, переданный прямо в запросе как base64 (data:video/mp4;base64,..., mp4 / mov, до 50 МБ каждый); мы размещаем его у себя и передаём ссылку провайдеру. Можно передавать вместе с референсными изображениями в одном запросе (например, фото задают внешность персонажей, а видео — движение и камеру); в промпте обращайтесь к ним как @Image1 / @Video1. Каждое видео не длиннее 30 с, суммарно не более 15 с; размещённые у нас референсы хранятся 7 дн. |

## Пример запроса
```bash
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.0-mini", "prompt": "a cat surfing a wave at sunset", "duration": 5, "resolution": "720P", "size": "16:9"}'
# with references: add "images": ["https://example.com/a.png"], "video_references": ["https://example.com/move.mp4"], "audio_reference": ["https://example.com/bgm.mp3"] and name them @Image1 / @Video1 / @Audio1 in the prompt
# 2) poll every ~5s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
```

## Ответ
```json
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "queued",
  "model": "seedance-2.0-mini"
}
```

## Требования к контенту

Каждая задача Seedance проходит проверку контента: промпт, файлы-референсы и готовый ролик — и изображение, и звук. Задача, не прошедшая проверку, завершается с `content_policy`, деньги не списываются.

### Когда идёт проверка

При отправке проверяются промпт и референсы; после генерации ролика ещё раз проверяются изображение и звук. Поэтому отказ может прийти через несколько секунд после отправки или только после окончания рендера (это может занять больше получаса). Задача, завершившаяся со `status` `failed` и `error.code` `content_policy`, не прошла проверку; с вебхуком придёт событие `video.failed`.

### Без оплаты

Отклонённая задача ничего не стоит: сумма, зарезервированная при отправке, полностью возвращается по завершении задачи, а в журнале вызовов она отмечена как неоплаченная.

### Звук

Звук (реплики, закадровый текст, пение и эффекты) модель генерирует по промпту, и он проверяется вместе с изображением: реплики, закадровый текст и тексты песен из промпта озвучиваются или поются. Если в ролике не нужны голоса, не пишите в промпте реплики и тексты песен. Эта модель всегда добавляет звук, отключить его нельзя: `audio: false` ни на что не влияет. Загруженное аудио-референс тоже проверяется; музыка, защищённая авторским правом, в качестве референса может быть отклонена. Если не прошёл звук, `error.param` равен `audio`, а в message сказано, был ли это сгенерированный звук или ваше аудио-референс.

### Что чаще всего отклоняется

- Сексуальный контент, обнажённость или сексуальные намёки, в том числе изображения, созданные или смонтированные с помощью ИИ
- Кровь, жестокость, самоповреждение и насильственные травмы, например огнестрельные ранения и кровотечение
- Огнестрельное оружие, взрывчатка и наркотики
- Любой сексуализированный контент с несовершеннолетними; несовершеннолетние рядом с алкоголем, табаком, наркотиками или в опасных ситуациях тоже отклоняются
- Политики, знаменитости, спортсмены, бизнесмены и другие публичные лица — внешность или голос, включая двойников
- Персонажи и объекты, защищённые авторским правом, например персонажи Disney или Marvel
- Контент с ненавистью или дискриминацией, фейковые новости

### Длинные сценарии

Одна сцена с нарушением отклоняет весь ролик, и чаще всего это случается в длинных раскадровочных сценариях: перестрелка или крупный план крови в экшен-сцене, несовершеннолетние, которые пьют или курят, — и весь ролик не пройдёт. Перед отправкой прочитайте сценарий целиком и удалите или перепишите такие сцены.

### Реальные люди

Чтобы использовать фото реального человека как референс, нужно право на использование его изображения.

### После отказа

Повторная отправка того же самого снова будет отклонена. Найдите часть, которая скорее всего нарушает правила, перепишите промпт или замените референс и отправьте заново.

Код ошибки: `content_policy` · `status: failed`