A continuous five-second intimate portrait of the same elderly female tailor in her quiet workroom. Her hands remain gently resting on the folded fabric on the table. She slowly raises her gaze from the cloth toward someone just beside the camera and gives a small warm smile; her shoulders rise subtly with a breath. Preserve her age, face, glasses, hairstyle, fingers and clothing exactly. A curtain moves very slightly at the edge of the softly lit window. Fixed camera, natural expression and skin, no talking, no cuts.
Kling 1.6 Standard Image to Video API
kwaivgi/kling-video/v1.6/standard/image-to-videoKling 1.6 Standard Image to Video 将静态参考图像转化为流畅的 720p 视频,支持单图首帧驱动与多图 Elements 资产延续,提供 5 秒与 10 秒时长。它高度保留输入图像的人物相貌、主体轮廓与色彩风格,同时依据文字指令赋予真实的物理动作与平滑运镜。

体验上传支持 JPG、PNG、WebP,每个文件最多 10 MiB。可在 JSON 模式填写 HTTP(S) URL。
示例
REST API 规格
快速开始
提交端点请求并查询任务状态。请将示例素材 URL 替换为可访问的真实文件。
第一步:配置 API 鉴权
在控制台申请 API Key,并在每个 HTTP 请求头中携带 Authorization: Bearer <API_KEY> 进行身份验证。
- 任务提交端点
- POST
https://api.vidgo.ai/api/generate/submit - 鉴权请求头
- Authorization: Bearer VIDGO_API_KEY
第 2 步:提交生成任务
POST /api/generate/submit。model 和可选 callback_url 位于根级,生成参数位于 input 内。
REQUEST_BODY=$(cat <<'JSON'
{
"model": "kwaivgi/kling-video/v1.6/standard/image-to-video",
"input": {
"prompt": "A quiet forest in morning light, with a slow camera pan.",
"duration": 5,
"start_image_url": "https://example.com/start-frame.png"
}
}
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,失败时读取 data.error_message。
状态查询端点
GET https://api.vidgo.ai/api/generate/status/{task_id}使用 task_id 查询进度;not_started 或 running 时继续轮询,finished 或 failed 时停止。成功后读取 data.files[].file_url,失败时读取 data.error_message。
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "task-example",
"status": "not_started",
"created_time": "2026-09-23T08:00:00"
}
}{
"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
}
}端到端完整脚本示例
展开查看在生产环境中具备轮询重试、异常保护和超时处理的完整自动化脚本。
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "kwaivgi/kling-video/v1.6/standard/image-to-video",
"input": {
"prompt": "A quiet forest in morning light, with a slow camera pan.",
"duration": 5,
"start_image_url": "https://example.com/start-frame.png"
}
}
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请求参数(input 对象)
向 /api/generate/submit 提交 POST 请求时,input 内部所支持的生成参数配置:
| 字段 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| prompt | string | 必填 | — | 必填非空字符串,去除首尾空白后最多 2,500 个 Unicode 字符。 |
| duration | integer | 必填 | — | 必填数值 5 或 10 秒;不接受字符串、布尔值或小数时长。API 无默认值,体验表单初始选择 5 秒。 |
| aspect_ratio | string | 可选 | — | 可选 1:1、16:9、9:16,无默认值。Standard 首帧图生不支持,仅 Elements 支持。 |
| negative_prompt | string | 可选 | — | 可选字符串,最多 2,500 个 Unicode 字符。 |
| cfg_scale | number | 可选 | — | 可选有限数值 0–1,无默认值;Elements 工作流不支持。 |
| start_image_url | string | 按工作流必填 | — | 首帧工作流必填 HTTP(S) 图片 URL;与 image_urls 互斥。 |
| image_urls | array | 按工作流必填 | — | Elements 工作流必填 1–4 个 HTTP(S) 参考图 URL;与首帧、尾帧及 cfg_scale 互斥。 |
响应字段(查询结果)
通过 GET /api/generate/status/{task_id} 轮询获取的任务详情:
| 字段 | 类型 | 描述 |
|---|---|---|
| code | integer | 业务响应状态码,200 表示成功。 |
| data.task_id | string | 异步任务全局唯一流水号。 |
| data.status | string | 任务执行阶段:not_started(排队中)、running(生成中)、finished(已完成)、failed(失败)。 |
| data.files | array | 生成成功时包含的成片文件列表,每项含 file_url 与 file_type。 |
| data.error_message | string | null | 任务执行异常时的具体错误描述。 |
任务生命周期
客户端应根据 status 字段判断任务进度,达到 finished 或 failed 终态时立即终止轮询:
not_started任务已接收,等待执行。
running正在生成。
finished生成完成,从 data.files 获取视频 URL。
failed生成失败,请查看 data.error_message,已扣积分按现有流程返还。
轮询与异常处理
- 轮询频次推荐建议初始轮询间隔设为 2–3 秒,随着任务持续可递增至 5 秒一次,避免过密请求。
- 网络波动与重试若查询网络出现 5xx 或连接超时,不代表任务失败,可稍作休眠后继续重试查询。
- 异步 Webhook 回调支持在提交请求体根层级传递 callback_url,在任务终态时系统将通过 POST 自动推送完整任务结果。
接口规格
| 规格项 | 取值 | 说明 |
|---|---|---|
| 模型 ID | kwaivgi/kling-video/v1.6/standard/image-to-video | 请求根级 model 字段。 |
| 时长 | 5 / 10s | 必填数值 5 或 10 秒;不接受字符串、布尔值或小数时长。API 无默认值,体验表单初始选择 5 秒。 |
Kling 1.6 Standard Image to Video
Kling 1.6 Standard Image to Video 是快手(Kwaivgi)研发的高性价比图生视频模型。该端点专为静帧图像动态化与多图参考工作流设计,支持两种输入路径:一是通过 start_image_url 传入单张首帧图片,直接沿用原图画幅展开连贯动态;二是通过 image_urls 传入 1–4 张参考图片激活 Elements 工作流,在跨镜头运动中高度维持角色、道具或商品外观一致性。模型在 720p 分辨率下输出 5 秒或 10 秒成片,单秒计费 9 积分,性价比极高。
为什么选择此模式?
首帧平滑动态激活传入一张静态图片即可作为视频第一帧,顺滑生成符合真实物理惯性的后续动作与镜头运镜。
Elements 多图主体一致性支持上传 1–4 张素材图片,在复杂运动过程中精准锁定角色面貌、服饰特征与品牌商品细节。
画质与色彩高保真保留深入解析原图光影纹理与艺术质感,避免动态化过程中的主体漂移、色彩失真或边缘模糊。
灵活的时长与引导控制提供 5 秒短片与 10 秒长叙事选项,单图模式可微调 cfg_scale 控制文字指令对动态演化的干预强度。
实惠透明的按秒计费单秒统一为 9 积分($0.045/秒),首帧模式与多图 Elements 模式同价,失败任务自动返还扣费。
参数说明
| 参数 | 要求 | 说明 |
|---|---|---|
| prompt | 必填 | 必填非空字符串,去除首尾空白后最多 2,500 个 Unicode 字符。 |
| duration | 必填 | 必填数值 5 或 10 秒;不接受字符串、布尔值或小数时长。API 无默认值,体验表单初始选择 5 秒。 |
| aspect_ratio | 可选 | 可选 1:1、16:9、9:16,无默认值。Standard 首帧图生不支持,仅 Elements 支持。 |
| negative_prompt | 可选 | 可选字符串,最多 2,500 个 Unicode 字符。 |
| cfg_scale | 可选 | 可选有限数值 0–1,无默认值;Elements 工作流不支持。 |
| start_image_url | 按工作流必填 | 首帧工作流必填 HTTP(S) 图片 URL;与 image_urls 互斥。 |
| image_urls | 按工作流必填 | Elements 工作流必填 1–4 个 HTTP(S) 参考图 URL;与首帧、尾帧及 cfg_scale 互斥。 |
使用方法
选择工作流并准备素材决定使用单图首帧驱动(start_image_url)或 1–4 张多图参考的 Elements 资产延续模式(image_urls)。
编写运动提示词重点描述画面主体的动作变化、交互行为以及摄影机推拉平移轨迹,辅以 negative_prompt 排除噪点。
设置生成时长根据镜头叙事需要选择 5 秒基础动态或 10 秒完整情节展开,分辨率固定为 720p。
配置画幅或引导参数使用 Elements 模式时可自由指定 16:9、9:16 或 1:1 画幅;使用首帧模式时画面比例将自动继承原图。
提交任务并轮询状态向接口提交异步请求并获取 task_id,持续轮询直到状态转为 finished 并获取视频下载链接。
价格
9 credits / 秒 · $0.045 / 秒。1 credit = $0.005。Fal 对比价 $0.056 / 秒,节省 20%。
| 计费项 | 费率 | 说明 |
|---|---|---|
| 5 秒 | 45 credits · $0.225 | 9 credits × 5 秒 |
| 10 秒 | 90 credits · $0.450 | 9 credits × 10 秒 |
适用场景
静态人像与写真动效使平面摄影、写真艺术照以及虚拟数字人肖像生动起来,呈现自然的眼神流转与微表情。
电商商品 3D 展示样片将产品白底图或场景展示图转化为环绕运镜展示视频,全方位展示商品质感与工艺细节。
插画手绘与动漫概念活化让平面插画、二次元角色立绘以及漫画分镜以流畅的动画形式呈现,保持原作美术风格。
影视故事板分镜测试基于美术团队绘制的分镜关键帧快速生成动态预演样片,高效验证镜头运动与转场节奏。
创作技巧
- 首帧模式聚焦动作描写:原图已提供环境与主体外貌,提示词应重点描写“主体开始走动、抬头微笑”等动态增量。
- Elements 模式多角度构建:传入同一人物或商品的正面、侧面及特写参考图,能够显著提升全片特征稳定性。
- 上传主体清晰高质图源:建议使用主体突出、光线均匀的图片,去除不必要的复杂噪点,以获得更佳动态表现。
- 画幅适配规则:使用 start_image_url 时不传 aspect_ratio,模型会自动继承首帧长宽比;Elements 模式支持明确指定画幅。
- 根据动态幅度调节 cfg_scale:首帧模式下设置 0.4–0.6 能获得自然的物理运动,追求强烈动作张力可适度提高。
注意事项
- 两种图像工作流互斥规则:必须提供 start_image_url 或 image_urls(1–4 张)二者之一;两类字段不可同时传入。
- 画幅与首尾帧支持边界:Standard 首帧模式不支持自定义 aspect_ratio(自动继承原图比例),且不支持 end_image_url(尾帧需选用 Pro)。
- 异步生成与点数扣退机制:任务以 task_id 异步查询;积分在任务开始时扣除,若生成遇到异常将全额返还。
Kling 1.6 Standard Image to Video API 常见问题
Kling 1.6 Standard Image to Video API 是什么?
Kling 1.6 Standard Image to Video 是快手(Kwaivgi)研发的图像生成视频模型。它能够根据用户输入的静态参考图像与提示词生成 720p 分辨率的连续动态视频,支持单图首帧驱动与 1–4 张图片的多图 Elements 一致性工作流。基于先进的多模态扩散架构,它在赋予画面真实自然物理动作与运镜的同时,高度保留原始图像的主体身份、构图美感与色彩风格。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
Kling 1.6 Standard Image to Video 支持哪些图片输入方式?
该端点提供两种输入模式:一是单图首帧模式,通过 start_image_url 传入首帧图片并赋予动态;二是 Elements 多图参考模式,通过 image_urls 数组传入 1 到 4 张参考图片以保持主体在视频中的外观一致性。两类图像字段互斥,不可在单次请求中同时混用。
Kling 1.6 Standard Image to Video 支持指定画面宽高比吗?
使用 start_image_url 首帧动画模式时,输出视频会自动继承首帧图片的宽高比,不支持显式设置 aspect_ratio;若切换为 image_urls Elements 多图参考模式,则支持自由指定 16:9、9:16 或 1:1 画幅。
Kling 1.6 Standard Image to Video 支持尾帧控制吗?
不支持。Standard 系列端点仅支持通过 start_image_url 指定起始首帧;如需同时指定起始首帧与结束尾帧进行闭环过渡,请选用 Kling 1.6 Pro Image to Video 端点。
Kling 1.6 Standard Image to Video 的 Elements 工作流有什么优势?
Elements 工作流允许上传 1 到 4 张多角度参考图(例如正面、侧面和特写)。模型通过综合多张图片的特征表征,在较长动作或运镜转移中能够大幅减少主体变形走样,维持角色与道具的高度一致。
Kling 1.6 Standard Image to Video 如何计费?
端点按秒计费,费率为 9 积分/秒(相当于 $0.045/秒)。单图首帧与多图 Elements 模式收费相同:5 秒视频消耗 45 积分($0.225),10 秒视频消耗 90 积分($0.450),任务生成失败自动退还积分。
上传的参考图片有什么格式与大小要求?
体验区上传支持 JPG、PNG 和 WebP 格式,单个图片文件大小不得超过 10 MiB;在 API 调用中须传入公网可访问、带合法协议主机的 HTTP(S) 图片直链。