可灵 Kling 视频生成示例
通过平台POST /v1/videos 创建异步视频任务,使用返回的 id 查询进度,完成后下载视频。本文参数均放在 JSON 顶层;使用平台 API Key,不需要供应商密钥或供应商任务地址。
模型与能力矩阵
历史模型
kling-v2-6-std、kling-v2-6-pro 继续使用相同的平台接口,但参数范围不同,见文末“V2.6 兼容调用”。请使用当前环境 GET /v1/models 返回的模型 ID。
快速开始:文生视频
"model":"kling-v3" 和 "generate_audio":false。两款模型的 std 档均支持有声视频。
创建响应中的 id 是后续查询和下载使用的平台任务 ID。以下响应仅为字段示意,实际 ID 以接口返回为准:
V3 / Turbo 参数说明
清晰度与画幅
推荐只传mode 和 ratio。如果同时传 mode、resolution、size,它们必须指向相同清晰度;文生视频同时传 size 和 ratio 时,宽高比也必须一致。
图生视频的画幅由首帧决定,返回的实际宽高可能与表中示例不同。
size 选择清晰度档位,不保证输出精确等于传入尺寸。
首帧图生视频
将示例 URL 换成供应商可访问的图片地址。普通图生只需要一张首帧;不要重复传入同一首帧的多个表示。first_frame,兼容 reference_image 和空角色;尾帧支持 last_frame 或 end_frame。图片内容的 type 必须是 image_url。
Turbo 首帧使用 JPG/JPEG/PNG,文件不超过 50MB,宽高至少 300px,宽高比在 1:2.5 到 2.5:1 之间。避免使用需要登录、短期签名已过期或仅内网可访问的素材链接。
首尾帧(仅 V3)
以下 JSON 作为POST /v1/videos 的请求体:
自定义分镜
两款模型都通过multi_prompt 定义多个镜头。下面是 5 秒、两个镜头的请求体:
model 改为 kling-3.0-turbo,删除 generate_audio:false。图生分镜可在以上请求中加入首帧 content,Turbo 仍不能加入尾帧。
multi_prompt包含 1–6 项,index从 1 连续递增。- 每项
prompt非空且不超过 512 字符,不能包含半角分号;,可改用句号、逗号或全角分号。 - 每项
duration是正整数字符串,至少 1 秒;总和必须等于顶层duration,总时长仍为 3–15 秒。 - 自定义分镜不同时传顶层
prompt。shot_type可省略,传入时使用customize。 - 组合后的分镜提示词总长度(含镜头序号和时长描述)最多 2500 字符,超出会返回参数错误,不会截断。
multi_prompt会自动开启多镜头,不能与multi_shot:false共用。
智能分镜
使用顶层prompt 描述镜头要求,传 shot_type:intelligence,不传 multi_prompt;也可使用 multi_shot:true 配合顶层 prompt。
主体参考(仅 V3)
在图生视频或动作控制中加入顶层elements,并通过提示词中的 @Element1 引用第一项主体。每项选择以下一种形态:
同一项不能混用
element_id 与内联图片。平台当前不提供本文主体的创建、审核或管理流程;优先使用内联图片方式。
elements 不能用于 V3 文生视频或 Turbo。主体数量等额外限制仍可能由上游校验。
动作控制(仅 V3)
提供一张角色图和一个参考动作视频。character_orientation:image 以角色图片朝向为准,video 以参考视频朝向为准。此场景的输出时长由参考视频决定。
std / pro,不支持 4k。不要传 duration、seconds、generate_audio、sound、negative_prompt、cfg_scale、尾帧或分镜。朝向为 image 时参考视频最长 10 秒,朝向为 video 时最长 30 秒。确保人物完整清晰、无遮挡。
查询任务与下载
完成响应包含
url、seconds,上游提供宽高时还会包含 size。字段示意:
完整 Python 示例
安装requests,设置环境变量 TOKENOPS_API_KEY 后运行。示例接受所有上述顶层参数,图生、分镜和音频字段会完整发送。
wait_video(video_id) 和 download_video,无需再次调用 create_video。创建请求若因网络超时没有收到响应,先核对是否已成功创建,避免自动重试导致生成多个付费任务。
计费与常见错误
普通生成按模型计费页中的清晰度、有声/无声档位及实际视频秒数结算;动作控制按对应档位与实际时长结算。V3 默认有声会影响价格,需无声时显式传generate_audio:false。Turbo 固定有声。
成功视频的时长以任务返回的 seconds 为准,不要把播放器容器中多出的少量编码时长自行向上取整。创建时的预扣可能早于最终账单;失败或最终用量变化时,平台按实际结果进行结算或退款,账本更新可能有延迟。视频响应不保证包含文本模型式的 usage 尾包,最终扣费请以平台账单为准。
V3 / Turbo 不支持旧版
camera_control、static_mask、dynamic_masks、watermark、watermark_info、external_task_id;video_list 也不是 V3 动作控制入口。不要将其他可灵模型的专有参数直接套用到这两个模型。
Kling V3 Omni
kling-v3-omni 支持文字、图片、主体形象和参考视频输入,可用于生成新视频、保持角色外观或编辑已有视频。本文介绍平台的视频能力;图片生成、数字人口播、指定台词及口型同步不属于本文的功能说明。
创建、查询和下载仍使用 POST /v1/videos、GET /v1/videos/{id}、GET /v1/videos/{id}/content。先确认当前环境 GET /v1/models 已返回 kling-v3-omni。下面的 JSON 均为创建接口的完整请求体,替换素材 URL 后即可使用;认证方式与前文相同。
参数与组合限制
素材组合规则:
image_list与content的图片合计:无输入视频时最多 7 张,有输入视频时最多 4 张。不要用两种写法重复提交同一首帧或尾帧。- 尾帧必须与首帧同时提供;首尾帧不能追加其他参考图片,也不能与输入视频组合。
content图片的role:first_frame表示首帧,last_frame/end_frame表示尾帧;reference_image、multi_reference_image或省略role均表示参考图。普通 V3 的reference_image首帧兼容写法不适用于 Omni。- 有输入视频时不能开启新音频、使用
4k、首尾帧或分镜;参考图片和主体仍可作为补充素材。 - 不支持
negative_prompt、cfg_scale、character_orientation、顶层keep_original_sound、input_reference,以及前文列出的旧版相机、蒙版、水印和自定义任务 ID 参数。
文生视频与原生音频
默认生成无声 720p 视频。需要有声时显式开启generate_audio;下面生成 3 秒的 1080p 有声视频:
"mode":"4k";默认仍为无声。生成效果取决于提示词与素材,有音轨不代表指定台词或口型同步得到保证。
首帧与首尾帧图生视频
只提供第一项即可首帧图生;同时提供两项则约束起始和结束画面。画幅由首帧决定,不需要额外传ratio。
多图与主体参考
参考图片按顺序使用@Image1、@Image2 引用,主体按顺序使用 @Element1、@Element2 引用。它们用于保持角色、场景或风格;参考图片不自动等同于视频首帧。
frontal_image_url,reference_image_urls 最多 3 张。已有主体可将这一项替换为 {"element_id":"已有主体ID"};同一项不能同时包含 ID 和内联图片,也不能两者都不传。无需首帧时可以只提交 elements,不传 image_list。
视频参考与视频编辑
两种模式都在
video_list 的视频项内 使用字符串 "keep_original_sound":"yes" / "no" 控制是否保留原声,默认 yes。这与顶层布尔值 generate_audio 的“新生成音频”含义不同。下面是参考生成:
自定义分镜
每段duration 使用整数字符串,index 从 1 连续递增,所有分镜时长之和必须等于顶层整数 duration。每段提示词最多 512 字符且不能含半角分号 ;;组合后的提示词总长不超过 2500 字符。不要同时传顶层 prompt,也不能显式设置 multi_shot:false。
prompt 和 "shot_type":"intelligence",不传 multi_prompt;不能同时设置 multi_shot:false。两种分镜模式均不能与 video_list 组合。
Omni 计费与错误处理
按输出清晰度、有无新生成音频、是否输入参考或待编辑视频选择每秒单价,以平台模型计费页显示的价格为准。默认无声与 V3 默认有声的价格档位不同。
最终按任务返回的
seconds 结算。视频编辑继承输入时长,预扣与实际时长不一致时会补扣或退回差额;失败任务按最终结果退款。请等待最终账本更新后核对,不要将创建时预扣金额当作最终金额,也不要根据播放器多出的少量编码时长自行向上取整。
若遇到 end frame requires first frame,补充首帧;Omni video reference/edit requires generate_audio=false,关闭新音频;Omni video editing inherits duration and aspect ratio,移除编辑请求中的 duration、seconds、ratio 和 size。轮询超时后继续查询原 ID,不自动重发创建请求。
V2.6 兼容调用
历史模型仍可通过POST /v1/videos 创建、GET /v1/videos/{id} 查询和 /content 下载。V2.6 使用字符串 seconds("5" 或 "10"),模式由模型名中的 -std / -pro 推导,也可通过顶层 mode 指定。
reference_image;旧适配路径不会将 first_frame 转成首帧。尾帧使用 last_frame / end_frame。size 可传 1280x720、720x1280、1080x1080,或用 ratio 推导;最终尺寸以结果为准。V2.6 不使用本文 V3 专用的 duration、resolution、multi_prompt 和 elements 调用方式。generate_audio:true 会请求有声视频,上游是否接受该模式组合以实际模型能力为准。

