Процес подачі заявки
Щоб використовувати Kling Videos Generation API, спочатку перейдіть до консолі Ace Data Cloud для отримання вашого API Token, зберігайте його для подальшого використання.
Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід, після чого ви будете автоматично повернені на цю сторінку.
Один API Token дозволяє викликати всі послуги платформи, не потрібно окремо подавати заявку на кожну послугу. Перший запит на отримання токена надає безкоштовний ліміт, щоб ви могли безкоштовно протестувати; якщо ліміт вичерпано, ви можете поповнити загальний баланс на консолі.
📘 Повна документація: Kling Videos Generation API →
Основне використання
Спочатку розгляньте основний спосіб використання, який полягає у введенні підказкиprompt, дії action, URL-адреси зображення для першого кадру 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-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-o1.mode: режим генерації відео, можливі значення: стандартний режимstd, режим високої швидкостіproта рідний 4K режим4k. Режим4kпідтримується лише дляkling-v3таkling-v3-omni, і не сумісний зcamera_control(управління камерою).action: дія для цього завдання генерації відео, основні дії: створення відео з тексту (text2video), створення відео з зображення (image2video), розширене відео (extend).start_image_url: при виборі дії створення відео з зображенняimage2videoнеобхідно завантажити URL-адресу зображення для першого кадру.end_image_url: необов’язковий для відео з зображення, вказує на останній кадр.duration: тривалість відео в секундах.kling-v3таkling-v3-omniпідтримують тривалість від 3 до 15 секунд;kling-o1підтримує лише 5 секунд; інші моделі підтримують 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: необов’язкове, параметри для контролю руху камери, підтримує типи/simple налаштування, а також horizontal, vertical, pan, tilt, roll, zoom тощо.negative_prompt: необов’язкове, небажані зворотні підказки, максимум 200 символів.image_list: список зображень Omni, підходить для моделейkling-o1таkling-v3-omni, деталі див. нижче в розділі «Omni універсальні посилання».video_list: список відео Omni (підтримує редагування відео), підходить для моделейkling-o1таkling-v3-omni, деталі див. нижче в розділі «Omni універсальні посилання».prompt: підказка.callback_url: URL для отримання результатів.async: необов’язкове, якщо встановитиtrue, інтерфейс негайно повернеtask_id, не потрібно надаватиcallback_url, потім через відповідний інтерфейс запиту завдань можна опитувати для отримання результатів.

success, статус завдання генерації відео.task_id, ID завдання генерації відео.video_id, ID відео для цього завдання генерації.video_url, URL-адреса відео для цього завдання генерації.duration, тривалість відео для цього завдання генерації.state, статус завдання генерації відео.
data.
Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:
Матриця можливостей моделей
Різні моделі мають різний рівень підтримки параметрів. Наступна матриця була складена з документації моделей відео Kling, перед викликом будь ласка, перевірте, чи підтримує комбінаціяmodel / mode / duration необхідні вам функції, інакше ви отримаєте помилки на кшталт model/mode/duration(...) is not supported with image_tail.
Зверніть увагу:
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 секунд;kling-o1приймає лише 5; інші моделі приймають лише 5 або 10.generate_audioза замовчуваннямfalse. Лишеkling-v3,kling-v3-omniтаkling-v2-6(pro режим) підтримують.
Розширені функції відео
Якщо ви хочете продовжити генерацію вже створеного відео Kling, ви можете встановити параметрaction на extend і ввести ID відео, яке потрібно продовжити, ID відео отримується на основі базового використання, як показано на малюнку нижче:

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


Omni універсальні посилання (відео редагування / посилання на відео / багато зображень)
kling-o1 та kling-v3-omni - це дві незалежні моделі, обидві підтримують можливість «універсального посилання». На основі текстового відео (action=text2video) можна додатково передати зображення або відео для реалізації багато зображень, посилання на відео та безпосереднє редагування існуючого відео.
Основна угода: матеріали для посилання повинні бути вказані в prompt у формі <<<image_1>>>, <<<video_1>>> (нумерація з 1) для відповідних позицій у image_list / video_list, щоб модель могла застосувати ці посилання. Якщо передати лише матеріали, не посилаючись на них у підказці, матеріали будуть проігноровані.
Інформація про безпеку: поточний API не відкриваєЗапити Omni не підтримуютьelement_list. Вгору ID бібліотеки Kling Element належать простору імен облікового запису постачальника, до надання API управління елементами з ізоляцією орендарів, клієнти повинні використовуватиimage_listдля передачі основних зображень.
negative_prompt, cfg_scale або camera_control, а також не можуть використовувати mode=4k. Якщо включено посилання на відео, generate_audio має бути false.
Посилання на відео та редагування відео (video_list)
video_list використовується для передачі посилань на відео, це найпоширеніший сценарій використання цієї можливості, поля елементів масиву такі:
video_url: посилання на відео, не може бути порожнім. Вимоги: формат MP4/MOV; роздільна здатність 720px–2160px; тривалість 3–10 секунд; частота кадрів 24–60fps; розмір файлу ≤200MB; максимум 1 відео.refer_type: тип посилання, може бутиbase(за замовчуванням, базове відео для редагування, тобто “пряме редагування відео”, можна додавати/видаляти/змінювати елементи, змінювати композицію, стиль, колір, погоду тощо) абоfeature(референсні особливості, посилання на стиль / операторську роботу / продовження наступного кадру).keep_original_sound: чи зберігати оригінальний звук відео, може бутиyes(зберегти) абоno(видалити).
Увага: якщо є посилання на відео,Приклад CURL для редагування існуючого відео (перетворення відео в аніме стиль):generate_audioмає бутиfalse. Відео зrefer_type=baseне може мати вказані перший/остання кадри.
Багато зображень для посилання (image_list)
image_list використовується для передачі посилань на зображення (елементи / сцени / стилі тощо), поля елементів масиву такі:
image_url: посилання на зображення, не може бути порожнім. Вимоги: формат .jpg/.jpeg/.png; розмір файлу ≤10MB; найменша сторона ≥300px; співвідношення сторін 1:2.5 ~ 2.5:1.type: необов’язковий. Якщо не передано, вважається чистим референсним зображенням; передачаfirst_frame/end_frameвважається відповідно першим/останнім кадром (еквівалентноstart_image_url/end_image_url).
prompt посилатися на <<<image_1>>>, <<<image_2>>>. Обмеження на кількість: якщо немає референсного відео, референсних зображень ≤ 7; якщо є референсне відео, референсних зображень ≤ 4. Якщо передані лише перший/останні кадри, також можна використовувати start_image_url / end_image_url, але останній кадр повинен використовуватися разом з першим.
Увага: якщо одночасно переданіПриклад CURL для генерації відео з багатьма зображеннями:start_image_url/end_image_urlтаimage_list, перший/останні кадри будуть передimage_list, що може вплинути на відповідність номерів<<<image_N>>>. Рекомендується обрати один варіант: якщо потрібні перший/останні кадри, безпосередньо вказати вimage_listзtype, не змішуючи зstart_image_url/end_image_url.
Асинхронний зворотний виклик
Оскільки час генерації відео за допомогою Kling Videos Generation API відносно довгий, приблизно 1-2 хвилини, якщо API довго не відповідає, HTTP запит буде підтримувати з’єднання, що призводить до додаткових витрат системних ресурсів, тому цей API також підтримує асинхронний зворотний виклик. Загальний процес: коли клієнт ініціює запит, додатково вказується полеcallback_url, після ініціації API запит повертає результат, що містить поле task_id, яке представляє поточний ID завдання. Коли завдання завершено, результат генерації відео буде надіслано на вказаний клієнтом callback_url у форматі POST JSON, в якому також міститься поле task_id, таким чином результати завдання можна пов’язати за ID.
Далі ми розглянемо приклад, щоб зрозуміти, як це працює.
По-перше, Webhook зворотний виклик - це сервіс, який може приймати HTTP запити, розробники повинні замінити його на URL свого HTTP сервера. Для зручності демонстрації використовується публічний веб-сайт з прикладом Webhook https://webhook.site/, відкривши цей сайт, ви отримаєте URL Webhook, як показано на малюнку:
Скопіюйте цей URL, і ви зможете використовувати його як Webhook, приклад тут: https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
Далі ми можемо встановити поле callback_url на вказаний Webhook URL, одночасно заповнивши відповідні параметри, конкретний зміст, як показано на малюнку:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, як показано на малюнку:
Зміст такий:
task_id, інші поля схожі на наведені вище, за допомогою цього поля можна реалізувати зв’язок завдання.
Обробка помилок
При виклику API, якщо виникає помилка, API повертає відповідний код помилки та інформацію. Наприклад:400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

