# Kling 4.0 — видео, Kuaishou, через API СОЮЗа

> Идентификатор для поля `model`: `kling-4.0`. Страница: https://souz.ai/models/kling-4.0. Текст, изображение, видео, звук → Видео. Выпущена 15 октября 2026.

СОЮЗ — единый API к нейросетям разных вендоров: один ключ, общий баланс в рублях, списание только за успешный запрос. Эта модель вызывается по контракту ниже.

Kling 4.0 — ваш герой, голос и камера в одной сцене. До 30 секунд для рекламы, клипов и коротких историй.

## Цены

Неуспешный запрос не тарифицируется. В ответах API итог — `price` у задачи и `usage.cost` у чата — целые микроединицы валюты платформы (1 единица = 1 000 000 микро), а сама валюта приезжает рядом полем `currency` (сейчас `RUB`). У незавершённой задачи `price: null`.

- Разрешение 720p, 3 с, без видео-референса — от 19,401375 ₽ за секунду
- Разрешение 720p, 3 с, с видео-референсом — от 11,57275 ₽ за секунду ролика и клипа
- Разрешение 1080p, 3 с, без видео-референса — от 28,931875 ₽ за секунду
- Разрешение 1080p, 3 с, с видео-референсом — от 17,359125 ₽ за секунду ролика и клипа

Цены и типичное время пресетов роутинга — поле `routing`: `cheap` «Дешевле», `balanced` «Баланс» (по умолчанию), `fast` «Быстрее». Пресет задаёт порядок каналов; где пресеты начинают с одного канала, цена у них общая. Потолок `max_price_multiplier` (`1.5`, `2`, `3`, `5`, `10`) не даёт пробовать каналы дороже цены пресета больше чем во столько раз.

- Разрешение 720p, 3 с, без видео-референса: Синий (`blue`) — 19,401375 ₽ за секунду.
- Разрешение 720p, 3 с, с видео-референсом: Синий (`blue`) — 11,57275 ₽ за секунду ролика и клипа.
- Разрешение 1080p, 3 с, без видео-референса: Синий (`blue`) — 28,931875 ₽ за секунду.
- Разрешение 1080p, 3 с, с видео-референсом: Синий (`blue`) — 17,359125 ₽ за секунду ролика и клипа.

Ставки за секунду ролика; с видео-референсом оплачиваются и секунды входного клипа. Цена «от» — у самого дешёвого канала; цены и скорость каждого — в блоке «Каналы». При авто-роутинге цена может меняться.

## Каналы

Канал — постоянный цвет внутри модели: у каждого свои ставки, задержка, скорость и стабильность. Цвет не означает «дешёвый» или «быстрый», одинаковый цвет у другой модели — другой канал. Задержка и скорость — медиана за последний час, стабильность — доля успешных вызовов за 7 дней; «нет данных» — замеров пока мало, а не ноль.

Каналов: 1. Данные на момент сборки страницы; свежие — `GET https://api.souz.ai/v1/models/kling-4.0/channels` без ключа (там же HEX цвета, пределы входа и p90).

| Канал (`id`) | Название | Доступен | Ставки | Время ответа, p50 за сутки | Стабильность, 7 дней |
| --- | --- | --- | --- | --- | --- |
| `blue` | Синий | да | 97,006875 ₽ за запрос с параметрами по умолчанию | 3 мин 24 с | нет данных |

Как выбрать канал:

- По умолчанию канал выбирает Авто-роутинг: пресет `routing` (`cheap`, `balanced`, `fast`) задаёт порядок каналов, при отказе запрос переходит к следующему.
- На один запрос — поле `routing_options`: `{"only": ["blue"]}` — только этот канал, без запасных; `{"order": ["blue"]}` — сначала он, затем остальные; `"allow_fallbacks": false` — только каналы из `order`; `{"ignore": [...]}` — исключить; `max_price` — пределы ставок. SDK OpenAI — через `extra_body`.
- Бесплатная проверка без запуска: `POST https://api.souz.ai/v1/models/kling-4.0/routing/preview` с теми же `routing`, `routing_options` и `params` — каналы в порядке попыток (`channels`), у каждого оценка `estimated_price`; запрос начнётся с первого. Пустой `channels` — с такими условиями запрос не выполнить. Настройки аккаунта превью применяет, как запрос.
- Закрепить по умолчанию для всех запросов аккаунта к модели: `PATCH https://api.souz.ai/v1/settings` ключом управления с `{"routing_options": {"kling-4.0": {"only": ["blue"]}}}`. PATCH заменяет всю карту — сначала прочитайте `GET https://api.souz.ai/v1/settings` и сохраните настройки других моделей. Запрос без `routing_options` наследует настройку; `{}` в запросе — автоматический выбор на один вызов.
- MCP: https://api.souz.ai/mcp — инструменты `list_channels`, `compare_channels`, `preview_routing`, `pin_channel`, `unpin_channel`. Подключение в Claude Code: `claude mcp add --transport http souz https://api.souz.ai/mcp --header "Authorization: Bearer $SOUZ_API_KEY"`.
- Каким каналом выполнен запрос — поле `channel` в ответе (у чата — и в каждом чанке потока), в задаче, вебхуке и истории запросов; `attempt_count` — сколько было попыток.

## Подключение по API

- Адрес: `POST https://api.souz.ai/v1/videos`
- Авторизация: заголовок `Authorization: Bearer <ключ>`. Ключ создаётся в кабинете: https://souz.ai/keys.
- Тело запроса — JSON, `Content-Type: application/json`, поле `model` — `kling-4.0`.
- Ответ — `202` с объектом задачи (`object: "job"`); дальше `GET https://api.souz.ai/v1/jobs/{id}` до `status: completed` или `failed`, события `GET …/jobs/{id}/events` (SSE) или вебхук по `callback_url`. Ролик — в `data[0].url`, итог — в `price`. Файлы живут 1 день по подписанной ссылке: нужен дольше — скачайте.
- Ошибки — JSON вида `{ "error": { "type", "code", "message", "detail" } }` с кодом HTTP 4xx/5xx; ветвиться — по `type` и `code`. `401` — неверный ключ; `402` с кодом `insufficient_balance` — не хватает средств на балансе, `key_spend_limit_exceeded` или `member_spend_limit_exceeded` — исчерпан лимит трат ключа или участника, повтор не поможет; `400` с кодом `capability_mismatch` или `invalid_request` — запрос не подходит модели, в `error.detail[]` — поле (`path`), причина (`reason`) и что подойдёт (`allowed`); `503 model_unavailable` — модель сейчас недоступна, повторите после `Retry-After`.
- Руководство по API целиком: https://souz.ai/docs, спецификация OpenAPI: https://api.souz.ai/openapi.json.

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

Отправляются поля из этой таблицы. Кроме них — общие поля задач `routing`, `routing_options`, `max_price_multiplier`, `store`, `callback_url` и `user`. Незнакомое поле — `400 invalid_request` с `detail[].reason: unsupported_field`; значение, которое у модели ничего не меняет, принимается молча. Вся схема тела машинно — `input_schema` в карточке `GET /v1/models/kling-4.0` (JSON Schema).

| Поле | Тип | Обязательное | Значения | По умолчанию | Описание |
| --- | --- | --- | --- | --- | --- |
| `prompt` | строка | да | текст, до 10 000 символов | — | Описание. Ссылайтесь на материалы через @image_1, @video_1 или заданное имя. В режиме кадров: @first_frame, @keyframe_1 и @last_frame. |
| `resolution` | перечисление | нет | 720p, 1080p | `720p` | Разрешение |
| `duration_seconds` | целое | да | целое, от 3 до 30, шаг 1 | `5` | Длительность |
| `aspect_ratio` | перечисление | нет | auto, 16:9, 9:16, 1:1, 21:9 | `auto` | Соотношение сторон. С ключевыми кадрами формат задаёт первый кадр. |
| `audio` | флаг | нет | да или нет | `false` | Звук. Нативный звук и речь. Выключение убирает звуковую дорожку из результата. |
| `keep_original_sound` | флаг | нет | да или нет | `false` | Сохранить звук исходника. Для видео-референсов. Включите «Звук», чтобы сохранить дорожку в результате. |
| `first_frame` | изображение | нет | изображение | — | Первый кадр |
| `last_frame` | изображение | нет | изображение | — | Последний кадр. Можно использовать без первого кадра. |
| `keyframes` | список | нет | объекты с полями image, до 8 | — | Ключевые кадры. В хронологическом порядке, без таймкодов. Всего кадров не больше длительности плюс один, максимум десять. |
| `references` | изображение | нет | изображения, до 10 | — | Изображения. Используйте @image_1, @image_2 и далее по порядку. |
| `reference_videos` | видео | нет | ссылки https на видео, до 5 | — | Видео. От 2 до 30 секунд каждый; вместе до 30 секунд. В описании: @video_1 и далее. Оплачиваются вход + выход, минимум две длительности выхода. Видео персонажей входят в предел пяти видеоматериалов, но сами считаются по обычной ставке выхода. |
| `elements` | список | нет | объекты с полями name, tag, description, images, video, voice, до 7 | — | Персонажи и объекты. Имя используется как @имя. Задайте 2–4 ракурса либо одно видео персонажа на 3–8 секунд. Все материалы вместе: до 15. |
| `voices` | список | нет | объекты с полями name, audio, до 3 | — | Голоса. Запись с разборчивой речью. В описании используйте @имя голоса. |

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

### cURL

```bash
curl https://api.souz.ai/v1/videos \
  -H "Authorization: Bearer $SOUZ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-4.0",
    "prompt": "Медленный пролёт камеры над утренним городом",
    "resolution": "720p",
    "duration_seconds": 5,
    "aspect_ratio": "auto",
    "audio": false,
    "keep_original_sound": false
  }'
```

### Python

```python
import os
import requests

SOUZ_API_KEY = os.environ["SOUZ_API_KEY"]

response = requests.post(
    "https://api.souz.ai/v1/videos",
    headers={"Authorization": f"Bearer {SOUZ_API_KEY}"},
    json={
      "model": "kling-4.0",
      "prompt": "Медленный пролёт камеры над утренним городом",
      "resolution": "720p",
      "duration_seconds": 5,
      "aspect_ratio": "auto",
      "audio": false,
      "keep_original_sound": false
    },
)
print(response.json())
```

### TypeScript

```typescript
const response = await fetch("https://api.souz.ai/v1/videos", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SOUZ_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "kling-4.0",
    "prompt": "Медленный пролёт камеры над утренним городом",
    "resolution": "720p",
    "duration_seconds": 5,
    "aspect_ratio": "auto",
    "audio": false,
    "keep_original_sound": false
  }),
});
console.log(await response.json());
```

### Канал

```bash
curl https://api.souz.ai/v1/videos \
  -H "Authorization: Bearer $SOUZ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-4.0",
    "prompt": "Медленный пролёт камеры над утренним городом",
    "resolution": "720p",
    "duration_seconds": 5,
    "aspect_ratio": "auto",
    "audio": false,
    "keep_original_sound": false,
    "routing_options": {
      "only": [
        "blue"
      ]
    }
  }'
```

## Примеры ответа

### 202 — задача принята

```json
{
  "id": "job_01k9m2",
  "object": "job",
  "created": 1774170000,
  "created_at": "2026-03-22T09:00:00Z",
  "completed_at": null,
  "model": "kling-4.0",
  "modality": "video",
  "status": "queued",
  "routing": "cheap",
  "max_price_multiplier": null,
  "routing_options": null,
  "attempt_count": 0,
  "channel": null,
  "price": null,
  "currency": "RUB",
  "usage": null,
  "data": [],
  "error": null
}
```

### GET /v1/jobs/{id}

```json
{
  "id": "job_01k9m2",
  "object": "job",
  "created": 1774170000,
  "created_at": "2026-03-22T09:00:00Z",
  "completed_at": "2026-03-22T09:00:09Z",
  "model": "kling-4.0",
  "modality": "video",
  "status": "completed",
  "routing": "cheap",
  "max_price_multiplier": null,
  "routing_options": null,
  "attempt_count": 1,
  "channel": "blue",
  "price": 58204125,
  "currency": "RUB",
  "usage": null,
  "data": [
    {
      "id": "file_9f2ac1",
      "object": "file",
      "kind": "result",
      "type": "video",
      "role": "result",
      "url": "https://media.souz.ai/v1/files/file_9f2ac1/souz_kling-4.0_9f2ac1.mp4?exp=1774774809&sig=…",
      "content_type": "video/mp4",
      "filename": "souz_kling-4.0_9f2ac1.mp4",
      "bytes": 18432011,
      "created_at": "2026-03-22T09:00:09Z",
      "expires_at": "2026-03-29T09:00:09Z",
      "expired": false
    }
  ],
  "error": null
}
```

## Вопросы и ответы

**Что такое Kling 4.0?**

Kling 4.0 — ваш герой, голос и камера в одной сцене. До 30 секунд для рекламы, клипов и коротких историй. Доступна в СОЮЗе по единому API и в плейграунде на этой странице.

**Сколько стоит Kling 4.0?**

Kling 4.0 стоит: разрешение 720p, 3 с, без видео-референса — от 19,401375 ₽ за секунду, разрешение 720p, 3 с, с видео-референсом — от 11,57275 ₽ за секунду ролика и клипа, разрешение 1080p, 3 с, без видео-референса — от 28,931875 ₽ за секунду, разрешение 1080p, 3 с, с видео-референсом — от 17,359125 ₽ за секунду ролика и клипа. Ставки за секунду ролика; с видео-референсом оплачиваются и секунды входного клипа. Цена «от» — у самого дешёвого канала; цены и скорость каждого — в блоке «Каналы». При авто-роутинге цена может меняться. Списывается только успешный запрос, неудачный не стоит ничего.

**Что Kling 4.0 принимает на вход и что отдаёт?**

Kling 4.0 принимает текст, изображения, видео и звук и отдаёт видео. В одном запросе: первый кадр — одно изображение; последний кадр — одно изображение; изображения — до 10 изображений; видео — до 5 ссылок https на видео.

**Какие форматы поддерживает Kling 4.0?**

Kling 4.0 поддерживает: разрешение — 720p или 1080p, по умолчанию 720p; длительность — от 3 до 30, по умолчанию 5; соотношение сторон — Авто, 16:9, 9:16, 1:1 или 21:9, по умолчанию Авто.

**Как вызвать Kling 4.0 через API?**

Запросом POST https://api.souz.ai/v1/videos с полем model: "kling-4.0" и ключом СОЮЗа в заголовке Authorization: Bearer. Ответ — 202 с объектом задачи; готовый ролик забирается из GET /v1/jobs/{id}, потока событий или по вебхуку. Примеры на cURL, Python и TypeScript — в разделе «Подключение по API».

**Что такое каналы Kling 4.0 и как выбрать конкретный?**

Kling 4.0 выполняется через один канал — «Синий» (blue). У каждого канала свои ставки, задержка, скорость и стабильность за 7 дней — они в блоке «Каналы» на этой странице и в GET https://api.souz.ai/v1/models/kling-4.0/channels. Цвет не означает «дешёвый» или «быстрый», а одинаковый цвет у другой модели — другой канал. По умолчанию канал выбирает Авто-роутинг по пресету «Дешевле», «Баланс» или «Быстрее». Конкретный канал задаёт поле routing_options: {"only": ["blue"]} — только этот канал, {"order": ["blue"]} — сначала он, затем остальные. Чтобы закрепить канал для всех запросов к модели, сохраните ту же настройку в аккаунте: PATCH https://api.souz.ai/v1/settings ключом управления или в кабинете. Каким каналом выполнен запрос, видно в поле channel ответа и в истории.

**Можно ли попробовать Kling 4.0 без кода?**

Да: плейграунд на этой странице запускает Kling 4.0 с теми же параметрами, что и API. Нужен аккаунт СОЮЗа. Цена выбранного пресета видна на кнопке запуска, когда объём известен до запуска; у ролика с клипом-референсом — ставка за секунду под выбором пресета. Пока запрос выполняется, в истории вместо цены стоит прочерк; итог появляется только после завершения.

**Когда вышла Kling 4.0?**

Kling 4.0 выпущена Kuaishou 15 октября 2026.

## Ссылки

- Страница модели: https://souz.ai/models/kling-4.0
- Каталог моделей: https://souz.ai/models
- Все модели одним файлом: https://souz.ai/llms.txt
- Кабинет (ключи, баланс, история запросов): https://souz.ai/overview
