Skip to main content
У цьому документі буде представлено інструкцію з інтеграції Kling Motion Generation API, яка дозволяє генерувати офіційні відео Kling за допомогою введення користувацьких параметрів.

Процес подачі заявки

Щоб використовувати Kling Motion Generation API, спочатку перейдіть до консолі Ace Data Cloud для отримання вашого API Token, зберігайте його для подальшого використання. Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, щоб запросити реєстрацію та вхід, після чого ви будете автоматично повернені на цю сторінку. Один API Token дозволяє викликати всі послуги платформи, не потрібно окремо подавати заявку на кожну послугу. Перший запит на отримання токена надає безкоштовний ліміт, щоб ви могли безкоштовно протестувати; якщо ліміт вичерпано, ви можете поповнити загальний баланс в консолі.
📘 Повна документація: Kling Motion Generation API →

Основне використання

Спочатку розгляньте основний спосіб використання, тобто введіть підказку prompt, URL зображення image_url та посилання на відео video_url, щоб отримати оброблений результат, потім нам також потрібно ввести модель mode, наразі основні моделі - це std, pro, деталі наведені нижче:

Ми можемо бачити, що тут ми налаштували заголовки запиту, включаючи:
  • accept: формат відповіді, який ви хочете отримати, тут вказано application/json, тобто формат JSON.
  • authorization: ключ для виклику API, після подачі заявки ви можете вибрати його зі списку.
Також налаштовано тіло запиту, яке включає:
  • image_url: URL зображення для посилання на зовнішній вигляд персонажа. Підтримує JPG/JPEG/PNG, файл ≤50MB, ширина та висота ≥300px, співвідношення сторін 1:2.5~2.5:1; персонаж має бути чітко видно з верхньої частини тіла або повністю, включаючи голову.
  • video_url: URL відео для посилання на рух. Підтримує MP4/MOV, файл ≤100MB, ширина та висота від 340 до 3850px, тривалість не менше 3 секунд; при character_orientation=image максимальна тривалість 10 секунд, при character_orientation=video максимальна тривалість 30 секунд. Рекомендується використовувати відео з постійним кадром, де персонаж завжди в полі зору.
  • mode: режим генерації відео, основні - стандартний режим std та швидкісний режим pro.
  • keep_original_sound: можливість вибору, чи зберігати оригінальний звук відео, значення: yes, no.
  • character_orientation: орієнтація персонажа у згенерованому відео, можна вибрати відповідно до зображення або відео, значення: image, video.
  • prompt: підказка.
  • callback_url: URL для отримання результатів зворотного виклику.
  • async: необов’язковий, якщо встановити в true, інтерфейс негайно поверне task_id, не потрібно надавати callback_url, потім через відповідний інтерфейс запиту завдань можна опитувати для отримання результатів.
Після вибору ви можете помітити, що праворуч також згенеровано відповідний код, як показано на малюнку:

Натисніть кнопку «Спробувати», щоб провести тестування, як показано на малюнку, ми отримали наступний результат:
У повернутому результаті є кілька полів, описаних нижче:
  • success: статус завдання на генерацію відео.
  • task_id: ID завдання на генерацію відео.
  • video_id: ID відео, згенерованого в рамках завдання.
  • video_url: посилання на згенероване відео.
  • duration: тривалість згенерованого відео.
  • state: статус завдання на генерацію відео.
Ми отримали задовільну інформацію про відео, нам потрібно лише отримати згенероване відео Kling за адресою, вказаною в data. Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:

Асинхронний зворотний виклик

Оскільки час генерації Kling Motion 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: Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад відповіді на помилку

Висновок

Завдяки цьому документу, ви вже зрозуміли, як використовувати API Kling Motion Generation для реалізації функцій контролю руху Kling. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.