id,再轮询 GET /tasks 获取成片。模型名写在 URL 路径里(/text-to-video/kling-3.0),请求体用 settings / options / contents 三个字段组织参数。
创建视频任务
三个提交端点共用同一套请求体结构(prompt + settings + options + contents),仅 contents 的组合不同。
请求参数速查
settings 字段
仅传入的字段会覆盖网关默认值,省略的字段沿用模型档位默认。
multi_shot 用指针区分「未设置」与「显式 false」,需要关闭多镜头时请显式传 false。options 字段
contents 数组
每个元素由type 决定读取哪些字段。图生视频用 first_frame / last_frame;Omni 可组合多种素材:
Omni 生成时,网关会按
contents 中素材出现的顺序把它们绑定进提示词,你只需在 prompt 中自然描述即可,无需手动书写素材占位符。三类生成端点
提交成功返回统一的 ack 信封,
data.id 为网关任务 ID(后续查询用它):
动作控制
POST /motion-control/{model} · 模型 kling-3.0-motion-control
动作控制(Motion Control)用一段参考视频驱动图片中的角色 / 主体做出对应动作。它是专用端点,计费模型由端点自动绑定(路径里的 {model} 仅作占位,写 kling-3.0 或 kling-3.0-motion-control 均可)。请求体支持两种形态:官方 contents + settings(推荐,与可灵官方一致),或扁平结构(顶层直接放 image_url / video_url / mode 等,作兼容别名,走 POST /videos/motion-control)。两者并存时以 contents / settings 优先。
contents[] 按内容顺序给出角色图片、参考视频与描述,settings 控制朝向、原声与分辨率:
扁平形态(兼容别名,
POST /videos/motion-control):
输出时长由参考视频决定、提交时未知,网关按最大计费时长 30 秒预扣,任务完成后按实际时长回收多退少补(见计费规则),因此提交时请保证余额充足。上游以
model_name: "kling-v3" 提交。data.id 为网关任务 ID、data.status),后续统一走 GET /tasks 查询:
数字人
POST /videos/avatar/image2video · 模型 kling-3.0-avatar
数字人(Avatar)用一段音频驱动人像图片开口说话(口型对齐)。同为专用端点、请求体扁平结构(不使用 settings / contents),计费模型由端点自动绑定。
cURL
输出时长跟随驱动音频(约 2–300 秒)、提交时未知,网关按最大计费时长 300 秒预扣,完成后按实际时长回收多退少补。
pro(1080p)单价更高,请预留足够余额。上游数字人请求体不带 model_name 字段。GET /tasks,而是专属信封:提交返回 data.task_id / data.task_status,成功态是 succeed(注意——不是视频端点的 succeeded),并用专属查询端点拉取结果。提交响应:
GET /tasks):
GET /videos/avatar/image2video/{task_id}
cURL
task_status 为 succeed,成片在 data.task_result.videos[](id / url / duration):
声音复刻(
kling-3.0-voice)是非视频的独立任务,请求体、计费与查询方式都不同(同样是 task_id / succeed 专属信封 + 专属查询端点),详见声音复刻 API。查询任务
GET /tasks
批量查询任务,task_ids 与 external_task_ids 二选一(一次只认一种,task_ids 优先),均支持逗号分隔批量。文生 / 图生 / Omni / 动作控制四类视频任务都用它查询,任务状态机:submitted → processing → succeeded / failed。数字人与声音复刻不在此列 —— 它们各有专属查询端点(GET /videos/avatar/image2video/{task_id}、GET /general/custom-voices/{task_id}),成功态是 succeed。
按任务 ID 查询
按业务 ID 查询
data 恒为数组,每个元素结构如下:
outputs[] 元素:
成功响应示例:
outputs 为空数组):
错误响应
参数错误、鉴权失败或上游异常时返回错误信封:429 与 5xx 建议指数退避重试(2s → 4s → 8s)。任务本身的失败不体现为 HTTP 错误,而是查询时
status 为 failed。在线调试(试一试)
在 API 参考中可对每个端点直接发起真实请求:文生视频
POST /text-to-video/
图生视频
POST /image-to-video/
Omni 多模态生成
POST /omni-video/
动作控制
POST /motion-control/
数字人提交
POST /videos/avatar/image2video
数字人查询
GET /videos/avatar/image2video/
任务查询
GET /tasks
相关文档
能力总览与定价
模型清单、技术规格、计费规则
快速开始
三步跑通第一个任务