主题模式
可灵 AI 多模态视频编辑 API 文档
官方文档入口(仅参考):
能力流程
多模态视频编辑通常按以下顺序调用:
- 初始化待编辑视频:
init-selection - 标记选区:
add-selection(可配合delete-selection、clear-selection) - 预览选区:
preview-selection - 创建编辑任务:
multi-elements - 查询任务:单个 / 列表
1 初始化待编辑视频
接口
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements/init-selection | POST | application/json | application/json |
请求头
| 字段 | 值 | 描述 |
|---|---|---|
| Content-Type | application/json | 数据交换格式 |
| Authorization | Bearer | 鉴权信息 |
请求体参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
video_id | string | 条件必填 | 无 | 与 video_url 二选一 |
video_url | string | 条件必填 | 无 | 与 video_id 二选一 |
参数说明
video_id
视频 ID,从历史作品中选择待编辑的视频。
- 可选参数。
- 仅支持 30 天内生成的视频作品。
- 仅支持时长
>=2秒且<=5秒,或>=7秒且<=10秒的视频。 - 与
video_url不能同时为空,也不能同时有值。
video_url
待编辑视频 URL。上传时传视频下载链接;编辑选区时可传接口返回的视频 URL。
- 可选参数。
- 仅支持
.mp4/.mov格式。 - 仅支持时长
>=2秒且<=5秒,或>=7秒且<=10秒的视频。 - 视频宽高尺寸需介于
720px ~ 2160px。 - 仅支持
24fps、30fps或60fps的视频。 - 与
video_id不能同时为空,也不能同时有值。
返回字段说明
初始化成功后,响应中的 data 通常包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
status | int | 拒识码,非 0 表示识别失败 |
session_id | string | 会话 ID,基于视频初始化任务生成,不会随编辑选区行为改变,有效期通常为 24 小时 |
final_unit_deduction | string | 任务最终扣减积分数值 |
fps | float | 解析后视频帧率,在获取选区展示视频时需携带 |
original_duration | int | 解析后视频时长,在创建任务时需携带 |
width | int | 解析后视频宽度 |
height | int | 解析后视频高度 |
total_frame | int | 解析后视频总帧数,在创建任务时需携带 |
normalized_video | string | 初始化后的视频 URL |
2 增加视频选区
接口
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements/add-selection | POST | application/json | application/json |
请求体参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
session_id | string | 是 | 初始化后返回的会话 ID |
frame_index | int | 是 | 帧号 |
points | array | 是 | 选区点位数组(x,y) |
points 子项:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
x | float | 是 | 范围 [0,1] |
y | float | 是 | 范围 [0,1] |
参数规则
- 最多支持添加 10 个标记帧,即最多基于 10 帧标记视频选区。
- 1 次仅支持标记 1 帧。
points坐标使用百分比表示,取值范围为[0,1]。[0,1]代表画面左上角。- 支持同时增加多个标记点,某一帧最多可标记 10 个点。
返回字段说明
增加选区成功后,响应中的 data.res 通常包含:
| 字段 | 类型 | 说明 |
|---|---|---|
frame_index | int | 标记帧号 |
rle_mask_list | array | 分割结果列表 |
rle_mask_list 子项:
| 字段 | 类型 | 说明 |
|---|---|---|
object_id | int | 选区对象 ID |
rle_mask.size | array | RLE mask 尺寸 |
rle_mask.counts | string | RLE mask 编码 |
png_mask.size | array | PNG mask 尺寸 |
png_mask.base64 | string | PNG mask 的 Base64 数据 |
3 删减视频选区
接口
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements/delete-selection | POST | application/json | application/json |
请求体参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
session_id | string | 是 | 会话 ID |
frame_index | int | 是 | 帧号 |
points | array | 是 | 待删除点位(需与添加时一致) |
参数规则
points坐标使用百分比表示,取值范围为[0,1]。[0,1]代表画面左上角。- 支持同时删减多个标记点。
- 坐标点需与增加视频选区时完全一致。
4 清除视频选区
接口
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements/clear-selection | POST | application/json | application/json |
请求体参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
session_id | string | 是 | 会话 ID |
清除成功后会保留当前 session_id,但清除该会话下已标记的视频选区。
5 预览已选区视频
接口
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements/preview-selection | POST | application/json | application/json |
请求体参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
session_id | string | 是 | 会话 ID |
预览成功后,响应中的 data.res 通常包含:
| 字段 | 类型 | 说明 |
|---|---|---|
video | string | 含 mask 的视频 URL |
video_cover | string | 含 mask 视频的封面 URL |
tracking_output | string | 图像分割结果中每一帧 mask 结果 |
6 创建编辑任务
接口
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements | POST | application/json | application/json |
请求体参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model_name | string | 否 | kling-v1-6 | 推荐模型字段 |
model | string | 否 | 无 | 兼容字段,会映射到 model_name |
session_id | 条件必填 | string | 无 | 会话流编辑必填 |
edit_mode | string | 条件必填 | 无 | addition / swap / removal |
image_list | array | 条件必填 | 空 | addition/swap 通常需要,removal 可为空 |
prompt | string | 是 | 无 | 编辑提示词 |
negative_prompt | string | 否 | 空 | 负向提示词 |
mode | string | 否 | std | 模式(std / pro) |
seconds | string | 否 | 无 | 兼容时长字段,会映射为 duration |
duration | string | 否 | 5 | 时长字段 |
watermark_info | object | 否 | 空 | 水印开关 |
callback_url | string | 否 | 空 | 回调地址 |
external_task_id | string | 否 | 空 | 自定义任务 ID |
session_id
会话 ID,由初始化待编辑视频接口返回。会基于视频初始化任务生成,不会随编辑选区行为改变。
edit_mode
操作类型。
| 取值 | 说明 |
|---|---|
addition | 增加元素 |
swap | 替换元素 |
removal | 删除元素 |
image_list
裁剪后的参考图像列表。
使用规则:
- 增加视频元素时:当前参数必填,可上传 1 到 2 张图片。
- 替换视频元素时:当前参数必填,仅可上传 1 张图片。
- 删除视频元素时:当前参数无需填写。
- API 端无裁剪逻辑,请直接上传已选主体后的图片。
图片格式要求:
- 支持图片 URL 或 Base64 编码。
- 使用 Base64 时不要添加
data:image/png;base64,等前缀,直接传 Base64 字符串。 - 图片格式支持
.jpg/.jpeg/.png。 - 图片文件大小不能超过
10MB。 - 图片宽高尺寸不小于
300px。 - 图片宽高比介于
1:2.5 ~ 2.5:1。
格式如下:
json
{
"image_list": [
{ "image": "https://example.com/reference.png" }
]
}image_list 元素兼容:
imageimage_urlurlbase64
prompt
正向文本提示词。
- 必填参数。
- 可用
<<<xxx>>>格式特指某个视频或某张图片,例如<<<video_1>>>、<<<image_1>>>。 - 为保证效果,提示词中需包含视频编辑所需的视频和图片引用。
- 不能超过 2500 个字符。
推荐 Prompt 模板:
| 场景 | 模板 |
|---|---|
| 增加元素 | 基于<<<video_1>>>中的原始内容,以自然生动的方式,将<<<image_1>>>中的【】融入<<<video_1>>>的【】 |
| 替换元素 | 使用<<<image_1>>>中的【】替换<<<video_1>>>中的【】 |
| 删除元素 | 删除<<<video_1>>>中的【】 |
其中 【】 为需要填写的目标内容。
negative_prompt
负向文本提示词。
- 可选参数。
- 不能超过 2500 个字符。
mode
生成视频的模式。
| 取值 | 说明 |
|---|---|
std | 标准模式,基础模式,性价比高 |
pro | 专家模式,高品质模式,生成视频质量更佳 |
默认值为 std。
duration
生成视频时长,单位为秒。
| 取值 | 说明 |
|---|---|
5 | 生成 5 秒视频;输入视频时长需 >=2 秒且 <=5 秒 |
10 | 生成 10 秒视频;输入视频时长需 >=7 秒且 <=10 秒 |
支持且仅支持生成 5 秒和 10 秒的视频。
watermark_info
是否同时生成含水印的结果。
json
{
"watermark_info": {
"enabled": false
}
}| 子参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
enabled | boolean | 是 | true 表示生成含水印结果,false 表示不生成含水印结果 |
暂不支持自定义水印。
callback_url
本次任务结果回调通知地址。如果配置,服务端会在任务状态发生变更时主动通知。
external_task_id
自定义任务 ID。传入后不会覆盖系统生成的任务 ID,但支持通过该 ID 查询任务。单用户下需保证唯一。
7 查询任务
查询单个
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements/{task_id} | GET | application/json | application/json |
查询列表
| 网络协议 | 请求地址 | 请求方法 | 请求格式 | 响应格式 |
|---|---|---|---|---|
| https | /v1/videos/kling/multi-elements?pageNum=1&pageSize=30 | GET | application/json | application/json |
查询参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
pageNum | int | 否 | 1 | 页码,范围 [1, 1000] |
pageSize | int | 否 | 30 | 每页数据量,范围 [1, 500] |
请求示例
初始化
json
{
"video_url": "https://v1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/animals-output-5s.mp4"
}增加选区
json
{
"session_id": "847570360458960960",
"frame_index": 0,
"points": [
{ "x": 0.77, "y": 0.29 }
]
}创建任务(删除元素)
json
{
"model_name": "kling-v1-6",
"session_id": "847570360458960960",
"edit_mode": "removal",
"prompt": "删除<<<video_1>>>中的【小鸡】",
"mode": "std",
"duration": "5",
"callback_url": "",
"external_task_id": ""
}兼容说明:
- model 兼容映射为 model_name
- seconds 兼容映射为 duration
- 会自动清理 uid/create_at/_standard_model/action_control 等系统字段
创建任务返回
json
{
"code": 0,
"message": "SUCCEED",
"request_id": "string",
"data": {
"task_id": "string",
"task_status": "submitted",
"task_info": {
"external_task_id": "string"
},
"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",
"task_info": {
"external_task_id": "string"
},
"task_result": {
"videos": [
{
"id": "string",
"session_id": "id",
"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": "submitted|processing|succeed|failed",
"task_status_msg": "string",
"task_info": {
"external_task_id": "string"
},
"task_result": {
"videos": [
{
"id": "string",
"session_id": "id",
"url": "string",
"watermark_url": "string",
"duration": "string"
}
]
},
"watermark_info": {
"enabled": true
},
"final_unit_deduction": "string",
"created_at": 1722769557708,
"updated_at": 1722769557708
}
],
"aiping_id": "string"
}