Kuaishou
Kling 3.0
kling-3.0-omni/image-to-video
快手新一代视频生成模型,支持多镜头叙事与音画同轮生成,运动表现物理可信,适合3-15秒电影感短片与角色一致性内容
价格
kling-3.0-omni/image-to-video 每秒
定位简介
Kling 3.0 Omni 的图生视频模型由快手提供,接收一张参考图并根据提示词生成写实短视频,输出为视频文件。它面向需要指定首帧画面、并让角色与场景在多镜头间保持一致的开发者,适合品牌短片、产品展示与对话驱动型内容的素材生产。在同系列中,该型号以图像为起点、按输出秒数计费,属于 Omni 分支中偏图生视频工作流的选择。
核心亮点
- 以参考图为起点控制画面——用一张图锁定首帧与角色形象,再通过提示词驱动运动与镜头,减少纯文生视频的画面随机性。
- 多镜头叙事下的角色一致性——可在多个镜头之间延续同一场景与人物形象,适合需要视觉连续性的短片结构。
- 画面与音频同轮生成——音频可与画面在同一次生成中产出,简化音画同步的对齐步骤。
- 运动与镜头可控——提供运动与镜头控制手段,用于引导物理可信的动态表现。
能力说明
图像驱动的视频生成:输入参考图与提示词即可输出视频,参考图决定起始画面与角色外观,提示词控制动作与镜头走向,适合需要稳定首帧的素材生产。
多镜头连续性:支持在多个镜头间延续场景与角色形象,可直接产出有叙事结构的短片段,减少逐镜对齐人物的工作量。
原生音频同步:声音与画面在同一次生成中产出,可用于对话或需要口型与语音配合的片段,缩短后期对轨流程。
运动与镜头控制:提供运动与镜头层面的操控手段,让开发者对动态幅度与运镜方式施加约束,而非完全依赖提示词碰运气。
分辨率与时长:输出最高支持 4K 分辨率,单段叙事时长约 3–15 秒,按输出秒数计费,便于按片段长度估算调用量。
适用场景
- 品牌或营销团队:以产品图生成短片——输入产品参考图与卖点提示词,产出可多镜头切换的营销短视频,用于投放或社媒内容位。
- 内容创作者:以角色图生成对话片段——输入角色图与台词提示,得到音画同步的对话短视频,用于连载式内容或角色出镜素材。
- 电商团队:以商品图生成展示视频——输入商品图与展示提示词,产出有运镜的展示短片,用于详情页或广告位。
- 短视频制作:静态画面转动态叙事——输入分镜首帧图,生成跨镜头延续的短片段,作为剪辑流程中的可组合素材。
限制与选型建议
定位为短视频生成,单段叙事时长约 3–15 秒,不适合长视频或需要完整剧集结构的项目。原生音频支持的语言范围在公开来源中表述不一,若音画同步是硬性需求,建议先用目标语言做小样验证。同系列另有纯图生视频、运动控制与参考图生视频分支,若工作流不需要音频与多镜头能力,可评估更贴合该环节的其他型号。计费按输出秒数口径计量,具体单价以站点价格面板为准。
提交生成任务
https://api.hiapi.ai/v1/tasks 请求头
Authorizationstring必填账号 API Key,所有请求必填。示例:Bearer YOUR_HIAPI_API_KEY。获取 API Key
Content-Typestring可选请求体固定按 JSON 解析;如携带,仅接受 application/json(可带 charset),其他取值返回 415。示例:application/json。
Idempotency-Keystring可选幂等键,最长 255 字节。同账户同键的重试只创建一次任务,重放返回首次 taskId。
网络超时或客户端自动重试时,同键只创建一次任务、不会重复扣费(幂等范围 = API Key 所属账户)。建议用业务侧唯一标识做键(如 "order-42");同键重放返回首次 taskId,键在首次提交 24 小时后过期。详细的场景矩阵见统一异步接口介绍页。
请求体
modelstring必填当前固定值:kling-3.0-omni/image-to-video
routestring可选当前固定值:default
inputobject必填
kling-3.0-omni/image-to-video 和线路 default 的业务参数对象,见下方参数表。
audioboolean可选默认值: false是否在生成视频的同时生成同步音效,布尔值,默认 false(不生成声音)。
promptstring必填minLength 1maxLength 3072描述期望生成的视频内容;若需使用 elements 中的主体,可在提示词中以 @name 形式引用该主体名称。
durationinteger可选默认值: 5min 3max 15输出视频时长,单位为秒,取值范围 3-15,默认 5。
elementsarray可选maxItems 3
可复用的主体列表,最多 3 个;每个元素包含名称、简短描述和 2-4 张图片,并在 prompt 中以 @name 形式引用。数组元素形态为包含 name、description、element_input_urls 的对象。
Array [ object ]
数组元素
namestring必填minLength 1主体的唯一名称,用于在 prompt 中通过 @name 引用,名称中不能包含空格。
descriptionstring必填minLength 1对该主体的简短描述,用于帮助模型识别和稳定生成该主体。
element_input_urlsarray必填minItems 2maxItems 4同一主体的 2-4 张图片地址,支持 JPG/PNG 格式,用于描述该主体的外观。
Array [ string ]
image_urlsarray必填minItems 1maxItems 2首帧/尾帧图片地址列表:传 1 张作为首帧,传 2 张则依次为首帧和尾帧;支持 JPG/PNG,单张不超过 50MB、至少 300 像素、宽高比 0.4-2.5,输出宽高比跟随首帧。
Array [ string ]
resolutionstring可选默认值: "720p"输出视频分辨率,字符串类型,默认 720p。
720p1080p4kprefer_multi_shotsboolean可选默认值: false是否让模型根据提示词自动规划多个镜头,布尔值,默认 false(不启用智能多镜头)。
callbackobject可选
终态通知配置;为空则不回调,由调用方自行查询。详见下方回调说明。
创建任务时提供 callback.url,任务终态时 HiAPI 主动 POST 通知你的服务,可免去轮询。回调请求体与任务详情数据结构同构;签名校验、投递重试与幂等说明见统一异步接口介绍页的回调说明。
urlstring必填callback 存在时必填;任务终态后向该 URL 发起 POST,须为合法 http(s) URL。
whenstring可选默认值: "final"当前仅支持 final,即 success / fail 均回调。
finalstoragestring可选默认值: "temp"产物存储档位:temp(默认,保留约 7 天)或 persistent(长期保存,按大小计费)。余额不足或超出存储上限会静默降级为 temp;实际生效档位见任务详情响应。
temppersistent请求示例
# 提交异步任务,成功立即返回 taskId(不等待生成完成)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0-omni/image-to-video",
"input": {
"audio": false,
"prompt": "…",
"duration": 5,
"image_urls": "…",
"resolution": "720p",
"prefer_multi_shots": false
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "kling-3.0-omni/image-to-video",
input: {
"audio": false,
"prompt": "…",
"duration": 5,
"image_urls": "…",
"resolution": "720p",
"prefer_multi_shots": false
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "kling-3.0-omni/image-to-video",
"input": {
"audio": false,
"prompt": "…",
"duration": 5,
"image_urls": "…",
"resolution": "720p",
"prefer_multi_shots": false
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} 获取任务详情
https://api.hiapi.ai/v1/tasks/:id 响应字段
taskIdstring必填任务 ID,前缀固定 tk-hiapi-。
modelstring必填解析后的模型全名。用 route 参数提交的任务返回 base@线路(如 gpt-image-2/text-to-image@ext);否则与创建时传入的模型名一致。
routestring可选仅当任务用显式 route 参数提交时出现,回显提交时的原值。
statusstring必填任务状态。
queued 已入队,尚未开始。
handling 处理中。
archiving 处理完成,产物准备中。
success 终态:完成,产物可用(返回 output)。
fail 终态:失败(返回 error)。
提交后按 status 判断:success 或 fail 为终态,其余为非终态,建议按 1~3 秒间隔轮询直至终态。成功终态后从 output[].url 下载产物,并在 expireAt 前完成下载或转存;需要长期保留时在创建任务时使用 storage: "persistent"。
creatednumber必填任务创建时间(Unix 秒)。
completednumber必填进入终态的 Unix 秒;非终态固定为 0。
outputarray可选
仅 status == success 时出现。产物列表,始终为数组,同一任务可能同时返回多个 type(如 video + first_frame)。
Array [ object ]
数组元素
urlstring必填资源 URL,可直接下载。
typestring必填当前可能值:video、image、audio、first_frame、last_frame、thumbnail,后续可能会扩展。
expireAtnumber必填资源可访问截止时间(Unix 秒);过期前请完成下载或转存。
errorobject可选
仅 status == fail 时出现。
codestring必填业务错误码。
messagestring必填错误描述。
响应示例
成功
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} 处理中(非终态)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} 失败
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
}