DeerAPI Omni Video 接入说明:说明 capability ID、官方 model_name、素材引用语法、多镜头模式,以及专用查询页的使用方式。
curl --request POST \
--url https://api.deerapi.com/kling/v1/videos/omni-video \
--header 'Authorization: Bearer <DEERAPI_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model_name": "kling-video-o1",
"prompt": "让 <<<image_1>>> 里的人物朝镜头挥手,然后转身看向远处的城市灯光。",
"image_list": [
{"image_url": "https://example.com/omni-reference.png"}
],
"duration": "5",
"mode": "pro",
"aspect_ratio": "16:9",
"callback_url": "https://example.com/kling/callback"
}'{
"code": 123,
"message": "<string>",
"request_id": "<string>",
"data": {
"task_id": "<string>",
"task_status": "<string>",
"task_info": {
"external_task_id": "<string>"
},
"created_at": 123,
"updated_at": 123
}
}Documentation Index
Fetch the complete documentation index at: https://apidoc.deerapi.com/llms.txt
Use this file to discover all available pages before exploring further.
/kling/v1/videos/omni-video 适合把文字、图片、元素和视频素材组合进同一个视频任务。需要多模态引用、首尾帧、参考视频或更复杂叙事时,用这页比普通文生/图生视频更合适。
引用素材时让 prompt 和列表一一对应
image_list、element_list 或 video_list 时,在 prompt 里用 <<<image_1>>>、<<<element_1>>>、<<<video_1>>> 这类占位符去引用对应素材。需要多镜头时切换到 v3-omni
model_name: "kling-v3-omni" 并开启 multi_shot: true。customize 模式下用 multi_prompt 手动定义每个镜头;intelligence 模式下只需提供全局 prompt,系统自动分镜。用专用查询页取结果
kling_omni_video 是 DeerAPI capability,不是 model_name。另外,prompt 里的占位符顺序必须和素材列表顺序对得上。| 特性 | kling-video-o1(默认) | kling-v3-omni |
|---|---|---|
多镜头 (multi_shot) | ❌ | ✅ 最多 6 镜头 |
| 最长时长 | 10 s | 15 s |
同步音效 (sound) | ✅ | ✅ |
| 首尾帧 | ✅ | ❌(多镜头模式下) |
| 参考视频 | ✅ | ❌(多镜头模式下) |
model_name 时默认使用 kling-video-o1。切换到 kling-v3-omni 后即可启用多镜头模式。
kling-v3-omni 并设置 multi_shot: true 可将一个任务拆分为多个镜头。
shot_type | 说明 | prompt | multi_prompt |
|---|---|---|---|
customize | 自定义分镜,手动描述每个镜头 | 无效(被 multi_prompt 替代) | 必填,最多 6 个镜头 |
intelligence | 智能分镜,系统自动拆分 | 必填(作为全局描述) | 不需要 |
| 参数 | 类型 | 说明 |
|---|---|---|
multi_shot | boolean | true 开启多镜头 |
shot_type | string | customize 或 intelligence,多镜头时必填 |
multi_prompt | array | 镜头列表,每项含 index、prompt(≤512 字符)、duration |
duration | string | 全局总时长(3–15 秒),各镜头 duration 之和必须等于此值 |
sound | string | on / off,是否同步生成音效;存在 video_list 时只能为 off |
multi_shot: true 时不能传 video_list,只能使用图片或纯文字。
2+2+1=5,全局 duration 必须为 "5"。
multi_shot: true 时 image_list 中的 type: first_frame / end_frame 无效,图片只能通过 <<<image_N>>> 在 multi_prompt 中引用。
multi_prompt 控制。只有 intelligence 模式才使用全局 prompt。
Bearer token authentication. Use your DeerAPI key.
请求体沿用官方 Kling 字段语义;其中 model_name 仍然是官方模型枚举,而不是 DeerAPI live capability ID。
文本提示词,可以包含正向和负向描述。
提示词可以进行模板化,以满足不同的视频生成需求。
不得超过 2,500 个字符。
💡
Omni 模型可以通过包含元素、图像、视频及其他内容的 Prompt 来实现多种能力。
以 <<<>>> 的格式指定一个元素、图像或视频,例如 <<<element_1>>>、<<<image_1>>>、<<<video_1>>>。
能力范围可在用户手册中查看:KLING Omni 模型用户指南。
multi_shot 为 false 时,此字段为主提示词(必填)。multi_shot 为 true 且 shot_type 为 customize 时,此字段无效(各镜头内容由 multi_prompt 描述)。multi_shot 为 true 且 shot_type 为 intelligence 时,此字段为必填(系统自动分镜)。官方模型枚举
kling-video-o1:Omni Video O1 模型(默认值)kling-v3-omni:V3 Omni 模型,支持多镜头(multi_shot)、更长时长等能力不同模型支持的能力范围不同,详见能力地图。
是否开启多镜头模式
true:开启多镜头,需同时提供 shot_type。当 shot_type 为 customize 时还需提供 multi_prompt。此时全局 prompt 无效(被 multi_prompt 替代),且不支持设置首末帧。false 或不传:单镜头模式(默认行为),此时 shot_type 和 multi_prompt 无效。⚠️ 开启多镜头时,不能传 video_list(参考视频),只能使用图片或纯文字。
镜头类型(仅在 multi_shot: true 时生效,且为必填)
customize(自定义分镜)、intelligence(智能分镜)customize 模式下需同时提供 multi_prompt。intelligence 模式下需提供全局 prompt(不能为空),无需 multi_prompt。多镜头提示词列表(仅在 multi_shot: true 且 shot_type: customize 时生效,且为必填)
<<<image_N>>>、<<<video_N>>> 引用 image_list / video_list 中对应位置的素材。duration 不得超过全局 duration,且必须 ≥ 1。duration 之和必须等于全局 duration。Show child attributes
是否在生成视频时同步生成音效
on、offoffon:为生成的视频自动配音效/音乐。off:不生成音效。⚠️ 当存在参考视频(video_list 非空)时,sound 只能为 off。
不同模型版本和视频模式的支持范围有所不同,详见能力地图。
参考图像列表
包含元素、场景、风格等的参考图像,也可用作生成视频的首帧或末帧;当作为首帧或末帧生成视频时:
使用 type 参数定义图像位于首帧还是末帧:first_frame 表示首帧,end_frame 表示末帧。
目前不支持仅设置末帧,这意味着当存在末帧图像时,必须同时存在首帧图像。
当正在生成视频的首帧或末帧时,无法使用视频编辑功能。
通过 key:value 的方式加载,具体如下:
"image_list":[
{
"image_url":"image_url",
"type":"first_frame"
},
{
"image_url":"image_url",
"type":"end_frame"
}
]支持输入图像的 Base64 编码或图像 URL(需确保可访问)。
支持的图像格式包括 .jpg / .jpeg / .png。
图像文件大小不能超过 10MB,图像的宽高尺寸不得小于 300px,且图像的宽高比应在 1:2.5 ~ 2.5:1 之间。
参考图像的数量与是否存在参考视频以及参考元素的数量有关:
当存在参考视频时,参考图像数量与参考元素数量之和不得超过 4;
当不存在参考视频时,参考图像数量与参考元素数量之和不得超过 7;
当图像数量超过 2 张时,不支持设置末帧;
image_url 参数的值不能为空。
在多镜头模式下,image_list 中的图像通过 multi_prompt 中的 <<<image_N>>> 按顺序引用。
Show child attributes
参考元素列表
"element_list":[
{
"element_id":long
}
]参考元素的数量与是否存在参考视频以及参考图片的数量有关:
当存在参考视频时,参考图片数量与参考元素数量之和不得超过 4;
当不存在参考视频时,参考图片数量与参考元素数量之和不得超过 7;
Show child attributes
视频生成模式
枚举值:std,pro
std:标准模式,具有较高的性价比
pro:专业模式,生成的视频时长更长,但视频输出质量更高
不同模型版本和视频模式的支持范围有所不同。更多详情请参阅当前文档的“3-0 能力地图”。
生成的视频帧的宽高比(宽:高)
枚举值:16:9、9:16、1:1
当未使用首帧参考或视频编辑功能时,此参数为必填项。
视频长度,单位:秒(s)
枚举值:3,4,5,6,7,8,9,10,11,12,13,14,15
使用文本生成视频和首帧图片生成视频时(不含首末帧):可选 3~10 秒。
使用视频编辑功能("refer_type": "base")时,输出结果与输入视频的时长相同,当前参数无效。计费时将输入视频时长四舍五入到最接近的整数。
在多镜头模式中,此字段为全局总时长,multi_prompt 中各镜头 duration 之和必须等于此值。
不同模型版本和视频模式支持的时长范围不同,详见能力地图。
参考视频,获取已上传视频的链接。
可作为功能参考视频或待编辑视频使用,默认作为待编辑视频;可选择性保留视频原声。
根据 refer_type 参数区分参考视频类型:feature 为功能参考视频,base 为待编辑视频。
当参考视频为待编辑视频时,无法定义视频的起始帧和结束帧。
通过参数 keep_original_sound 选择是否保留视频原声,yes 表示保留,no 表示不保留;当前参数同样适用于功能参考视频。
以 key:value 方式加载,详情如下:
"video_list":[
{
"video_url":"video_url",
"refer_type":"base",
"keep_original_sound":"yes"
}
]仅支持 .mp4/.mov 格式。
仅支持时长 ≥ 3 秒且 ≤ 10 秒的视频。
视频分辨率的宽和高必须在 720px 到 2160px(含)之间。
仅支持 24 ~ 60 fps 的视频,输出结果为 24fps。
仅支持上传 1 个视频,且视频大小不超过 200MB。
video_url 参数的值不能为空。
⚠️ 多镜头模式(multi_shot: true)下不能传 video_list。
Show child attributes
是否同时生成带水印的结果
enabled 参数控制:true 生成带水印结果,false 不生成。Show child attributes
该任务结果的回调通知地址。如果已配置,当任务状态发生变化时,服务器将主动进行通知
自定义任务 ID 用户可以提供一个自定义任务 ID,该 ID 不会覆盖系统生成的任务 ID,但可用于任务查询。请注意,自定义任务 ID 必须在单个用户账号内保持唯一。
curl --request POST \
--url https://api.deerapi.com/kling/v1/videos/omni-video \
--header 'Authorization: Bearer <DEERAPI_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model_name": "kling-video-o1",
"prompt": "让 <<<image_1>>> 里的人物朝镜头挥手,然后转身看向远处的城市灯光。",
"image_list": [
{"image_url": "https://example.com/omni-reference.png"}
],
"duration": "5",
"mode": "pro",
"aspect_ratio": "16:9",
"callback_url": "https://example.com/kling/callback"
}'{
"code": 123,
"message": "<string>",
"request_id": "<string>",
"data": {
"task_id": "<string>",
"task_status": "<string>",
"task_info": {
"external_task_id": "<string>"
},
"created_at": 123,
"updated_at": 123
}
}