The elderly man slowly smiles, eyes crinkling warmly, soft lamp light flickering gently
Kling 3.0 Turbo Pro Image to Video API
kwaivgi/kling-v3-turbo-pro/image-to-videoKling 3.0 Turbo Pro Image to Video 将单张首帧图片转化为 3–15 秒 1080p 动态视频,支持深度细节还原、原生音画口型同步与电影级运镜调度。它在注入自然动作与分镜节奏的同时,保留首帧主体身份、构图比例与材质质感。使用 multi_prompt 并省略顶层 duration 时,也支持镜头合计 1–2 秒。
请上传所需图片。
生成的视频会显示在这里
填写提示词并添加所需素材,确认设置后点击“运行”。
示例
REST API
快速开始
使用 API 鉴权,提交参数,再用任务 ID 取回视频。
连接到 Vidgo API
创建 API key,仅保存在服务端,并发送 Authorization: Bearer VIDGO_API_KEY。
- 端点
- POST
https://api.vidgo.ai/api/generate/submit - 鉴权
- Authorization: Bearer VIDGO_API_KEY
提交一次生成任务
按请求示例填写本端点参数,保存返回的 task_id 用于查询进度和结果。
REQUEST_BODY=$(cat <<'JSON'
{
"model": "kwaivgi/kling-v3-turbo-pro/image-to-video",
"input": {
"image_urls": [
"https://cdn.vidgo.ai/apis/models/kwaivgi/kling-v3-turbo-pro/image-to-video/v1/01/input-01.png"
],
"prompt": "The elderly man slowly smiles, eyes crinkling warmly, soft lamp light flickering gently",
"duration": 5
}
}
JSON
)
RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
CODE=$(printf '%s' "$RESPONSE" | jq -r '.code // empty')
if [ "$CODE" != "0" ] && [ "$CODE" != "200" ]; then
printf 'API error: %s
' "$RESPONSE" >&2
exit 1
fi
printf '%s
' "$RESPONSE"等待结果
用 task_id 查询,not_started/running 继续,finished/failed 停止。成功后读取 data.files[].file_url。
查询状态
GET https://api.vidgo.ai/api/generate/status/{task_id}以 2 秒为基准轮询状态,较长任务加大间隔。仅在 not_started 或 running 时继续,finished 或 failed 立即停止。也可在请求中指定 callback_url 接收 webhook。
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "task-unified-...",
"status": "running",
"created_time": "2026-09-16T10:00:00Z"
}
}{
"code": 200,
"data": {
"task_id": "task-unified-...",
"status": "finished",
"files": [
{
"file_url": "https://storage.vidgo.ai/generated/video.mp4",
"file_type": "video"
}
],
"created_time": "2026-08-22T10:00:00Z",
"progress": 100,
"error_message": null
}
}完整可运行示例
展开查看含 HTTP 与业务码检查、task_id 校验、轮询、终态处理和超时边界的完整脚本。
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "kwaivgi/kling-v3-turbo-pro/image-to-video",
"input": {
"image_urls": [
"https://cdn.vidgo.ai/apis/models/kwaivgi/kling-v3-turbo-pro/image-to-video/v1/01/input-01.png"
],
"prompt": "The elderly man slowly smiles, eyes crinkling warmly, soft lamp light flickering gently",
"duration": 5
}
}
JSON
)
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
TASK_ID=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.data.task_id // .task_id // empty')
BUSINESS_CODE=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Submit failed:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
if [ -z "$TASK_ID" ]; then
printf 'Submit response did not include task_id:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
START_TIME=$(date +%s)
POLL_DELAY=2
while true; do
if [ $(( $(date +%s) - START_TIME )) -ge 600 ]; then
printf 'Timed out after 600 seconds
' >&2
exit 1
fi
STATUS_RESPONSE=$(curl --silent --show-error --fail-with-body \
--url "https://api.vidgo.ai/api/generate/status/$TASK_ID" \
--header "Authorization: Bearer $VIDGO_API_KEY")
STATUS=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.data.status // .status // empty')
BUSINESS_CODE=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Status request failed:
%s
' "$STATUS_RESPONSE" >&2
exit 1
fi
case "$STATUS" in
finished)
printf '%s' "$STATUS_RESPONSE" | jq -r '(.data.files // .files // [])[]?.file_url'
break
;;
failed)
printf '%s' "$STATUS_RESPONSE" | jq -r '.data.error_message // .error_message // "Generation failed"' >&2
exit 1
;;
not_started|running)
sleep "$POLL_DELAY"
if [ "$POLL_DELAY" -lt 10 ]; then POLL_DELAY=$((POLL_DELAY + 1)); fi
;;
*)
printf 'Unexpected task status: %s
' "$STATUS" >&2
exit 1
;;
esac
done输入参数
下表列出可用输入参数、类型和默认值。请求示例还包含必填的顶层 model 字段。
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| image_urls | array | 是 | — | 恰好 1 个公网图片 URL,作为首帧。 |
| prompt | string | 否 | — | 1–2500 字符。与 multi_prompt 互斥。 |
| duration | integer | 否 | 镜头总时长 / 5 | 显式 duration 必须为 3–15 秒;多镜头时须等于镜头总时长。省略时使用镜头总时长(允许 1–15 秒),无多镜头时默认为 5 秒。 |
| multi_prompt | array | 否 | — | 1–6 个镜头;每个镜头必须有非空 prompt,duration 可选,范围 1–15 秒,默认 5 秒。总时长不超过 15 秒。与非空 prompt 互斥。 |
| multi_prompt[].prompt | string | 是(若提供 multi_prompt) | — | 该镜头提示词,最多 2500 字符。 |
| multi_prompt[].duration | integer | 否 | 5 | 该镜头时长 1–15 秒。 |
| aspect_ratio | string | 否 | — | 输出比例跟随输入图片;本端点的 aspect_ratio 字段不影响输出。 |
响应字段
成功提交会返回任务 ID。状态查询提供进度、输出文件和失败详情。
| 字段 | 类型 | 说明 |
|---|---|---|
| code | integer | 应用结果码;成功响应为 0 或 200。 |
| message | string | 可读消息;失败时给出错误详情。 |
| data.task_id | string | 用于状态查询路径的任务 ID。 |
| data.status | string | not_started, running, finished, or failed. |
| data.created_time | string | 任务创建时间,date-time 格式。 |
| data.progress | integer | 任务进度,范围为 0–100;仅在响应包含此字段时提供。 |
| data.files[] | array | 成功任务的全部输出文件,按响应顺序。 |
| data.files[].file_url | string | 生成视频的公网 URL。 |
| data.files[].file_type | string | 文件类型,例如 video。 |
| data.error_message | string | null | status 为 failed 时的失败详情。 |
任务生命周期
status 为 not_started 或 running 时继续查询;到 finished 或 failed 后停止,再处理输出或错误。
not_started任务已接受,等待开始。
running正在生成。继续用同一 task_id 轮询。
finished生成成功。从 data.files[].file_url 读取视频 URL。
failed生成失败。读取 data.error_message 并停止轮询。
轮询与错误
- 鉴权遇到 401 时,检查 Authorization 中的 Bearer API key,更新凭证后重试。
- 参数校验遇到 400 时,根据响应检查必填字段、取值范围和可用积分,调整后重新提交。
- 网络与超时状态查询遇到网络错误或超时,保留原 task_id 重试查询,再按返回状态处理。
- 轮询间隔以 2 秒为基准轮询状态,较长任务逐步加大间隔。
- 终态仅在 not_started 或 running 时继续。finished 或 failed 立即停止。
- 回调选项可在请求顶层提供 callback_url 接收最终任务对象;投递失败时仍可轮询。
模型规格
| 规格 | 取值 | 说明 |
|---|---|---|
| 输入模式 | 首帧图片,可选文本提示词 | image_urls 恰好 1 张图;prompt 可选。 |
| 输出 | 视频 | 提交后返回异步任务 ID。 |
| 时长 | 3–15 秒 | 整数取值,默认 5 秒。 |
| 分辨率 | 1080p | 由 Pro 档位固定,不是请求字段。 |
| 计费依据 | 输出秒数 × 22 credits/秒 | 默认 5 秒为 110 credits($0.55)。 |
Kling 3.0 Turbo Pro Image to Video
Kling 3.0 Turbo Pro Image to Video 以恰好一张首帧图为视觉锚点,配合可选提示词或 1–6 镜头分镜,生成 3–15 秒工作室级 1080p 视频。适合电商产品动化、角色口型表演、短广告分镜与概念图预演,在保留构图与材质的同时呈现稳定运动和原生音画同步。使用 multi_prompt 并省略顶层 duration 时,也支持镜头合计 1–2 秒。
为什么选择它?
单首帧精确动化以恰好一张公网图片作为首帧,将静态产品、角色或概念图转化为连贯动态短片,画幅比例跟随原图。
工作室级 1080p 成片Pro 档固定输出 1080p 全高清,纹理与边缘细节更完整,适合直接进入剪辑时间线或作为投放成片。
原生音画口型同步随画面同步生成音频,在口型、对白与动作事件之间保持自然对齐,减少后期对轨成本。
电影级运镜调度通过提示词指定推拉、跟拍、低角度等镜头运动,让画面按创作意图展开空间调度。
1–6 镜头分镜叙事可用 multi_prompt 规划最多 6 个镜头,分别设定景别、动作与时长,跨镜头锁定人物与场景一致性。
3–15 秒灵活时长单次生成支持 3 到 15 秒整数时长,默认 5 秒,覆盖钩子镜头、产品展示与短故事节奏。
参数
| 参数 | 要求 | 说明 |
|---|---|---|
| image_urls | 必填 | 字符串数组,恰好 1 个公网图片 URL,作为首帧。 |
| prompt | 可选 | 字符串,1–2500 字符。与 multi_prompt 互斥。 |
| duration | 可选 | 显式 duration 必须为 3–15 秒;多镜头时须等于镜头总时长。省略时使用镜头总时长(允许 1–15 秒),无多镜头时默认为 5 秒。 默认值 镜头总时长 / 5 |
| multi_prompt | 可选 | 1–6 个镜头;每个镜头必须有非空 prompt,duration 可选,范围 1–15 秒,默认 5 秒。总时长不超过 15 秒。与非空 prompt 互斥。 |
| aspect_ratio | 可选 | 输出比例跟随输入图片;本端点的 aspect_ratio 字段不影响输出。 |
使用方法
准备首帧图片提供恰好 1 个公网可访问的图片 URL 作为首帧,主体清晰、构图稳定;输出画幅将跟随该图。
编写动作提示词在 prompt 中写清主体动作、环境互动、运镜方向与希望呈现的声音线索,或改用 multi_prompt 做分镜。
规划多镜头分镜需要分段叙事时,用 multi_prompt 配置 1–6 个镜头,分别填写提示词与镜头时长,总时长不超过 15 秒。
设置输出时长不使用 multi_prompt 时,duration 为 3–15 秒的整数,默认 5 秒。使用 multi_prompt 时可省略顶层 duration,按镜头总时长(1–15 秒)生成;显式提供时必须为 3–15 秒且等于镜头总和。
确认费用并运行查看运行按钮显示的当前配置费用(按输出秒数 × 22 credits/秒),完成设置后点击“运行”。
预览并下载视频任务完成后,在输出面板预览 1080p 画面与同步音频,点击“下载视频”保存结果。
价格
按输出视频秒数计费。1 credit = $0.005。Pro 档固定 1080p。
| 用量 | 费率 | 说明 |
|---|---|---|
| 1080p | 22 credits/sec ($0.11/sec) | 默认 5s 为 110 credits($0.55)。官方对比价 $0.1375/sec。 |
适用场景
电商产品动化展示将产品静帧转化为带运镜与材质反光的动态短片,突出外观细节与使用场景。
角色口型与表演镜头基于人像或角色首帧生成说话、表情与肢体动作,配合原生口型同步完成对白片段。
多镜头短广告叙事用 1–6 镜头分镜一次生成完整广告节奏,跨镜头保持品牌主体与场景一致。
概念图成片预演把概念艺术或分镜静帧动化成 1080p 预览片,快速验证构图、光影与镜头运动。
社交短视频批量产出围绕同一视觉资产迭代 3–15 秒竖屏或横屏片段,适配 Reels、Shorts 等高频发布需求。
Pro Tips
- 首帧选择主体清晰、边缘干净、无严重遮挡的图片,并在提示词中复述关键外观特征,强化身份与材质延续。
- 描述运镜时写明幅度与节奏,例如“缓慢贴近车身后再平稳后拉”,避免只写笼统的“电影运镜”。
- 多镜头任务中为每个 shot 写清景别、动作与时长,并统一人物服饰与场景关键词,维持跨镜一致性。
- 单一动作可用 5–8 秒;需要起承转合时,用 multi_prompt 拆分节奏,总时长控制在 15 秒内。
- 需要口型或环境声时,在提示词中补充对白语言、情绪与声景线索,帮助音画事件对齐。
使用说明
- Kling 3.0 Turbo Pro Image to Video 以恰好 1 张首帧图驱动生成,prompt 与 multi_prompt 互斥,可选其一。
- 输出固定为 1080p,画幅比例跟随首帧图片;单次时长为 3–15 秒整数,默认 5 秒。
- 按输出视频秒数计费,费率为 22 credits/秒($0.11/秒),1 credit = $0.005;默认 5 秒为 110 credits。
- 通过 API 提交后保存返回的 task_id,用于查询任务进度并获取最终视频文件链接。
Kling 3.0 Turbo Pro Image to Video API 常见问题
Kling 3.0 Turbo Pro Image to Video API 是什么?
Kling 3.0 Turbo Pro Image to Video 是快手(Kling AI)用于首帧图片生成视频的模型。它根据恰好一张首帧图与可选提示词通常生成 3–15 秒 1080p 视频,具备深度细节还原、原生音画口型同步与电影级运镜调度。依托 Kling 3.0 多镜头叙事与物理运动建模,它在保留首帧主体、构图与材质质感的同时,注入连贯动作与分镜节奏。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。 使用 multi_prompt 并省略顶层 duration 时,也允许镜头合计 1 或 2 秒。
Kling 3.0 Turbo Pro Image to Video 需要几张单参考图?
恰好需要 1 张公网图片 URL 作为首帧。该图锚定起始构图与主体外观,画幅比例跟随原图;动作、运镜与声音线索可通过可选 prompt 或 multi_prompt 继续指导。
Kling 3.0 Turbo Pro Image to Video 的输入素材质量建议是什么?
优先使用主体清晰、光线均匀、边缘干净的高分辨率首帧。在提示词中复述面容、服饰、产品材质与关键结构,有助于延续身份与物理质感;复杂背景可写明需要保留的环境元素。
Kling 3.0 Turbo Pro Image to Video 如何控制运镜幅度?
在提示词中写明具体摄影机运动、方向与速度,例如“沿主体缓慢横移后轻微上仰”。幅度描述越具体,镜头调度越贴近意图;多镜头任务可为每个 shot 分别指定景别与运镜。
Kling 3.0 Turbo Pro Image to Video 如何做长动作故事叙事?
multi_prompt 支持 1–6 个镜头,每个镜头必须有非空 prompt;镜头 duration 可选,须为 1–15 秒的整数,默认 5 秒。镜头总时长不能超过 15 秒。省略顶层 duration 时使用镜头时长之和,也允许合计 1 或 2 秒;显式传入时须为 3–15 秒的整数,且等于镜头时长之和。multi_prompt 不能与非空的顶层 prompt 同时使用。分镜请在 JSON 模式编辑;尝试切换表单时会保留 JSON 模式及全部镜头配置。跨镜头保持人物与场景描述一致,有助于故事连贯。
Kling 3.0 Turbo Pro Image to Video 支持商用许可吗?
支持在遵守 Kling AI 标准许可与平台服务条款的前提下用于商业项目。投放广告、电商素材或客户交付前,请确认当前账号套餐与生成结果的授权范围。
Kling 3.0 Turbo Pro Image to Video 与 Standard 消耗如何对比?
Pro Image to Video 固定 1080p,按 22 credits/秒计费;同系列 Standard Image to Video 固定 720p,按 17 credits/秒计费。同等时长下 Pro 积分更高,换取工作室级全高清成片;打样可用 Standard,定稿再切换 Pro。


