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

```text
POST /v1/videos/generations
```

Создаёт асинхронную джобу. Жизненный цикл тот же, что у картинок: `202` → [опрос](/jobs) или [вебхук](/webhooks) → `data[0].url` (mp4). Видео генерируется от ~1 до десятков минут в зависимости от модели и длительности.

## Параметры

| Поле | Тип | Описание |
|---|---|---|
| `model` | string, **обяз.** | ID модели, например `souz/veo3-fast` — [каталог](/models) |
| `prompt` | string, **обяз.** | Описание сцены (до 5000 символов) |
| `aspect_ratio` | string | `16:9` / `9:16` / `1:1` / `auto`. По умолчанию `16:9` |
| `duration` | string или число | Секунды, допустимые значения — у модели в каталоге. По умолчанию `5` |
| `image` | string | Картинка-референс (data URL или https URL): первый кадр / оживление |
| `images` | string[] | Несколько референсов (например первый + последний кадр) |
| `callback_url` | string | Вебхук для этой джобы — [подробнее](/webhooks) |
| *продвинутые поля* | — | Параметры конкретной модели верхним уровнем (белый список `advanced_params`) |

Цена видео = кредиты/сек × длительность × множитель режима (+ надбавки). Точная цена возвращается в `price` сразу при создании. Тарифы — в [каталоге](/models).

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

```bash
curl https://api.souz.ai/v1/videos/generations \
  -H "Authorization: Bearer sk-souz-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "souz/kling-3",
    "prompt": "волна разбивается о скалы в замедленной съёмке, золотой час",
    "aspect_ratio": "16:9",
    "duration": "5",
    "mode": "pro",
    "sound": true
  }'
```

`mode` и `sound` — продвинутые поля Kling 3.0 (режим качества `std`/`pro`/`4K` и генерация звука).

## Картинка → видео (оживление)

```python
import base64, requests

img = base64.b64encode(open("photo.jpg", "rb").read()).decode()

r = requests.post(
    "https://api.souz.ai/v1/videos/generations",
    headers={"Authorization": "Bearer sk-souz-..."},
    json={
        "model": "souz/kling-2.6",
        "prompt": "лёгкий ветер, человек улыбается и машет рукой",
        "image": f"data:image/jpeg;base64,{img}",
        "duration": "5",
    },
)
```

Для видео-референсов строже лимиты: PNG/JPEG, до 10 МБ (мы автоматически конвертируем WEBP/HEIC в допустимый формат).

## Примеры продвинутых полей

| Модель | Поля | Что делают |
|---|---|---|
| `souz/kling-3` | `mode`, `sound`, `multi_shots`, `negative_prompt` | режим `std`/`pro`/`4K`, звук, мультишот, негативный промпт |
| `souz/kling-2.1` | `negative_prompt`, `cfg_scale` | негативный промпт, строгость следования промпту (0–1) |
| `souz/seedance-2` | `first_frame_url`, `last_frame_url`, `reference_image_urls`, `camera_fixed`, `generate_audio` | кадры, референсы, фиксация камеры, аудио (+10 кредитов) |
| `souz/veo3`, `souz/veo3-fast` | `generationType`, `seeds` | режим (`TEXT_2_VIDEO` / `FIRST_AND_LAST_FRAMES_2_VIDEO`), сид |

Актуальный список — всегда в [каталоге](/models) и `GET /v1/models` (`capabilities.advanced_params`).

## Забрать результат

Опрашивай `GET /v1/jobs/{id}` раз в 5–10 секунд (видео — не торопится). Или укажи `callback_url` — пришлём готовую ссылку [вебхуком](/webhooks), без опроса.

```json
{
  "id": "job_...",
  "object": "video",
  "status": "completed",
  "price": 84,
  "data": [{ "url": "https://api.souz.ai/v1/files/res_....mp4?exp=...&sig=..." }]
}
```

Файл хранится ~24 часа — скачивай сразу.
