Kling 可灵视频生成
Kling(可灵)是快手推出的视频生成模型,调用方式与其他视频模型一致:创建任务 + 轮询查询,走统一的 POST /v1/videos 接口,响应为 OpenAI Video 风格(id / status / video_url)。模型名与上游一一对应(kling-v3、kling-v2-6 等),平台不提供别名。
端点
- 创建任务:
POST $URL/v1/videos - 查询任务:
GET $URL/v1/videos/{task_id}
支持模型
| 模型名称 | 说明 | 支持分辨率 |
|---|---|---|
kling-v3 | 3.0 旗舰版 | 720p / 1080p / 4k |
kling-v2-6 | 2.6 标准版 | 720p / 1080p |
kling-v2-5-turbo | 2.5 快速版 | 720p / 1080p |
kling-v2-1-master | 2.1 大师版 | 720p / 1080p |
kling-v2-master | 2.0 大师版 | 720p / 1080p |
- 分辨率档位由
mode控制:std→ 720P、pro→ 1080P、4k→ 4K;4K 当前仅kling-v3开放,其余模型传4k会返回 400;kling-v3、kling-v2-6支持生成音频(metadata.sound),有声档计费高于无声档;kling-v1/kling-v1-6等一代系列未开放。
主要参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 上表中的模型名 |
prompt | string | 是 | 视频内容描述 |
resolution 🆕 | string | 否 | 分辨率档(推荐):"720p"(默认) / "1080p" / "4k"(4k 仅 kling-v3)。与 mode 同传且档位冲突时返回 400 |
mode | string | 否 | 分辨率档位(老写法,兼容):std=720p / pro=1080p / 4k,默认 std |
audio 🆕 | string | 否 | 是否生成音频(官方写法):"off"(默认) / "native"。kling-v3、kling-v2-6 支持,有声档计费更高 |
metadata.sound | string | 否 | 是否生成音频(老写法,兼容):"on" / "off",与 audio 等价 |
seconds | string | 否 | 输出时长(秒),如 "5"、"10",默认 "5" |
aspect_ratio 🆕 | string | 否 | 画面比例(官方写法):16:9 / 9:16 / 1:1,默认 16:9 |
size | string | 否 | 画面比例:16:9 / 9:16 / 1:1(也可传 1920x1080 等尺寸,自动归为比例),默认 16:9 |
settings 🆕 | object | 否 | 可灵官方 settings 容器整体兼容:settings.resolution / settings.audio / settings.duration / settings.aspect_ratio,可直接按官方示例传参 |
image | string | 否 | 参考图 URL(单张,图生视频) |
images | array | 否 | 参考图 URL 数组 |
metadata.sound | string | 否 | 是否生成音频:"on" / "off"(kling-v3、kling-v2-6 有声档计费更高;仅这两个模型支持,其余模型有声也会被上游忽略) |
请求示例
文生视频
bash
curl $URL/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "一只戴着墨镜的猫走在霓虹灯街道上,镜头缓慢推进",
"mode": "std",
"seconds": "5",
"metadata": { "sound": "on" }
}'python
import time
import requests
url = "$URL/v1/videos"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
payload = {
"model": "kling-v3",
"prompt": "一只戴着墨镜的猫走在霓虹灯街道上",
"mode": "std",
"seconds": "5",
"metadata": {"sound": "on"},
}
task = requests.post(url, json=payload, headers=headers).json()
task_id = task["id"]
while True:
result = requests.get(f"{url}/{task_id}", headers=headers).json()
if result["status"] in ("completed", "failed"):
break
time.sleep(8)
print(result)图生视频
bash
curl $URL/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "让画面中的人物转身走向镜头",
"image": "https://example.com/ref.png",
"mode": "std",
"seconds": "5"
}'响应字段
创建任务与查询任务返回同一结构(OpenAI Video 风格):
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID |
model | string | 实际使用的模型 |
status | string | 任务状态(见下方状态说明) |
created_at | integer | 创建时间戳(秒) |
seconds 🆕 | string | 本次请求的生成时长(秒),与计费一致 |
video_url 🆕 | string | 生成完成后的视频地址(仅 completed 时返回,与 metadata.url 同值) |
resolution 🆕 | string | 实际计费分辨率档:720p / 1080p / 4k(提交即回显,与扣费严格一致) |
mode 🆕 | string | 档位原值回显:std / pro / 4k |
aspect_ratio 🆕 | string | 画面比例回显:16:9 / 9:16 / 1:1 |
audio 🆕 | bool | 是否有声(与计费 audio 档一致) |
error.message | string | 失败原因(仅 failed 时返回) |
任务状态
| 状态 | 含义 | 处理建议 |
|---|---|---|
queued | 排队中 | 继续轮询 |
in_progress | 生成中 | 继续轮询 |
completed | 生成成功 | 从返回体获取视频地址,请尽快下载保存 |
failed | 生成失败 | 查看 error.message |
建议轮询间隔 5~10 秒
任务完成后请尽快下载转存:视频地址有时效性,过期后无法再访问。
响应示例
json
{
"id": "task_xxxxxxxx",
"model": "kling-v3",
"status": "in_progress",
"created_at": 1785000000
}完成后:
json
{
"id": "task_xxxxxxxx",
"model": "kling-v3",
"status": "completed",
"created_at": 1785000000,
"video_url": "https://.../kling-v3-xxxx.mp4"
}原厂协议透传(高级)
Kling 官方报文直通(平台负责鉴权、选渠道与任务托管,字段原样透传):
| 操作 | 方法与路径 |
|---|---|
| 文生视频 | POST $URL/kling/v1/videos/text2video |
| 图生视频 | POST $URL/kling/v1/videos/image2video |
| 查询任务 | GET $URL/kling/v1/videos/{action}/{task_id} |
提交后同样走平台任务托管(轮询),返回平台 task_id。报文为可灵原生格式(model_name / duration / mode 等字段直接透传)。omni 全能参考路径(/kling/v1/videos/omni-video)依赖 omni 系列模型,当前未开放。
bash
curl $URL/kling/v1/videos/text2video \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_name": "kling-v3",
"prompt": "一只戴着墨镜的猫走在霓虹灯街道上",
"mode": "std",
"duration": "5"
}'常见问题
Q: 任务大概多久完成?
计费按请求时长整秒结算(如请求 5 秒即按 5 秒计,不因渲染时长零头多计)。生成时长与分辨率相关,通常 1~3 分钟内完成,复杂任务更久。请通过轮询查询接口获取最终状态;任务超过 20 分钟未完成会自动置为失败。
Q: 生成的视频链接会过期吗?
会。视频地址有时效性,生成完成后请尽快下载转存到自己的存储。
