API 参考视频Kling
Kling 3.0 & 3.0 Omni
Kling 3.0 与 3.0 Omni 的文生视频、图生视频、Omni 视频生成和动作控制接口。
四个能力均采用异步任务模式:提交任务后获取任务 ID,再查询任务状态和返回结果。
文生视频
创建任务
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求地址 | https://token.aiznt.com/text-to-video/kling-3.0 |
| 认证方式 | Header Authorization: Bearer sk-你的密钥 |
| Content-Type | application/json |
curl https://token.aiznt.com/text-to-video/kling-3.0 \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"prompt": "一位女孩坐在火车上望向窗外,神情忧郁,头部随着火车轻轻晃动",
"settings": {
"multi_shot": true,
"audio": "off",
"resolution": "4k",
"aspect_ratio": "16:9",
"duration": 15
},
"options": {
"external_task_id": "text-task-001",
"watermark_info": {
"enabled": false
}
}
}'| 字段 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
prompt | string | 是 | — | — | 正向或负向文本提示词,最长 3072 个字符,建议不超过 2500 个字符。 |
settings | object | 否 | — | — | 多镜头、声音、清晰度、画面比例和时长设置。 |
settings.multi_shot | boolean | 否 | true | — | 是否生成多镜头视频;为 false 时不会生成多镜头。 |
settings.audio | string | 否 | off | native、off | native 生成与画面匹配的声音;off 不生成声音。 |
settings.resolution | string | 否 | 720p | 720p、1080p、4k | 生成视频的清晰度。 |
settings.aspect_ratio | string | 否 | 16:9 | 16:9、9:16、1:1 | 生成视频的画面宽高比。 |
settings.duration | integer | 否 | 5 | 3~15 | 视频时长,单位为秒。 |
options | object | 否 | — | — | 回调、自定义任务 ID 和水印设置。 |
options.callback_url | string | 否 | — | — | 状态变化时接收回调通知的地址。 |
options.external_task_id | string | 否 | — | — | 账户内唯一的自定义任务 ID,可用于查询,不会覆盖系统任务 ID。 |
options.watermark_info | object | 否 | — | — | 水印配置对象。 |
options.watermark_info.enabled | boolean | 否 | false | — | 是否生成含水印结果;暂不支持自定义水印。 |
多镜头提示词格式为“镜头 n, m, words;”,最多 6 个分镜;每个分镜至少 1 秒,总时长必须等于 settings.duration,单个分镜提示词最长 512 个字符。
创建响应
{
"code": 0,
"message": "string",
"request_id": "string",
"data": {
"id": "893605946402811985",
"status": "submitted",
"create_time": 1781080778802,
"update_time": 1781080794151,
"external_id": "text-task-001"
}
}创建响应字段
四个创建接口的响应结构一致:
| 字段 | 类型 | 说明 |
|---|---|---|
code | integer | 错误码;0 表示成功。 |
message | string | 错误或状态信息。 |
request_id | string | 系统生成的请求 ID。 |
data.id | string | 系统生成的任务 ID。 |
data.status | string | submitted、processing、succeeded 或 failed。 |
data.create_time | integer | 创建时间,Unix 毫秒时间戳。 |
data.update_time | integer | 更新时间,Unix 毫秒时间戳。 |
data.external_id | string | 自定义任务 ID(如有)。 |
查询任务(按任务 ID)
GET https://token.aiznt.com/tasks。task_ids 与 external_task_ids 至少且只能选择一个,支持英文逗号分隔多个 ID。
| 查询参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
task_ids | string | 二选一 | 系统任务 ID;批量查询时用英文逗号分隔。 |
external_task_ids | string | 二选一 | 自定义任务 ID;批量查询时用英文逗号分隔。 |
curl "https://token.aiznt.com/tasks?task_ids=893605946402811985" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json"{
"code": 0,
"message": "string",
"request_id": "string",
"data": [
{
"id": "893605946402811985",
"status": "succeeded",
"message": "string",
"create_time": 1781080778802,
"update_time": 1781080794151,
"external_id": "text-task-001",
"outputs": [
{
"type": "video",
"id": "video-output-id",
"url": "string",
"watermark_url": "string",
"duration": "10"
},
{
"type": "image",
"url": "string",
"watermark_url": "string",
"group_id": "group-1"
},
{
"type": "audio",
"id": "audio-output-id",
"mp3_url": "string",
"wav_url": "string",
"mp3_duration": "10",
"wav_duration": "10"
},
{
"type": "voice",
"id": "voice-output-id",
"name": "voice",
"url": "string",
"owned_by": "kling",
"status": "succeeded"
},
{
"type": "element",
"id": "element-output-id",
"name": "character",
"description": "string",
"element_type": "video_character_elements",
"references": [
{
"type": "image",
"role": "frontal",
"url": "https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-tob-release_note/image_7.1.png"
}
],
"owned_by": "kling",
"status": "succeeded",
"tags": [
{
"id": 1,
"name": "tag",
"description": "string"
}
]
}
],
"billing": [
{
"charge_type": "unit",
"amount": "1",
"package_type": "video"
}
]
}
]
}| 字段 | 类型 | 说明 |
|---|---|---|
data[].message | string | 任务状态信息;失败时可包含内容风控等失败原因。 |
data[].outputs | array | 生成结果列表。视频结果的 type 为 video。 |
data[].outputs[].id | string | 视频结果 ID。 |
data[].outputs[].url | string | 视频下载 URL,防盗链格式。 |
data[].outputs[].watermark_url | string | 含水印视频下载 URL。 |
data[].outputs[].duration | string | 视频时长,单位为秒。 |
data[].outputs[].group_id | string | 组图结果的分组 ID(仅图片组图时返回)。 |
data[].outputs[].mp3_url / wav_url | string | 音频结果的 MP3/WAV 下载 URL。 |
data[].outputs[].mp3_duration / wav_duration | string | MP3/WAV 音频时长,单位为秒。 |
data[].outputs[].name | string | 音色或主体名称。 |
data[].outputs[].description | string | 主体描述。 |
data[].outputs[].element_type | string | 主体类型:video_character_elements 或 multi_image_elements。 |
data[].outputs[].references | array | 主体关联的图片、视频或音色素材。素材项包含 type、role、url,音色素材还包含 id、name、owned_by。 |
data[].outputs[].owned_by | string | 音色或主体来源。 |
data[].outputs[].status | string | 音色或主体状态:succeeded、deleted。 |
data[].outputs[].tags | array | 主体标签,包含 id、name、description。 |
data[].billing | array | 扣费明细。 |
data[].billing[].charge_type | string | 消耗账户类型:cash 或 unit。 |
data[].billing[].cash_type | string | 额度类型:balance 或 test_balance(仅 cash 时返回)。 |
data[].billing[].amount | string | 扣减数额。 |
data[].billing[].currency | string | 余额扣费单位:CNY 或 USD(仅 cash 时返回)。 |
data[].billing[].package_type | string | 资源包类型:video、image 或 audio(仅 unit 时返回)。 |
data[].billing[].list_price | string | 额度扣减刊例价(仅 cash 时返回)。 |
视频 URL 会在 30 天后清理,请及时转存。
查询任务(按游标)
POST https://token.aiznt.com/tasks 仅支持查询非实时的异步任务。首次查询可使用时间范围和筛选条件;后续分页时,将上一页响应中的 data.next_cursor 作为 cursor 传入。传入 cursor 后,start_time 和 end_time 不再生效。filters[].key 可为 status 或 product_type,视频任务使用 product_type=video;返回 data.result、data.count、data.next_cursor 和 data.has_more。
| 字段 | 类型 | 说明 |
|---|---|---|
start_time | string | 创建时间范围起点,Unix 毫秒时间戳;默认是 end_time 前 30 天,且必须早于 end_time。 |
end_time | string | 创建时间范围终点,Unix 毫秒时间戳;默认当前时间。 |
cursor | string | 上次响应的 data.next_cursor;传入后忽略时间范围。 |
limit | integer | 本次返回的任务数量,默认 100,最大 500。 |
filters | array | 筛选条件。 |
filters[].key | string | status 或 product_type。 |
filters[].values | array | 状态支持 submitted、processing、succeeded、failed;功能类型支持 video、image、try_on。 |
data.result | array | 返回的任务列表,字段与按任务 ID 查询一致。 |
data.count | integer | 本页返回数量。 |
data.next_cursor | string | 下一页游标。 |
data.has_more | boolean | 是否还有更多结果。 |
curl https://token.aiznt.com/tasks \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"limit": 100,
"filters": [
{
"key": "status",
"values": [
"succeeded"
]
},
{
"key": "product_type",
"values": [
"video"
]
}
]
}'需要下一页时,将上一页的 data.next_cursor 放入 cursor:
{
"cursor": "上一次响应中的 data.next_cursor",
"limit": 100,
"filters": [
{
"key": "product_type",
"values": ["video"]
}
]
}