Генерация видео — /v1/video/generations

Синхронный эндпоинт POST /v1/video/generations (альяс /v1/videos). Модели klingai/kling-v3.0-t2v, kling-v3.0-i2v, veo-3.1. Параметры model, prompt, n, duration. Оплата по клипам. Пример на curl, Python и Node.

Синхронный OpenAI-совместимый эндпоинт генерации видео. Запрос выполняется до 15 минут: клиент ждёт ответа с прямым URL на готовый ролик. Для длинных генераций и webhook-уведомлений используйте асинхронный /api/media/generate — но если вам нужен простой POST с немедленным результатом, этот эндпоинт подойдёт.

POSThttps://plusvibeapi.ru/v1/video/generations
POSThttps://plusvibeapi.ru/v1/videos

Путь /v1/videos — альтернативный алиас для совместимости (поведение идентично). Запрос проксируется напрямую в upstream; биллинг списывается по клипам с маржой 50% от себестоимости upstream.

Параметры

ПараметрТипОписание
modelобяз.stringМодель генерации видео. Доступные: klingai/kling-v3.0-t2v, klingai/kling-v3.0-i2v, google/veo-3.1. Полный список — в каталоге.
promptобяз.stringТекстовое описание сцены для генерации.
nintegerКоличество роликов (по умолчанию 1). Цена умножается на n.
durationintegerДлительность ролика в секундах (5 или 10 для Kling). Биллинг Kling — за 5-секундный юнит.

Примеры

curl https://plusvibeapi.ru/v1/video/generations \
  -H "Authorization: Bearer $PLUSVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "klingai/kling-v3.0-t2v",
    "prompt": "Кот на скейте, замедленная съёмка, закат",
    "n": 1,
    "duration": 5
  }'

Заголовки ответа

ПараметрТипОписание
x-pv-cost-rubstringТочная сумма списания в рублях за этот запрос (4 знака после запятой).
x-pv-media-unitsintegerКоличество сгенерированных клипов (совпадает с n из запроса).
Видео — дорогая генерация. Перед боевыми запросами проверяйте цену программно через GET /v1/pricing (раздел media) или через каталог медиа. Точные цены за клип зависят от модели и длительности.

Клипы против секунд

Биллинг считается по юнитам: один юнит = 5 секунд ролика (Kling). 10-секундный клип = 2 юнита, 5-секундный = 1 юнит. Поле n умножает количество клипов. Итоговое списание = pricePerUnitRub × units × n. Если upstream не раскрыл цену в каталоге — используется безопасный потолок.