主题模式
可灵 AI 图生视频 API 文档
图生视频用于根据参考图像(首帧/尾帧)与提示词生成视频。
官方文档入口(仅参考):https://klingai.com/document-api/apiReference/model/imageToVideo
创建图生视频任务
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/image2video | POST | application/json | application/json |
请求头
| 字段 | 值 | 描述 |
|---|---|---|
| Content-Type | application/json | 数据交换格式 |
| Authorization | Bearer | 鉴权信息 |
请求体参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model_name | string | 可选 | Kling-V3 | 推荐模型字段,目前支持Kling-V3,Kling-V2.6,Kling-V1.6 |
model | string | 可选 | 无 | 兼容字段,会映射到 model_name |
image | string | 条件必填 | 无 | 参考图,支持 URL/Base64;与 image_tail 至少二选一 |
image_tail | string | 条件必填 | 无 | 尾帧参考图;与 image 至少二选一 |
multi_shot | boolean | 可选 | false | 是否多镜头;true 时 prompt 失效 |
shot_type | string | 条件必填 | 无 | multi_shot=true 时必填:customize/intelligence |
prompt | string | 条件必填 | 无 | 正向提示词;长度不超过 2500 |
multi_prompt | array | 条件必填 | 无 | multi_shot=true 且 shot_type=customize 时必填 |
negative_prompt | string | 可选 | 空 | 负向提示词,长度不超过 2500 |
element_list | array | 可选 | 空 | 参考主体列表,最多 3 个主体 |
voice_list | array | 可选 | 空 | 音色列表,最多 2 个,和 element_list 互斥 |
sound | string | 可选 | off | 是否生成声音:on/off |
cfg_scale | float | 可选 | 0.5 | 自由度,范围 [0,1](kling-v2.x 不支持) |
mode | string | 可选 | std | 生成模式:std / pro / 4k |
static_mask | string | 可选 | 空 | 静态笔刷 mask 图片 |
dynamic_masks | array | 可选 | 空 | 动态笔刷配置列表(每项含 mask + trajectories) |
camera_control | object | 可选 | 空 | 摄像机运动控制参数 |
aspect_ratio | string | 可选 | 16:9 | 画面比例:16:9 / 9:16 / 1:1 |
seconds | string | 可选 | 无 | 兼容时长字段 |
duration | string | 可选 | 无 | 时长字段 |
watermark_info | object | 可选 | 空 | 水印开关 |
callback_url | string | 可选 | 空 | 回调地址 |
external_task_id | string | 可选 | 空 | 自定义任务 ID |
image
参考图像,支持传入图片 URL 或 Base64 编码。
- 可选参数,但
image与image_tail至少二选一,不能同时为空。 - 使用 Base64 时不要添加
data:image/png;base64,等前缀,直接传 Base64 字符串。 - 图片格式支持
.jpg/.jpeg/.png。 - 图片文件大小不能超过
10MB。 - 图片宽高尺寸不小于
300px。 - 图片宽高比介于
1:2.5 ~ 2.5:1。 - 不同模型版本、视频模式支持范围不同,具体以服务商能力为准。
image_tail
参考图像 - 尾帧控制,支持传入图片 URL 或 Base64 编码。
- 可选参数,但
image与image_tail至少二选一,不能同时为空。 - 使用 Base64 时不要添加
data:image/png;base64,等前缀,直接传 Base64 字符串。 - 图片格式支持
.jpg/.jpeg/.png。 - 图片文件大小不能超过
10MB。 - 图片宽高尺寸不小于
300px。 image_tail、dynamic_masks/static_mask、camera_control三类能力不能同时使用,建议按官方约束组包。- 不同模型版本、视频模式支持范围不同,具体以服务商能力为准。
multi_shot
是否生成多镜头视频。
| 取值 | 说明 |
|---|---|
false | 单镜头视频。此时 shot_type 和 multi_prompt 无效。 |
true | 多镜头视频。此时 prompt 参数无效,需要通过 shot_type 指定分镜方式。 |
默认值为 false。
shot_type
分镜方式。当 multi_shot=true 时,当前参数必填。
| 取值 | 说明 |
|---|---|
customize | 自定义分镜。需要传入 multi_prompt。 |
intelligence | 智能分镜。需要传入 prompt。 |
当 multi_shot=false 时,当前参数无效。
prompt
正向文本提示词。
- 可选参数。
- 不能超过 2500 个字符。
- 当
multi_shot=false时,当前参数不得为空。 - 当
multi_shot=true且shot_type=intelligence时,当前参数不得为空。 - 当
multi_shot=true且shot_type=customize时,当前参数无效,分镜提示词应填写在multi_prompt中。 - 指定音色时,可用
<<<voice_1>>>引用voice_list中的音色;指定音色时sound必须为on。
multi_prompt
各分镜信息,通过 index、prompt、duration 定义分镜序号、提示词和时长。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
index | int | 是 | 分镜序号 |
prompt | string | 是 | 分镜提示词 |
duration | string | 是 | 分镜时长 |
参数规则:
- 当
multi_shot=true且shot_type=customize时,当前参数必填。 - 最多支持 6 个分镜,最少支持 1 个分镜。
- 每个分镜相关内容最大长度不超过 512 个字符。
- 每个分镜时长不大于当前任务总时长,且不小于 1 秒。
- 所有分镜时长之和需要等于当前任务总时长。
格式如下:
json
{
"multi_prompt": [
{ "index": 1, "prompt": "镜头一描述", "duration": "2" },
{ "index": 2, "prompt": "镜头二描述", "duration": "3" }
]
}negative_prompt
负向文本提示词。
- 可选参数。
- 不能超过 2500 个字符。
- 建议也可通过正向提示词中的负向句子补充负向提示信息。
element_list
参考主体列表,基于主体库中的主体 ID 配置。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
element_id | long | 是 | 主体库中的主体 ID |
json
{
"element_list": [
{ "element_id": 123456789 }
]
}参数规则:
- 最多支持 3 个参考主体。
- 主体分为视频角色主体和多图主体,适用范围不同。
- 不同模型版本、视频模式支持范围不同,具体以服务商能力为准。
voice_list
生成视频时引用的音色列表。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
voice_id | string | 是 | 音色 ID,可来自音色定制接口或系统预置音色 |
json
{
"voice_list": [
{ "voice_id": "voice_id_1" }
]
}参数规则:
- 一次视频生成任务至多引用 2 个音色。
- 当
voice_list不为空且prompt中引用音色 ID 时,任务按“有指定音色”计量计费。 element_list与voice_list互斥,不能共存。- 指定音色时,
sound必须为on。
sound
生成视频时是否同时生成声音。
| 取值 | 说明 |
|---|---|
on | 生成声音 |
off | 不生成声音 |
默认值为 off。不同模型版本、视频模式支持范围不同,具体以服务商能力为准。
cfg_scale
生成视频的自由度。值越大,模型自由度越小,与用户输入提示词的相关性越强。
- 可选参数。
- 默认值为
0.5。 - 取值范围为
[0, 1]。 kling-v2.x模型不支持当前参数。
mode
生成视频的模式。
| 取值 | 说明 |
|---|---|
std | 标准模式,基础模式,性价比高,通常输出 720P。 |
pro | 专家模式,高品质模式,通常输出 1080P。 |
4k | 4K 模式,高表现模式,通常输出 4K。 |
默认值为 std。不同模型版本、视频模式支持范围不同,具体以服务商能力为准。
static_mask
静态笔刷涂抹区域,即用户通过运动笔刷涂抹的 mask 图片。
- 可选参数。
- 支持图片 URL 或 Base64,格式要求同
image字段。 - 图片格式支持
.jpg/.jpeg/.png。 - 图片长宽比必须与输入图片相同,否则任务可能失败。
static_mask和dynamic_masks[].mask的分辨率必须一致,否则任务可能失败。
dynamic_masks
动态笔刷配置列表。可配置多组,最多 6 组,每组包含涂抹区域 mask 与运动轨迹 trajectories。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
mask | string | 是 | 动态笔刷涂抹区域,支持图片 URL 或 Base64,格式要求同 image 字段 |
trajectories | array | 是 | 运动轨迹坐标序列 |
trajectories 子参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
x | int | 是 | 轨迹点横坐标,以输入图片左下角为原点 |
y | int | 是 | 轨迹点纵坐标,以输入图片左下角为原点 |
参数规则:
- 生成 5 秒视频时,轨迹长度不超过 77,坐标个数取值范围
[2, 77]。 - 坐标点越多,轨迹刻画越准确。
- 轨迹方向以传入顺序为指向。
camera_control
控制摄像机运动的协议。如未指定,模型会根据输入文本和图片进行智能匹配。
| 子参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 预定义运镜类型 |
config | object | 条件必填 | 当 type=simple 时必填;指定其他类型时不填 |
type 枚举:
| 取值 | 说明 |
|---|---|
simple | 简单运镜,此类型下可在 config 中六选一进行运镜 |
down_back | 镜头下压并后退;此类型下 config 无需填写 |
forward_up | 镜头前进并上仰;此类型下 config 无需填写 |
right_turn_forward | 先右旋转后前进;此类型下 config 无需填写 |
left_turn_forward | 先左旋并前进;此类型下 config 无需填写 |
config 可选字段:
| 字段 | 类型 | 说明 |
|---|---|---|
horizontal | float | 水平运镜,取值范围 [-10, 10],负值向左,正值向右 |
vertical | float | 垂直运镜,取值范围 [-10, 10],负值向下,正值向上 |
pan | float | 水平摇镜,取值范围 [-10, 10],负值向左旋转,正值向右旋转 |
tilt | float | 垂直摇镜,取值范围 [-10, 10],负值向下旋转,正值向上旋转 |
roll | float | 旋转运镜,取值范围 [-10, 10],负值逆时针,正值顺时针 |
zoom | float | 变焦,取值范围 [-10, 10],负值焦距变长,正值焦距变短 |
当 type=simple 时,config 中以下 6 个字段只能有 1 个字段不为 0,其余字段应为 0。
watermark_info
是否同时生成含水印的结果。
json
{
"watermark_info": {
"enabled": false
}
}| 子参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
enabled | boolean | 是 | true 表示生成含水印结果,false 表示不生成含水印结果 |
暂不支持自定义水印。
callback_url
本次任务结果回调通知地址。如果配置,服务端会在任务状态发生变更时主动通知。
external_task_id
自定义任务 ID。传入后不会覆盖系统生成的任务 ID,但支持通过该 ID 查询任务。单用户下需保证唯一。
关键约束
image与image_tail至少二选一,不能同时为空。image_tail、dynamic_masks/static_mask、camera_control存在组合约束,建议按官方规则组包。element_list与voice_list互斥,不能共存。multi_shot开启时,shot_type与multi_prompt必须满足条件关系。
查询任务
| 查询类型 | 请求方法 | 请求地址 |
|---|---|---|
| 单任务查询 | GET | /v1/videos/kling/image2video/{task_id} |
| 列表查询 | GET | /v1/videos/kling/image2video?pageNum=1&pageSize=30 |
参数兼容
| 兼容字段 | 行为 |
|---|---|
model | 自动映射到官方字段 model_name |
seconds | 统一视频创建流程可兼容,最终按标准化逻辑处理 |
接口约束
当模型为 Kling-Video-O1 或 Kling-V3-Omni 时,请使用 /v1/videos/kling/omni-video;走图生路径可能返回 422。
请求示例
json
{
"model_name": "Kling-V2.6",
"image": "https://example.com/multi-2.png",
"image_tail": "https://example.com/multi-1.png",
"prompt": "镜头拉远,女生微笑",
"negative_prompt": "",
"duration": "5",
"mode": "pro",
"sound": "off",
"callback_url": "",
"external_task_id": ""
}返回结构示例
创建任务返回示例
json
{
"code": 0,
"message": "SUCCEED",
"request_id": "string",
"data": {
"task_id": "string",
"task_info": {
"external_task_id": "string"
},
"task_status": "submitted",
"created_at": 1722769557708,
"updated_at": 1722769557708
},
"aiping_id": "string"
}查询任务返回示例(单个)
json
{
"code": 0,
"message": "SUCCEED",
"request_id": "string",
"data": {
"task_id": "string",
"task_status": "succeed",
"task_status_msg": "string",
"watermark_info": {
"enabled": true
},
"task_result": {
"videos": [
{
"id": "string",
"url": "string",
"watermark_url": "string",
"duration": "string"
}
]
},
"task_info": {
"external_task_id": "string"
},
"final_unit_deduction": "string",
"created_at": 1722769557708,
"updated_at": 1722769557708
},
"aiping_id": "string"
}查询任务返回示例(列表)
json
{
"code": 0,
"message": "string",
"request_id": "string",
"data": [
{
"task_id": "string",
"task_status": "submitted|processing|succeed|failed",
"task_status_msg": "string",
"task_info": {
"external_task_id": "string"
},
"task_result": {
"videos": [
{
"id": "string",
"url": "string",
"watermark_url": "string",
"duration": "string"
}
]
},
"watermark_info": {
"enabled": true
},
"final_unit_deduction": "string",
"created_at": 1722769557708,
"updated_at": 1722769557708
}
],
"aiping_id": "string"
}注意事项
- 参数与取值以官方文档为准。
- 图生视频涉及较多互斥/组合规则(如
element_list与voice_list、multi_shot条件必填等),请按官方约束组包。