Перейти к основному содержанию
В этой статье будет представлена инструкция по интеграции API генерации движений Kling, который позволяет генерировать видео от Kling, вводя пользовательские параметры.

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

Чтобы использовать API, сначала необходимо перейти на соответствующую страницу Kling Motion Generation API и подать заявку на соответствующую услугу. После перехода на страницу нажмите кнопку «Acquire», как показано на изображении: Если вы еще не вошли в систему или не зарегистрированы, вас автоматически перенаправит на страницу входа, где вас пригласят зарегистрироваться и войти. После входа или регистрации вы автоматически вернетесь на текущую страницу. При первой подаче заявки предоставляется бесплатный лимит, который позволяет бесплатно использовать этот API.

Основное использование

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

Как видно, здесь мы настроили заголовки запроса, включая:
  • accept: формат ответа, который вы хотите получить, здесь указано application/json, то есть формат JSON.
  • authorization: ключ для вызова API, который можно выбрать из выпадающего списка после подачи заявки.
Кроме того, настроено тело запроса, включая:
  • image_url: эталонное изображение, элементы, такие как персонажи и фон в генерируемом видео, будут основаны на этом изображении.
  • video_url: ссылка на эталонное видео. Движения персонажей в генерируемом видео будут соответствовать эталонному видео.
  • mode: режим генерации видео, в основном стандартный режим std и режим высокой скорости pro.
  • keep_original_sound: возможность выбора, сохранять ли оригинальный звук видео, возможные значения: yes, no.
  • character_orientation: ориентация персонажей в генерируемом видео, можно выбрать соответствие изображению или видео, возможные значения: image, video.
  • prompt: подсказка.
  • callback_url: URL для обратного вызова результата.
После выбора можно увидеть, что справа также сгенерирован соответствующий код, как показано на изображении:

Нажмите кнопку «Try», чтобы провести тестирование, как показано на изображении выше, и мы получили следующий результат:
{
  "success": true,
  "video_id": "842578800134742051",
  "video_url": "https://v4-fdl.kechuangai.com/ksc2/yGPGHvUVDQEzDCs6tC0rYIbd_JwWNFaF8BEYAlw_xVcWX72xFuIUVqB_Hp5Sa7YEijI-yXqfKI92WW7bmyeCtpMjSOImlOFpQCmMUa-9iojt_ifXJnex_tvNkA0ZlJmuJLpeOfvX3j8d9oeeWgLeU3ftzBjQq1g9OC9FU92OfjRQLUTSzfWRzkhzirV32BT-BwfxgqJKsUD-WHxjqCJmOw.mp4?cacheKey=ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQSsAHtyCrKxB23NXn5ddMedV5Mw4pp_kOk_TRbCVA-wO9LJZuga8_KxXCzhw6bU3hS1V5PpNoSTxSkm_E80i5U1PkJ5d444cjPvoIq2VboPqCip2QbsoiVMu6CuGP7tB7fStLbezBNA4lQtHeSVPxWTE7Hy0wbJ33tKlf-X_-1ad3u0cyHfT_8EroD4iYZ1ZVasuYxAKjcdmbbVZ7NlDK9rqyI5euyz-70-M-QM5Lk6l88SRoSS2Y9drB8Z4ednHxTIh7XZcnaIiB5Xf4Mv8Rc51nUyIC5lKp02LP7oViCg6OaAhR4ynNJkCgFMAE&x-kcdn-pid=112757&pkey=AAX8ukavvkZsIz-IUg2pTvMOAV7LVItIdg_5TUYhGA1YINT8x-SR7rXY7BWLKqspLTYIjK7C0SjbXtX25Lm4_sx2V229AIyfVzjrlQQ7IjPsxvAv9cTG72YN0TPSjVowBZQ",
  "duration": "5.066",
  "state": "succeed",
  "task_id": "363c7a84-e880-472e-a4d4-098e50cfc292"
}
Возвращаемый результат содержит несколько полей, описание которых приведено ниже:
  • success: статус задачи по генерации видео.
  • task_id: ID задачи по генерации видео.
  • video_id: ID видео, сгенерированного в рамках задачи.
  • video_url: ссылка на сгенерированное видео.
  • duration: продолжительность сгенерированного видео.
  • state: статус задачи по генерации видео.
Как видно, мы получили удовлетворительную информацию о видео, и нам нужно просто получить сгенерированное видео Kling по ссылке video_url из результата. Кроме того, если вы хотите сгенерировать соответствующий код интеграции, вы можете просто скопировать его, например, код CURL будет следующим:
curl -X POST 'https://api.acedata.cloud/kling/motion' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image_url": "https://sourceyoya.wenge.com/2025/06/03/683e9f76e4b0684509ab1aca.jpg",
  "video_url": "https://cdn.acedata.cloud/odwfm5.mp4",
  "prompt": "让画面生动起来",
  "mode": "std",
  "character_orientation": "image"
}'

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

Поскольку время генерации 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/, открыв который, вы получите URL Webhook, как показано на изображении: Скопируйте этот URL, чтобы использовать его в качестве Webhook, пример здесь: https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3. Далее мы можем установить поле callback_url на указанный Webhook URL и заполнить соответствующие параметры, конкретное содержание показано на изображении:

Нажмите “Запустить”, и вы сразу получите результат, как показано ниже:
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Подождите немного, и мы можем наблюдать результат генерации видео на https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, как показано на изображении: Содержимое следующее:
{
    "success": true,
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
    "duration": "5.1",
    "state": "succeed",
    "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Можно увидеть, что в результате есть поле task_id, остальные поля аналогичны вышеупомянутым, через это поле можно связать задачи.

Обработка ошибок

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

Пример ответа об ошибке

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Заключение

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