主题模式
可灵 AI 文生视频 API 文档
文生视频用于根据文本提示词生成视频。本文档以当前实现为准。
官方文档入口(仅参考):https://klingai.com/document-api/
请求头
| 字段 | 值 | 描述 |
|---|---|---|
| Content-Type | application/json | 数据交换格式 |
| Authorization | Bearer | 鉴权信息 |
请求体参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model_name | string | 否 | Kling-V3 | 推荐使用的模型字段,目前支持Kling-V3,Kling-V2.6,Kling-V1.6 |
model | string | 否 | 无 | 兼容字段,会映射到 model_name |
prompt | string | 否 | 无 | 文本提示词 |
negative_prompt | string | 否 | 空 | 负向提示词 |
multi_shot | boolean | 否 | false | 多镜头开关 |
shot_type | string | 条件必填 | 无 | multi_shot=true 时按上游规则生效 |
multi_prompt | array | 条件必填 | 无 | 多镜头分镜信息 |
sound | string | 否 | off | 是否生成声音 |
cfg_scale | float | 否 | 0.5 | 提示词参考强度,取值范围 [0,1] |
mode | string | 否 | std | 视频模式 |
aspect_ratio | string | 否 | 16:9 | 画面比例 |
seconds | string | 否 | 无 | 兼容时长字段 |
duration | string | 否 | 无 | 时长字段 |
camera_control | object | 否 | 空 | 运镜控制 |
watermark_info | object | 否 | 空 | 是否同时生成含水印的结果 |
callback_url | string | 否 | 空 | 回调地址 |
external_task_id | string | 否 | 空 | 自定义任务 ID |
multi_shot
multi_shot 为多镜头视频开关,默认值为 false。
multi_shot=true时生成多镜头视频,此时prompt参数无效,且不支持设定首尾帧生视频。multi_shot=false时,shot_type和multi_prompt参数无效。
shot_type
shot_type 用于指定分镜方式,类型为 string。
枚举值:
| 值 | 说明 |
|---|---|
customize | 自定义分镜 |
intelligence | 智能分镜 |
当 multi_shot=true 时,当前参数必填。
prompt
prompt 为正向文本提示词,类型为 string,不能超过 2500 个字符。
当 multi_shot=false 或 multi_shot=true 且 shot_type=intelligence 时,当前参数不得为空。
Omni 模型可通过 Prompt 与主体、图片、视频等内容实现多种能力,可通过 <<<>>> 的格式指定主体、图片或视频,例如:
text
<<<element_1>>>、<<<image_1>>>、<<<video_1>>>也可以用 <<<voice_1>>> 指定音色,序号与 voice_list 一致。至多引用 2 个音色;指定音色时 sound 必须为 on;建议语法结构尽量简单,例如:
text
男人<<<voice_1>>>说:“你好”当 voice_list 不为空且 prompt 引用音色 ID 时,按「有指定音色」计费。不同模型版本、视频模式支持范围不同,以能力地图为准。
multi_prompt
multi_prompt 为各分镜提示词数组,可包含正向描述和负向描述。
通过 index、prompt、duration 定义分镜序号、分镜提示词和分镜时长:
json
{
"multi_prompt": [
{ "index": 1, "prompt": "string", "duration": "5" },
{ "index": 2, "prompt": "string", "duration": "5" }
]
}规则:
- 最多支持 6 个分镜,最少支持 1 个分镜。
- 每个分镜相关内容的最大长度不超过 512。
- 每个分镜的时长不大于当前任务总时长,且不小于 1 秒。
- 所有分镜的时长之和必须等于当前任务总时长。
- 当
multi_shot=true且shot_type=customize时,当前参数必填。
negative_prompt
negative_prompt 为负向文本提示词,类型为 string,不能超过 2500 个字符。
官方建议也可通过正向提示词中的负向句子补充负向提示信息。
sound
sound 用于控制生成视频时是否同时生成声音,类型为 string,默认值为 off。
枚举值:
| 值 | 说明 |
|---|---|
on | 生成声音 |
off | 不生成声音 |
不同模型版本、视频模式支持范围不同,以能力地图为准。
cfg_scale
cfg_scale 用于控制生成视频的自由度,类型为 float,默认值为 0.5。
取值范围为 [0,1]。值越大,模型自由度越小;值越小,模型自由度越大。kling-v2.x 模型不支持此参数。
mode
mode 为视频生成模式,类型为 string,默认值为 std。
枚举值:
| 值 | 说明 |
|---|---|
std | 标准模式,基础模式,性价比高,输出视频分辨率为 720P |
pro | 专家模式,高品质模式,生成质量更佳,输出视频分辨率为 1080P |
4k | 4K 模式,高表现模式,生成质量更佳,输出视频分辨率为 4K |
不同模型版本、视频模式支持范围不同,以能力地图为准。
camera_control
camera_control 用于控制相机运动。如果不指定,模型会根据输入的文本智能匹配运镜。不同模型版本、视频模式支持范围不同,以能力地图为准。
camera_control.type 为预定义相机运动类型,枚举值:
| 值 | 说明 |
|---|---|
simple | 简单运镜,此类型下需在 config 中六选一设置运镜 |
down_back | 镜头下压并后退,即下移拉远,此类型下无需填写 config |
forward_up | 镜头前进并上仰,即推进上移,此类型下无需填写 config |
right_turn_forward | 先右旋转后前进,即右旋推进,此类型下无需填写 config |
left_turn_forward | 先左旋并前进,即左旋推进,此类型下无需填写 config |
当 type=simple 时,camera_control.config 必填。config 包含以下 6 个字段,需六选一,即只能有一个参数不为 0,其余参数为 0:
| 字段 | 类型 | 取值范围 | 说明 |
|---|---|---|---|
horizontal | float | [-10,10] | 水平方向移动,负值向左平移,正值向右平移 |
vertical | float | [-10,10] | 垂直方向移动,负值向下平移,正值向上平移 |
pan | float | [-10,10] | 水平摇摄,负值绕 y 轴向左旋转,正值绕 y 轴向右旋转 |
tilt | float | [-10,10] | 垂直俯仰,负值绕 x 轴向下旋转,正值绕 x 轴向上旋转 |
roll | float | [-10,10] | 翻滚,负值绕 z 轴逆时针旋转,正值绕 z 轴顺时针旋转 |
zoom | float | [-10,10] | 缩放,负值表示焦距变长、视野变小,正值表示焦距变短、视野变大 |
aspect_ratio
aspect_ratio 为生成视频帧的宽高比,类型为 string,默认值为 16:9。
枚举值:16:9、9:16、1:1。
duration
duration 为视频长度,单位秒,类型为 string,默认值为 5。
枚举值:3、4、5、6、7、8、9、10、11、12、13、14、15。
不同模型版本、视频模式支持范围不同,以能力地图为准。
watermark_info
watermark_info 用于控制是否同时生成含水印的结果,类型为 object。
格式如下:
json
{
"watermark_info": {
"enabled": true
}
}enabled=true 表示生成含水印结果,enabled=false 表示不生成含水印结果。暂不支持自定义水印。
callback_url
callback_url 为本次任务结果回调通知地址。如果配置,服务端会在任务状态发生变更时主动通知。
external_task_id
external_task_id 为自定义任务 ID。传入后不会覆盖系统生成的任务 ID,但支持通过该 ID 查询任务。请注意,单用户下需保证唯一性。
创建任务
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/text2video | POST | application/json | application/json |
查询任务
查询单个
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/text2video/{task_id} | GET | application/json | application/json |
查询列表
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/text2video?pageNum=1&pageSize=30 | GET | application/json | application/json |
参数兼容
| 兼容字段 | 行为 |
|---|---|
model | 自动映射为官方字段 model_name |
seconds | 统一视频创建流程可兼容,最终按标准化逻辑处理 |
接口约束
当模型为 Kling-Video-O1 或 Kling-V3-Omni 时,请使用 /v1/videos/kling/omni-video;走文生路径可能返回 422。
请求示例
json
{
"model_name": "Kling-V2.6",
"prompt": "一只可爱的小兔子,戴着眼镜,坐在桌边,看报纸",
"duration": "5",
"mode": "pro",
"sound": "on",
"aspect_ratio": "1:1",
"callback_url": "",
"external_task_id": ""
}返回结构示例
json
{
"code": 0,
"message": "string",
"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": "string",
"request_id": "string",
"data": {
"task_id": "string",
"task_status": "succeed",
"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"
}查询任务返回示例(列表)
json
{
"code": 0,
"message": "string",
"request_id": "string",
"data": [
{
"task_id": "string",
"task_status": "succeed",
"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"
}注意事项
- 参数与取值以官方文档为准,优先使用
model_name。 model仅是兼容写法,不建议作为主文档字段。- 不同模型在
mode、duration、sound、camera_control上支持范围不同,以官方能力地图为准。