Skip to main content
В этой статье будет представлена инструкция по интеграции API Kling Motion Generation, который позволяет генерировать видео от Kling, вводя пользовательские параметры.

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

Чтобы использовать API Kling Motion Generation, сначала перейдите в консоль 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, затем результаты можно получить через соответствующий интерфейс запроса задач.
После выбора можно увидеть, что справа также сгенерирован соответствующий код, как показано на изображении:

Нажмите кнопку «Try», чтобы провести тестирование, как показано на изображении, и мы получим следующий результат:
Возвращаемый результат содержит несколько полей, описание которых следующее:
  • success: статус задачи по генерации видео.
  • task_id: ID задачи по генерации видео.
  • video_id: ID видео, сгенерированного в рамках задачи.
  • video_url: ссылка на сгенерированное видео.
  • duration: длительность сгенерированного видео.
  • state: статус задачи по генерации видео.
Мы видим, что получили удовлетворительную информацию о видео, и нам нужно просто получить сгенерированное видео Kling по ссылке video_url из результата. Если вы хотите сгенерировать соответствующий код интеграции, вы можете просто скопировать его, например, код CURL будет следующим:

Асинхронный обратный вызов

Поскольку время генерации API Kling Motion Generation относительно длительное, примерно 1-2 минуты, если API долго не отвечает, HTTP-запрос будет поддерживать соединение, что приведет к дополнительному расходу системных ресурсов. Поэтому этот API также предоставляет поддержку асинхронного обратного вызова. Общий процесс таков: когда клиент инициирует запрос, дополнительно указывается поле callback_url. После того как клиент инициирует запрос API, API немедленно возвращает результат, содержащий поле task_id, представляющее текущий ID задачи. Когда задача завершена, результат сгенерированного видео будет отправлен на указанный клиентом callback_url в формате POST JSON, который также включает поле task_id, что позволяет связать результат задачи по ID. Давайте рассмотрим, как это работает на примере. Во-первых, Webhook обратный вызов — это служба, которая может принимать HTTP-запросы, разработчик должен заменить ее на URL своего HTTP-сервера. Для удобства демонстрации используется публичный сайт примера Webhook https://webhook.site/, открыв который, вы получите Webhook URL, как показано на изображении: Скопируйте этот 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. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.