Kling VIDEO O3 Pro
kling-o3-pro — генерация видео-модель от Kling.
high_qualityimage_to_videomotion_controltext_to_video
Что умеет Kling VIDEO O3 Pro
- Высокое качество
- Image-to-video
- Motion Control
- Text-to-video
Стоимость
за секунду
T2V · no audio
31.36 ₽
T2V · with audio
39.2 ₽
V2V · no audio
47.04 ₽
V2V · with audio
47.04 ₽
Цены указаны в рублях и списываются с баланса проекта за успешные запросы. Надбавки (+) суммируются с базовой ставкой.
Технические характеристики
Vendor
kling
Modality
video
Параметры запроса
Параметры, которые принимает модель. Передаются в теле запроса.
ПараметрТипДиапазон / значенияПо умолчаниюОписание
positivePromptstring
min: 2 · max: 2500
—Текстовый промпт описывающий генерируемое видео. Можно использовать ссылки на элементы: <<<element_1>>>, <<<element_2>>>, ... Обязателен ИЛИ positivePrompt, ИЛИ providerSettings.klingai.multiPrompt.
1 пример
Примеры
<<<element_1>>> произносит речь на сцене, кинематографический ракурс.
widthinteger
—
—Ширина в px. Парный к height — только валидные комбинации (см. ниже). Только 1080p. Несовместимо с inputs.frameImages (размеры наследуются из изображения) и с inputs.video.
heightinteger
—
—Высота в px. Парный к width. Список валидных значений — см. combos у width.
durationinteger
min: 3 · max: 15
5Длительность видео в секундах (3..15, шаг 1). При providerSettings.klingai.multiPrompt — сумма durations всех сегментов должна быть = этому значению.
3 примеров
Примеры
5
10
15
inputs.frameImagesarray of strings or objects
min: 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[]
| Поле | Тип | Значения | Описание |
|---|---|---|---|
imagereq | string | — | Image input (UUID / URL / Data URI / Base64). |
frame | enum | first, 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 strings
min: 1 · max: 7
—Reference-изображения для визуального гайда (URL / UUID / Data URI / Base64). До 7 шт. ВАЖНО: суммарно referenceImages + elements ≤ 7. При inputs.video или inputs.referenceVideos лимит снижается до 4.
1 пример
Примеры
[ "https://example.com/style1.jpg", "https://example.com/style2.jpg" ]
inputs.referenceVideosarray of strings
min: 1 · max: 1
—Reference-видео для motion control (UUID / URL). Только 1 элемент. ВНИМАНИЕ: дока противоречива про providerSettings — упоминает и требование, и запрет; протестируй на своём кейсе.
1 пример
Примеры
[ "https://example.com/motion-ref.mp4" ]
inputs.videostring
—
—Исходное видео для prompt-based editing (UUID / URL). Размеры/длительность наследуются из видео — width/height/duration нельзя указывать. При его наличии inputs.elements НЕЛЬЗЯ использовать.
1 пример
Примеры
https://example.com/source.mp4
inputs.elementsarray of objects
min: 1 · max: 3
—Переиспользуемые элементы (персонажи, объекты, голоса) — для прозвища через <<<element_N>>> в prompt. Доступно для T2V / I2V / Motion Control / Reference, НО НЕ при inputs.video. Суммарно referenceImages + elements ≤ 7.
1 формата ввода
Element object[]
| Поле | Тип | Значения | Описание |
|---|---|---|---|
idreq | string | — | Идентификатор элемента (используется в prompt как <<<element_1>>>). |
description | string | — | Текстовое описание элемента. |
frontalImage | string | — | Фронтальное изображение персонажа. Требуется если задан images[]. |
images | array of strings | min: 1 · max: 3 | До 3 изображений персонажа. Требует frontalImage. |
videos | array of strings | min: 1 · max: 1 | До 1 видео. Несовместимо с images и voices. |
voices | array of strings | min: 1 · max: 1 | До 1 голоса. Только в комбинации с images. |
tagsreq | array of strings | min: 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.characterOrientationenum
image, video
—Источник ориентации персонажа: image или video.
providerSettings.klingai.keepOriginalSoundboolean
—
falseСохранять оригинальную звуковую дорожку из reference video.
providerSettings.klingai.soundboolean
—
falseГенерировать native audio (диалог / звуки / ambience). ВЛИЯЕТ НА ЦЕНУ (audio ~ +$0.028/s).
providerSettings.klingai.multiPromptarray of objects
min: 1 · max: 6
—Последовательность сегментов с разными промптами и длительностями. Сумма durations всех сегментов должна равняться корневому duration.
1 формата ввода
Segment object[]
| Поле | Тип | Значения | Описание |
|---|---|---|---|
promptreq | string | min: 2 · max: 2500 | Промпт для сегмента. |
durationreq | integer | min: 1 | Длительность сегмента в секундах (минимум 1). |
[
{
"prompt": "Камера наезжает на героя",
"duration": 3
},
{
"prompt": "Герой выхватывает меч",
"duration": 2
}
]numberResultsinteger
min: 1 · max: 4
1Сколько вариаций сгенерировать (разные seeds). Каждая считается отдельно.
outputFormatenum
MP4, WEBM, MOV
MP4Контейнер для финального видео.
outputQualityinteger
min: 20 · max: 99
95Качество компрессии (20–99). Выше — лучше визуально и больше размер файла.
safety.checkContentboolean
—
falseВключить проверку контента на NSFW / запрещёнку. При true default-режим safety.mode становится fast.
safety.modeenum
none, fast, full
noneРежим safety-сканера: none — выключен, fast — проверяет ключевые кадры, full — все кадры (медленнее).
webhookURLstring
—
—URL для POST-уведомления при готовности задачи. При numberResults > 1 webhook триггерится на каждый результат отдельно.
1 пример
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring
—
—Presigned URL (S3 / GCS / Azure / HTTP PUT) для автозагрузки готового видео. Сырое binary в body PUT-запроса.
1 пример
Примеры
https://bucket.s3.amazonaws.com/result.mp4?X-Amz-Signature=...
Поддерживаемые размеры
Допустимы только эти комбинации width × height. Произвольные значения вендор отклонит — используй resolution preset либо одну из пар ниже.
1080p (16:9)
1920×10801080p (1:1)
1440×14401080p (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}.
objectstring
video.task
statusenum
queued, processing, completed, failed
modelstring
—
createdinteger
—
Опрос статуса (GET /v1/tasks/{id})
GET /v1/tasks/{id} — опрос статуса.
ПолеТипЗначенияОписание
idstring
—
statusenum
queued, processing, completed, failed, canceled
modalitystring
video
modelstring
—
dataarray
—
Каждый элемент:
url— string · CDN URL .mp4 / .webm / .mov.
errorstring
—
Пример кода
kling-o3-pro_example.py
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.videos.generate(
model= "kling-o3-pro",
positivePrompt= "Пример промпта",
width= 1,
height= 1,
duration= 5,
"inputs.frameImages": [],
"inputs.referenceImages": [],
"inputs.referenceVideos": [],
"inputs.video": "Пример промпта",
"inputs.elements": [],
"providerSettings.klingai.characterOrientation": "image",
"providerSettings.klingai.keepOriginalSound": False,
"providerSettings.klingai.sound": False,
"providerSettings.klingai.multiPrompt": [],
numberResults= 1,
outputFormat= "MP4",
outputQuality= 95,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp)