Kling 视频生成 API 集成指南

2 阅读4分钟

在本文中,我们将详细介绍如何集成 Kling 视频生成 API。这个 API 允许开发者通过输入自定义参数生成官方的 Kling 视频,适用于视频制作、广告宣传等多种场景。

申请过程

在使用 API 前,您需要访问 Kling 视频生成 API 页面申请相应的服务。进入页面后,点击“Acquire”按钮,如下图所示:

如果您尚未登录或注册,系统会自动引导您进行登录或注册。完成后,您将返回当前页面。

首次申请时,您会获得一个免费配额,可以无偿使用该 API。

基本用法

要使用 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-video-o1

以下是请求头的设置示例:

  • accept: 您希望接收的响应结果格式,填为 application/json
  • authorization: 调用 API 的密钥,可以在申请后直接选择。

请求体的主要字段包括:

  • model: 生成视频的模型。
  • mode: 视频生成模式,包括标准模式 std 和快速模式 pro
  • action: 视频生成任务的动作。
  • start_image_url: 图片转视频时需要上传的起始帧参考图像链接。
  • end_image_url: 图片转视频时可选的结束帧。
  • aspect_ratio: 视频的宽高比,默认为 16:9
  • cfg_scale: 相关性强度,范围 [0,1]。
  • camera_control: 可选,控制镜头运动参数。
  • negative_prompt: 可选,反向提示。
  • element_list: 主题参考列表,仅适用于 kling-video-o1 模型。
  • video_list: 参考视频,仅适用于 kling-video-o1 模型。
  • prompt: 提示词。
  • callback_url: 结果回调的 URL。

请求代码生成示例:

{
  "success": true,
  "video_id": "af9a1af0-9aa0-4638-81c1-d41d6143c508",
  "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7485378259/text2video/Cjil4mfBfs0AAAAAAKbMQQ-0_raw_video_1.mp4",
  "duration": "5.1",
  "state": "succeed",
  "task_id": "e3a575aa-a4bd-49c8-9b12-cde38d5462e0"
}

返回结果中包含多个字段,主要描述如下:

  • success: 视频生成任务的状态。
  • task_id: 视频生成任务的 ID。
  • video_id: 视频生成任务的视频 ID。
  • video_url: 视频链接。
  • duration: 视频时长。
  • state: 视频生成任务的状态。

生成的 Kling 视频可以通过 video_url 字段获取。

视频扩展功能

如果想要继续生成已创建的 Kling 视频,可以将 action 参数设置为 extend,并输入要继续生成的视频 ID。

例如,假设视频 ID 为:

"video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c"

接下来,填写下一个步骤的提示词及其他参数。示例代码如下:

import requests

url = "https://api.acedata.cloud/kling/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "extend",
    "model": "kling-v1",
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "prompt": "White ceramic coffee mug on glossy marble countertop with morning window light. Camera slowly rotates 360 degrees around the mug, pausing briefly at the handle.",
    "duration": 10
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

执行后,您将获得类似如下结果:

{
  "success": true,
  "video_id": "bbc3b105-ac72-4de2-8390-0cb37dc7d41e",
  "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/extendVideo/Cjil4mfBfs0AAAAAAKhr6A-0_raw_video_1.mp4",
  "duration": "9.6",
  "state": "succeed",
  "task_id": "3ece87e6-3ee3-4f5e-bd70-5ae5eca89a23"
}

异步回调

由于 Kling 视频生成 API 的生成时间较长,约需 1-2 分钟,因此支持异步回调功能。您可以在请求中指定 callback_url 字段,API 会在任务完成后将生成结果以 POST JSON 的形式发送到该地址。

具体操作示例:

  1. 使用 Webhook.site 创建一个 Webhook URL。
  2. 将该 URL 填入 callback_url 字段,并运行请求。

请求返回的任务 ID 可以用来追踪结果。

错误处理

调用 API 时,如果发生错误,API 将返回相应的错误代码和信息。例如:

  • 400 token_mismatched: 请求错误,可能是缺少或无效的参数。
  • 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"
}

总结

通过本文,您已学习了如何使用 Kling 视频生成 API 根据提示词和参考图像生成视频。希望本文能帮助您更好地集成和使用该 API。如果您有任何问题,请随时与我们的技术支持团队联系。

技术标签:#API集成 #视频生成 #Kling #AceDataCloud #开发者工具