把 Kling 2.6 请求中的模型名称替换成 3.0,并不等于完成了安全升级。Kling 3.0 已正式推出,但 V3、Turbo、Omni 和 Motion Control 分别对应不同能力与请求结构。更稳妥的迁移方式是:先确定要调用的路由,再逐项接入音频、多镜头和参考控制能力。
先选对路由,再开始写代码
Kling 官方 VIDEO 3.0 指南将 3.0 定位为 VIDEO 2.6 和 VIDEO O1 的后继版本:VIDEO 2.6 升级为 VIDEO 3.0,VIDEO O1 则升级为 VIDEO 3.0 Omni。开发者 API 按具体模型提供独立操作,因此“Kling 3.0 API”更像是一组接入能力,而不是一套通用请求体。
| 你的需求 | 优先选择 | 原因 | 主要注意事项 |
|---|---|---|---|
| 以提示词驱动的电影感视频 | Kling 3.0 / V3 | 它是 2.6 的直接后继,支持多镜头指令和 3–15 秒输出 | 不要直接照搬托管服务商字段,先确认当前端点的实际 schema |
| 更高效的文生视频吞吐 | Kling 3.0 Turbo | Kling 将 Turbo 定位为更快的 3.0 版本;现有 API 资料记录了 720p 和 1080p | 不要默认 Turbo 具备标准 3.0 的全部音频或 4K 能力 |
| 依靠视频或元素参考保持一致性 | Kling 3.0 Omni | Omni 系列是 O1 的指定后继,面向更丰富的多模态控制 | V3 和 Omni 的模型 ID 不能互换 |
| 用参考动作驱动主体 | Kling Motion Control | 这是专门的动作控制能力 | 应将其视为独立操作,而不是在任意文生视频请求中加入通用 motion_control: true 开关 |
集成时最常见的错误,是把某家服务商为了易用性设计的请求格式,当成 Kling 直连 API 的格式。Krea 的托管请求可以作为可运行示例,但并不能证明相同的 URL 或字段同样适用于 Kling 官方开发者文档。
如需了解各类路由的整体情况,可参考这份 Kling API 集成指南。本文重点讨论 Kling 3.0 的迁移方式和端点行为。
从 Kling 2.6 升级到 3.0,实际变了什么
从 Kling 第一方模型指南来看,3.0 的核心升级不只是提高分辨率,更在于控制力、画面连续性和视听指令能力。下表基于 Kling 对该模型系列所列出的能力整理。
| 能力 | Kling VIDEO 2.6 | Kling VIDEO 3.0 |
|---|---|---|
| 文生视频 | 支持 | 支持 |
| 图生视频 | 支持 | 支持 |
| 首帧和尾帧 | 支持 | 支持 |
| 多镜头生成 | 不支持 | 支持 |
| 首帧加元素参考 | 不支持 | 支持 |
| 三名及以上角色的多角色指代一致性 | 不支持 | 支持 |
| 中文、英文、日文、韩文和西班牙文对白 | 不支持 | 支持 |
| 方言与口音 | 不支持 | 支持 |
| 灵活的 3–15 秒输出 | 不支持 | 支持 |
落到实际集成上,原本围绕单条短提示词构建的 2.6 工作流,在 3.0 中可以升级为具有明确镜头安排的连续片段。Kling 的指南还宣称,在镜头运动过程中,3.0 对角色、物体和场景细节的保留更好;但官方并未公布独立的一致性基准测试。因此,应将这一说法与应用自身能够实际验证的效果区分开来。
用 Krea 托管端点搭建最小异步集成
视频生成是异步任务。应用应先提交任务、保存任务标识符,再通过轮询或回调获取状态,最后持久化完成结果。不要在模型渲染期间一直占用原始 HTTP 请求连接。
下面的示例使用 Krea 公开文档中的 Kling 3.0 端点,因为其请求和任务字段已在发布的 Kling 3.0 API 指南中明确展示。只有在核对了计划使用的 Kling 官方 schema 后,才应替换服务商特定的 URL 与字段名称。
提交生成任务
import os
import time
import requests
API_KEY = os.environ["KREA_API_KEY"]
BASE_URL = "https://api.krea.ai"
payload = {
"prompt": (
"A paper boat crosses a rain-filled city gutter at night, "
"macro camera, practical street lights, realistic water movement"
),
"duration": 5,
"mode": "std",
"aspect_ratio": "16:9",
}
response = requests.post(
f"{BASE_URL}/generate/video/kling/kling-3.0",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json=payload,
timeout=30,
)
response.raise_for_status()
job = response.json()
job_id = job["job_id"]
print(f"submitted {job_id}")
Krea 文档中的响应会返回 job_id,以及类似 scheduled 的初始状态。服务商示例通过独立的任务查询端点检查状态。开始轮询前,应将任务 ID 与自身的订单 ID 一并写入数据库。
设置超时轮询,并保存输出结果
TERMINAL = {"completed", "failed", "cancelled"}
for attempt in range(60):
status_response = requests.get(
f"{BASE_URL}/jobs/{job_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=30,
)
status_response.raise_for_status()
job = status_response.json()
status = job.get("status")
if status in TERMINAL:
break
time.sleep(5)
else:
raise TimeoutError(f"Kling job did not finish: {job_id}")
if job["status"] != "completed":
raise RuntimeError(f"Kling job ended as {job['status']}: {job_id}")
video_url = job["result"]["urls"][0]
print(video_url)
Krea 的示例耗时分别为 51 秒和 2 分 3 秒,因此超时策略应考虑队列情况,而不是向用户承诺固定的 Kling 生成时长。
在生产环境中,Webhook 可以减少重复轮询。收到回调后,应确认任务 ID 对应的是系统创建的任务,确保处理逻辑具备幂等性,也不要仅凭未签名回调就认定其身份可信。
逐项接入 3.0 控制能力
Kling 直连 API 与托管服务商的参数命名可能不同。建议建立一个小型兼容层,不要让服务商专用 JSON 结构扩散到整个应用中。
| 目标 | 常见的 3.0 控制项 | 需要确认的内容 |
|---|---|---|
| 提示词指令 | prompt | 最大长度,以及是否支持镜头语法 |
| 视频时长 | duration | Kling 系列指南标注为 3–15 秒;仍需以实际路由为准 |
| 画幅比例 | aspect_ratio | 常见值包括 16:9 和 9:16;部分资料还列出 1:1 |
| 质量/输出档位 | mode 或 resolution | Krea 使用 std、pro 和 4k 映射输出档位;Kling 直连可能采用不同 schema |
| 声音 | generate_audio 或路由专用音频字段 | 音频是否可选、是否包含在套餐内,或是否单独计费 |
| 镜头编排 | multi_prompt 或镜头语法 | 服务商接受数组、提示词语法,还是 multi_shot 标记 |
| 动作参考 | 独立的 Motion Control 操作 | 输入媒体、模型 ID 和输出 schema;不要臆测存在通用布尔字段 |
官方指南提到原生音频、元素参考、多镜头叙事和五种指定对白语言。但你实际选择的 API 端点,可能只开放这一模型系列能力中的一部分。
自定义多镜头请求体
Krea 的公开 schema 使用带时长的 multi_prompt 镜头段落。对于托管集成而言,这是一个很实用的模式:
{
"multi_prompt": [
{
"prompt": "Wide shot: a lighthouse stands on a calm rocky coast at dusk.",
"duration": 4
},
{
"prompt": "Storm clouds arrive; waves rise and spray crosses the rocks.",
"duration": 4
},
{
"prompt": "Night rain begins as the lighthouse beam sweeps toward camera.",
"duration": 4
}
],
"duration": 12,
"generate_audio": true,
"mode": "std",
"aspect_ratio": "16:9"
}
应校验顶层时长是否等于各镜头段落时长之和。Krea 针对三段、共 12 秒的测试报告了 12.04 秒的结果,所以不要假设最终文件时长能够精确到毫秒地与设定值完全一致。
Krea 对每个镜头段落的限制是 512 个字符,完整的定向序列最多为 15 秒。每一段都应写成镜头指令:主体、变化和镜头,而不是冗长的场景散文。如果你的 Kling 直连路由采用官方镜头语法,仍可沿用同一套时间线模型,只需在适配器边界转换请求体。
音频与语言限制
官方指南列出的对白支持语言为中文、英文、日文、韩文和西班牙文,并描述了方言、口音、角色专属对白和混合语言场景。指南称,不受支持的对白输入会被翻译为英文,因此多语言应用不能假定每种源语言都能原样保留。
音频也是成本选择。Krea 公布的价格中,std 无音频为每秒 $0.1764,带音频为每秒 $0.2646;pro 无音频为每秒 $0.2352,带音频为每秒 $0.3528。其列出的 4K 价格为每秒 $0.441,无论是否带音频。这些是 Krea 的定价,并非通用 Kling API 费率。
较合理的迭代方式是先渲染无声草稿,确定最终的 std 或 pro 候选版本后,再开启音频。
生产环境的边界:成本、速度与故障处理
Kling 官方消费者指南列出的 VIDEO 3.0 价格为:720p 无原生音频每秒 6 积分,1080p 无原生音频每秒 8 积分,720p 带音频每秒 9 积分,1080p 带音频每秒 12 积分。Voice Control 额外增加每秒 2 积分。这些数字可用于理解该指南中的相对成本,但在未查看最新开发者定价页之前,不应将其换算成开发者 API 的美元价格。
实际选择并不只是“哪个模型最便宜”,还涉及计费和运维方式:
| 工作负载 | 合理的首选路由 | 原因 |
|---|---|---|
| 短期集成测试 | 按量付费的托管路由 | 在请求 schema 仍可能变化时,避免做出大额预付承诺 |
| 可预测的 Kling 单一用量 | 官方开发者平台 | 直连接入和官方条款的重要性可能高于便利性 |
| 同时使用多个视频模型供应商 | 聚合服务或统一网关 | 统一的认证与计费层可以降低集成工作量 |
| 以动作驱动的角色动画 | Motion Control 路由 | 它的输入和控制问题不同于普通文生视频 |
可按以下类别处理失败情况:
- 针对临时性服务商错误,使用设定上限的指数退避重试。
- 参数无效时不要立即重试,应先让适配器修正请求体。
- 保留客户端幂等键或订单 ID,避免网络超时后悄然创建重复任务。
- 为批量生成设置明确的美元或积分上限。
- 在服务商的临时 URL 过期前,下载结果或复制到持久化存储。
- 日志中应同时记录模型变体、时长、音频设置、分辨率档位和服务商;仅记录“Kling 3.0”不足以完成成本核算。
Kling 2.6 升级 3.0 检查清单
- 盘点现有 2.6 调用。记录模型 ID、图片输入、首尾帧、时长、音频和回调行为。
- 选择 3.0 系列路由。提示词驱动的电影感生成使用 V3,需要更快路由时使用 Turbo,采用 O1 风格多模态路径时使用 Omni,基于动作参考的任务则使用 Motion Control。
- 建立服务商适配器。将 Kling 直连、Krea 及其他托管服务商的 schema 分别封装在独立转换层后。
- 先迁移最小请求。在加入音频或多镜头控制前,先测试一个 5 秒、无声、16:9 的生成请求。
- 每次只增加一项控制。依次验证时长、音频、镜头指令和参考素材。这样更容易定位出问题的字段。
- 测试终态分支。覆盖成功、失败、取消、超时、重复回调以及输出 URL 过期等情况。
- 进行带成本核算的影子发布。在相同的时长和输出档位下,用固定提示词集对比 2.6 与 3.0,再判断质量或控制力提升是否足以支持切换新路由。
当应用可以在不改动业务逻辑、计费控制和结果处理流程的前提下回退模型 ID 时,迁移才算真正完成。
Kling 3.0 API 常见问题
Kling 3.0 有官方 API 吗?
有。Kling 官方开发者文档提供了 3.0 各模型对应的 API 页面,Kling 第一方指南也将 VIDEO 3.0 定位为 VIDEO 2.6 的后继版本。由于部分页面采用客户端渲染,具体端点 schema 应以实时开发者控制台为准。
Motion Control 是 Kling 3.0 的一个参数吗?
不要这样假定。Motion Control 是 Kling 生态中的专用能力,并有独立模型页面。应使用所选服务商文档中规定的操作方式和输入 schema,而不是在标准文生视频请求中添加未经验证的 motion_control 字段。
Kling VIDEO 3.0 最长可以生成多久?
Kling 官方模型指南称,VIDEO 3.0 支持 3 到 15 秒的灵活输出。特定托管路由或 Turbo 路由可能施加更严格的限制,因此仍需验证所选端点。
Kling 3.0 支持原生音频吗?
官方 VIDEO 3.0 指南称支持,并介绍了角色专属对白、多种语言、方言和口音。音频是否可选以及如何计费,则取决于具体端点或服务商的 schema。
Kling 3.0 Omni 与标准 Kling 3.0 相同吗?
不同。Kling 将 VIDEO 3.0 定位为 2.6 的后继,将 VIDEO 3.0 Omni 定位为 O1 的后继。不同服务商可能以不同模型 ID 提供它们,并配置不同的参考或语音控制能力。
Kling 网页订阅能用于支付 API 调用吗?
在账户实时文档明确说明之前,应将消费者订阅与开发者 API 计费视为两套独立体系。API 路由通常需要单独的开发者账户、密钥和计费设置。
实用的迁移边界其实很简单:保留 2.6 集成原有的任务生命周期,替换模型专用适配器,并针对实际提供服务的路由验证每一项新增 3.0 控制能力。这样能避开最昂贵的一类问题——请求虽然提交成功,却在不知情的情况下使用了错误的模型变体、音频模式或计费档位。