Генерация видео · kling

Kling VIDEO 3.0 Pro

kling-30-pro

Kling VIDEO 3.0 Pro — генерация видео от kling, доступная через единый Ranvik API. Поддерживаемые возможности: high_quality, image_to_video, motion_control, text_to_video.

от 31.36 ₽ / сек

Технические характеристики

МодальностьГенерация видео
Провайдерkling
СтатусАктивна
ID для запросовkling-30-pro

Возможности

  • Высокое качество
  • Image-to-video
  • Motion Control
  • Text-to-video

Цены

ЕдиницаЦена
за секунду · no audio31.36 ₽
за секунду · with audio47.04 ₽

Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.

Поддерживаемые параметры

Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.

ПараметрТипДиапазон / valuesDefaultОписание
positivePromptstringmin: 2 · max: 2500 Текстовый промпт описывающий генерируемое видео. Можно использовать ссылки на элементы: <<<element_1>>>, <<<element_2>>>, ... (см. inputs.elements). Обязателен ИЛИ positivePrompt, ИЛИ providerSettings.klingai (взаимоисключаемо).
примеры значений
Примеры
<<<element_1>>> танцует в неоновом баре, кинематографический ракурс, плавная камера.
negativePromptstringmin: 2 · max: 2500 Что НЕ должно быть в результате.
widthinteger Ширина в px. Парный к height — только валидные комбинации (см. ниже). Только 1080p.
heightinteger Высота в px. Парный к width. Список валидных значений — см. combos у width.
durationintegermin: 3 · max: 155 Длительность видео в секундах (3..15, шаг 1). При providerSettings.klingai.multiPrompt — сумма durations всех сегментов должна быть = этому значению.
примеры значений
Примеры
5
10
15
inputs.frameImagesarray of strings or objectsmin: 1 · max: 2 Image-to-video. Каждый item — либо строка, либо объект {image, frame}. 1 image → first, 2 → first+last. Если задан — width/height наследуются из изображения.
2 формата ввода
Format 1: string[]

Image input — URL / UUID / Data URI / Base64.

[
  "https://example.com/first-frame.jpg"
]
Format 2: object[]
ПолеТипЗначенияОписание
imagereqstring Image input (UUID / URL / Data URI / Base64).
frameenumfirst, last, 0, -1 Target frame position: first / last — крайние, 0 — first index, -1 — last index.
[
  {
    "image": "https://example.com/start.jpg",
    "frame": "first"
  },
  {
    "image": "https://example.com/end.jpg",
    "frame": "last"
  }
]
inputs.referenceImagesarray of stringsmin: 1 · max: 1 Reference-изображение для визуального гайда (URL / UUID / Data URI / Base64). Только 1 элемент.
примеры значений
Примеры
[
  "https://example.com/style.jpg"
]
inputs.referenceVideosarray of stringsmin: 1 · max: 1 Reference-видео для motion/style гайда (UUID / URL). Только 1 элемент. ВНИМАНИЕ: дока противоречива — упоминает как требование providerSettings, так и запрет; протестируй на своём кейсе.
примеры значений
Примеры
[
  "https://example.com/motion-ref.mp4"
]
inputs.elementsarray of objectsmin: 1 · max: 3 Переиспользуемые элементы (персонажи, голоса) — для прозвища через <<<element_N>>> в prompt. Доступно ТОЛЬКО в режиме Image-to-Video (требует inputs.frameImages). Каждый элемент — объект.
1 формата ввода
Element object[]
ПолеТипЗначенияОписание
idreqstring Идентификатор элемента (используется в prompt как <<<element_1>>>).
descriptionstring Текстовое описание элемента.
frontalImagestring Фронтальное изображение персонажа (UUID / URL / Data URI / Base64). Требуется если задан images[].
imagesarray of stringsmin: 1 · max: 3 До 3 изображений персонажа. Требует frontalImage.
videosarray of stringsmin: 1 · max: 1 До 1 видео. Несовместимо с images и voices.
voicesarray of stringsmin: 1 · max: 1 До 1 голоса. Только в комбинации с images.
tagsarray of stringsmin: 1 Теги для классификации элемента (минимум 1).
[
  {
    "id": "element_1",
    "description": "Главный герой — киберпанк-самурай",
    "frontalImage": "https://example.com/hero-front.jpg",
    "images": [
      "https://example.com/hero-side.jpg"
    ],
    "tags": [
      "character",
      "protagonist"
    ]
  }
]
providerSettings.klingai.characterOrientationenumimage, video Источник ориентации персонажа: image (из frameImages/referenceImages) или video (из referenceVideos).
providerSettings.klingai.keepOriginalSoundbooleanfalse Сохранять оригинальную звуковую дорожку из reference video.
providerSettings.klingai.soundbooleanfalse Генерировать native audio (диалог / звуки / ambience), синхронизированный с видео. ВЛИЯЕТ НА ЦЕНУ ($0.168/s с audio vs $0.112/s без).
providerSettings.klingai.shotTypeenumintelligence Режим композиции кадра. На данный момент в доке указано единственное значение intelligence.
providerSettings.klingai.multiPromptarray of objectsmin: 1 · max: 6 Последовательность сегментов с разными промптами и длительностями. Сумма durations всех сегментов должна равняться корневому duration.
1 формата ввода
Segment object[]
ПолеТипЗначенияОписание
promptreqstringmin: 2 · max: 2500 Промпт для сегмента.
durationreqintegermin: 1 Длительность сегмента в секундах (минимум 1).
[
  {
    "prompt": "Камера наезжает на героя",
    "duration": 3
  },
  {
    "prompt": "Герой выхватывает меч",
    "duration": 2
  }
]
numberResultsintegermin: 1 · max: 41 Сколько вариаций сгенерировать (разные seeds). Каждая считается отдельно.
outputFormatenumMP4, WEBM, MOVMP4 Контейнер для финального видео.
outputQualityintegermin: 20 · max: 9995 Качество компрессии (20–99). Выше — лучше визуально и больше размер файла.
safety.checkContentbooleanfalse Включить проверку контента на NSFW / запрещёнку. При true default-режим safety.mode становится fast.
safety.modeenumnone, fast, fullnone Режим safety-сканера: none — выключен, fast — проверяет ключевые кадры, full — все кадры (медленнее).
webhookURLstring URL для POST-уведомления при готовности задачи. При numberResults > 1 webhook триггерится на каждый результат отдельно.
примеры значений
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring Presigned URL (S3 / GCS / Azure / HTTP PUT) для автозагрузки готового видео. Сырое binary в body PUT-запроса.
примеры значений
Примеры
https://bucket.s3.amazonaws.com/result.mp4?X-Amz-Signature=...

Поддерживаемые размеры

Допустимы только эти комбинации width × height. Произвольные значения вендор отклонит — используй resolution preset либо одну из пар ниже.

1080p (16:9)
1920×1080
1080p (1:1)
1440×1440
1080p (9:16)
1080×1920

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

Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}. Эта модель работает только в async-режиме.

Async (HTTP 202)

HTTP 202. Видео-генерация всегда async — нет sync-режима.

ПолеТипЗначенияОписание
idstring task_id для GET /v1/tasks/{id}.
objectstringvideo.task
statusenumqueued, processing, completed, failed
modelstring
createdinteger

Опрос статуса (GET /v1/tasks/{id})

GET /v1/tasks/{id} — опрос статуса.

ПолеТипЗначенияОписание
idstring
statusenumqueued, processing, completed, failed, canceled
modalitystringvideo
modelstring
dataarray
Каждый элемент:
  • url— string · CDN URL .mp4 / .webm / .mov.
errorstring

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

from openai import OpenAI

client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.videos.generate(
    model= "kling-30-pro",
    positivePrompt= "Пример промпта",
    negativePrompt= "Пример промпта",
    width= 1,
    height= 1,
    duration= 5,
    "inputs.frameImages": [],
    "inputs.referenceImages": [],
    "inputs.referenceVideos": [],
    "inputs.elements": [],
    "providerSettings.klingai.characterOrientation": "image",
    "providerSettings.klingai.keepOriginalSound": False,
    "providerSettings.klingai.sound": False,
    "providerSettings.klingai.shotType": "intelligence",
    "providerSettings.klingai.multiPrompt": [],
    numberResults= 1,
    outputFormat= "MP4",
    outputQuality= 95,
    "safety.checkContent": False,
    "safety.mode": "none",
    webhookURL= "https://example.com/...",
    uploadEndpoint= "value",
)
print(resp)

Замените rk_live_... на ваш ключ из кабинета.