Процесс подачи заявки
Для использования API необходимо сначала подать заявку на соответствующую услугу на странице Kling Videos Generation API. После перехода на страницу нажмите кнопку «Acquire», как показано на рисунке:
Если вы не вошли в систему или не зарегистрированы, вас автоматически перенаправят на страницу входа, где можно зарегистрироваться и войти. После входа вы автоматически вернетесь на текущую страницу.
При первом запросе предоставляется бесплатный лимит, позволяющий использовать API бесплатно.
Основное использование
Сначала рассмотрим базовый способ использования: вводим подсказкуprompt, действие action, ссылку на начальное изображение start_image_url и модель model, чтобы получить обработанный результат. Для начала нужно передать поле action со значением text2video. Оно включает три типа действий: генерация видео из текста (text2video), генерация видео из изображения (image2video) и расширение видео (extend). Далее необходимо указать модель model. В настоящее время доступны модели: kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-v2-6, kling-v3, kling-v3-omni, kling-video-o1. Подробности приведены ниже:

accept: формат ответа, здесь указаноapplication/json— формат JSON.authorization: ключ для вызова API, который можно выбрать после подачи заявки.
model: модель для генерации видео, основные модели:kling-v1,kling-v1-6,kling-v2-master,kling-v2-1-master,kling-v2-5-turbo,kling-v2-6,kling-v3,kling-v3-omni,kling-video-o1.mode: режим генерации видео, возможные значения: стандартныйstd, ускоренныйproи нативный 4K4k. Режим4kподдерживается только моделямиkling-v3иkling-v3-omniи несовместим сcamera_control(управление камерой).action: тип задачи генерации видео —text2video,image2videoилиextend.start_image_url: ссылка на начальное изображение, обязательна приimage2video.end_image_url: необязательная ссылка на конечное изображение приimage2video.duration: длительность видео в секундах. Моделиkling-v3иkling-v3-omniподдерживают гибкую длительность от 3 до 15 секунд (целые числа), остальные модели — 5 или 10 секунд.generate_audio: опционально, булево значение, указывающее, нужно ли генерировать аудио. Поддерживается моделямиkling-v3,kling-v3-omniиkling-v2-6(только в режиме pro). По умолчаниюfalse.aspect_ratio: соотношение сторон видео, опционально, поддерживаются16:9,9:16,1:1, по умолчанию16:9.cfg_scale: интенсивность соответствия подсказке, диапазон [0,1], чем больше, тем точнее.camera_control: опционально, параметры управления движением камеры, поддерживаются предустановкиtype/simpleи настройкиhorizontal,vertical,pan,tilt,roll,zoom.negative_prompt: опционально, отрицательные подсказки, которых нужно избегать, максимум 200 символов.element_list: список основных объектов, применяется только для моделиkling-video-o1, подробности в официальной документации.video_list: список референсных видео по URL, применяется только для моделиkling-video-o1, подробности в официальной документации.prompt: подсказка.callback_url: URL для обратного вызова результата.

success: статус задачи генерации видео.task_id: ID задачи.video_id: ID сгенерированного видео.video_url: ссылка на видео.duration: длительность видео.state: состояние задачи.
video_url и можете использовать её для доступа к сгенерированному видео Kling.
Если нужно получить код для интеграции, можно скопировать сгенерированный код, например CURL:
Матрица возможностей моделей
Поддержка параметров различается в зависимости от модели. Ниже представлена матрица, основанная на официальной документации Kling video models. Перед вызовом проверьте, поддерживает ли комбинацияmodel / mode / duration необходимые функции, иначе API вернёт ошибку вида model/mode/duration(...) is not supported with image_tail.
| Модель | Режим | end_image_url (начальный/конечный кадр) | generate_audio (звук) | camera_control (управление камерой) | Примечания |
|---|---|---|---|---|---|
kling-v1 | std / pro | ✅ только при duration=5 | ❌ | ✅ только при duration=5 | extend не поддерживает negative_prompt и cfg_scale |
kling-v1-6 | std | ❌ | ❌ | ❌ | Поддержка мульти-изображений и extend во всех режимах |
kling-v1-6 | pro | ✅ | ❌ | ❌ | |
kling-v2-master | — | ❌ | ❌ | ❌ | Один режим, только duration=5/10 |
kling-v2-1-master | — | ❌ | ❌ | ❌ | Один режим, только duration=5/10 |
kling-v2-5-turbo | std | ❌ | ❌ | ❌ | |
kling-v2-5-turbo | pro | ✅ | ❌ | ❌ | |
kling-v2-6 | std | ❌ | ❌ | ❌ | |
kling-v2-6 | pro | ✅ | ✅ | ❌ | Единственная не v3 модель с поддержкой звука |
kling-v3 | std / pro | ✅ | ✅ | ✅ | duration от 3 до 15 секунд |
kling-v3 | 4k | ✅ | ✅ | ❌ | 4K режим несовместим с управлением камерой |
kling-v3-omni | std / pro / 4k | ✅ | ✅ | ❌ | |
kling-video-o1 | std / pro | ✅ | ❌ | ❌ | Только duration=5/10 |
mode=4kподдерживается только моделямиkling-v3иkling-v3-omniи несовместим сcamera_control.end_image_urlможно использовать только приaction=image2videoвместе сstart_image_url. Передача толькоend_image_urlбезstart_image_urlотклоняется.- Модели
kling-v3иkling-v3-omniпринимают любое целое значениеdurationот 3 до 15 секунд, остальные — только 5 или 10. - По умолчанию
generate_audioравенfalse. Поддерживается толькоkling-v3,kling-v3-omniиkling-v2-6(pro режим).
Функция расширения видео
Чтобы продолжить генерацию уже созданного видео Kling, установите параметрaction в значение extend и укажите ID видео, который можно получить при базовом использовании, как показано на рисунке:

Внимание: video_id — это ID уже сгенерированного видео. Если вы не знаете, как сгенерировать видео, обратитесь к разделу базового использования.
Далее необходимо заполнить подсказку для продолжения генерации видео, указав следующие параметры:
model: модель генерации видео, напримерkling-v1,kling-v1-5,kling-v1-6.mode: режим генерации — стандартныйstd, ускоренныйproили 4K4k(поддерживается толькоkling-v3иkling-v3-omni, несовместим с управлением камерой).duration: длительность видео, обычно 5 или 10 секунд.start_image_url: ссылка на начальное изображение, обязательна приimage2video.prompt: подсказка.


Асинхронный обратный вызов
Поскольку генерация видео через Kling Videos Generation API занимает около 1-2 минут, длительные HTTP-запросы могут привести к излишней нагрузке на систему. Поэтому API поддерживает асинхронный обратный вызов. Процесс: клиент при запросе указывает полеcallback_url. API сразу возвращает ответ с task_id — идентификатором задачи. После завершения задачи результат отправляется POST-запросом в формате JSON на указанный callback_url, включая task_id для связывания результата с задачей.
Рассмотрим пример.
Webhook — это сервис, принимающий HTTP-запросы. Разработчик должен заменить URL на свой сервер. Для демонстрации используется публичный сервис https://webhook.site/, где можно получить уникальный URL, например:
Скопируйте URL, например https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, и используйте его в поле callback_url вместе с другими параметрами, как на рисунке:

Содержимое:
task_id, что позволяет связать результат с задачей.
Обработка ошибок
При вызове API в случае ошибки возвращаются соответствующие коды и сообщения, например:400 token_mismatched: неверный запрос, возможно, отсутствуют или некорректны параметры.400 api_not_implemented: неверный запрос, возможно, отсутствуют или некорректны параметры.401 invalid_token: неавторизованный доступ, неверный или отсутствующий токен.429 too_many_requests: превышен лимит запросов.500 api_error: внутренняя ошибка сервера.

