One uninterrupted five-second underwater wildlife shot. A single manta ray glides slowly from left to right past the open ribbed hull of an old submerged wooden ship. Two broad pectoral fins make one smooth gentle downward stroke; the same diamond-shaped body and thin tail stay intact. Soft shafts of sunlight enter through gaps in the wreck and travel across its back, while a few suspended particles drift. Slow parallel camera tracking, enough distance to see the full animal, realistic clear turquoise water, calm graceful movement. No diver, no extra rays, no sudden acceleration, no cuts or text.
Kling 1.6 Pro Text to Video API
kwaivgi/kling-video/v1.6/pro/text-to-videoKling 1.6 Pro Text to Video 将文字提示词转化为原生 1080p 电影级超高清视频,支持多画幅与 5 秒、10 秒时长控制。它深度模拟真实的物理动力学和光影质感,精准执行复杂的运镜调度与大幅肢体动作,在长镜头中保持画质与构图的高稳定性。
示例
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/pro/text-to-video",
"input": {
"prompt": "A quiet forest in morning light, with a slow camera pan.",
"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,失败时读取 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/pro/text-to-video",
"input": {
"prompt": "A quiet forest in morning light, with a slow camera pan.",
"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请求参数(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,无默认值。 |
| negative_prompt | string | 可选 | — | 可选字符串,最多 2,500 个 Unicode 字符。 |
| cfg_scale | number | 可选 | — | 可选有限数值 0–1,无默认值;Elements 工作流不支持。 |
响应字段(查询结果)
通过 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/pro/text-to-video | 请求根级 model 字段。 |
| 时长 | 5 / 10s | 必填数值 5 或 10 秒;不接受字符串、布尔值或小数时长。API 无默认值,体验表单初始选择 5 秒。 |
Kling 1.6 Pro Text to Video API 常见问题
Kling 1.6 Pro Text to Video API 是什么?
Kling 1.6 Pro Text to Video 是快手(Kwaivgi)研发的旗舰级文本生成视频模型。它能直接将文字提示词转化为原生 1080p 电影级超高清画质视频,支持 16:9、9:16 与 1:1 多种构图画幅以及 5 秒或 10 秒时长控制。依托深厚的多模态物理动力学引擎与大模型语义理解底座,它在大幅度动作交互与复杂影视运镜中能够保持画面构图与光影的一致稳定。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
Kling 1.6 Pro Text to Video 与 Standard 版本有什么区别?
核心区别在于分辨率与细节质感:Standard 输出 720p 分辨率(9 积分/秒),适合快速验证与通用内容创作;Pro 原生输出 1080p 电影级全高清画面(15 积分/秒),在复杂物理动力学、大幅度动态运镜以及长文本提示词语义理解上表现更加出色。
Kling 1.6 Pro Text to Video 支持哪些画面宽高比?
该端点原生支持三种主流画幅:16:9(电影宽屏与横屏展示)、9:16(竖屏短视频制作)以及 1:1(方形展示)。你可以通过 aspect_ratio 参数自由指定,无默认值。
Kling 1.6 Pro Text to Video 提示词长度有什么限制?
正面提示词 prompt 与负面提示词 negative_prompt 各自最大支持 2,500 个 Unicode 字符,支持详尽的中英文影视分镜描述与负向质量过滤。
如何调节 Kling 1.6 Pro Text to Video 的 cfg_scale 参数?
cfg_scale 是可选参数,取值范围为 0 到 1。数值越高,生成的视频对提示词描述的依从度越高;数值越低,模型的视觉想象与运动自由度越大。推荐设置为 0.5 左右以获得最佳视觉平衡。
Kling 1.6 Pro Text to Video 的计费标准是怎样的?
该端点按秒计费,费率为 15 积分/秒(相当于 $0.075/秒)。生成 5 秒视频需消耗 75 积分($0.375),生成 10 秒视频需消耗 150 积分($0.750)。若任务异常失败,扣除的积分将全额自动返还。
Kling 1.6 Pro Text to Video 支持直接传入图片吗?
不支持。本端点为纯文本驱动的文生视频接口,不接收任何图像输入。如果需要使用图片作为首帧、尾帧或多图参考生成视频,请使用 Kling 1.6 Pro Image to Video 端点。