Video
Kling 3.0
用 Kling 3.0 从文本或首尾帧生成 3–15 秒视频,可选原生音频、多镜头提示词和可复用的主体,以任务形式交付。
Kling 3.0(可灵 3.0)是快手的视频生成模型。一次请求就能从提示词,或从首帧加可选的尾帧,生成一段 3–15 秒的视频,有三种质量模式(std、pro、4K),需要时还能生成原生音频。一段视频也可以由最多五个镜头组成,每个镜头有自己的提示词和时长。发送请求,保存返回的任务 ID,再从该任务读取生成完成的视频。图片以 URL 形式传入。
模型 ID
| 模型 ID | 输入 | 模式 | 时长 |
|---|---|---|---|
kling-3-0 | 文本、首帧与尾帧、主体 | std、pro、4K | 3–15 秒 |
当前价格请查看模型页面。
快速示例
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, soft mist on the water, slow push-in, no text, no logos.",
"mode": "pro",
"duration": 5,
"aspect_ratio": "16:9"
}'端点
POST https://api.seedrouter.ai/v1/videos/generations| 请求头 | 值 |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
响应是一个任务({"id": "task_...", "status": "processing"}),而不是生成完成的视频。请轮询 GET /v1/tasks/{task_id} 获取结果。请把 API 密钥保存在服务端代码中。
参数
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | string | 必填 | kling-3-0 |
prompt | string | 单镜头时必填 | 最多 2,500 个字符。多镜头模式下可选。 |
image_urls | URL 数组 | 无 | 最多 2 张图片:第一张是首帧,第二张是尾帧。不传图片时为文生视频。 |
mode | enum | pro | std、pro 或 4K(K 大写)。 |
duration | integer | 5 | 3–15 秒。 |
aspect_ratio | enum | 16:9 | 16:9、9:16 或 1:1。 |
sound | boolean | false | 随视频一起生成原生音频。 |
multi_shots | boolean | false | 用 multi_prompt 里的镜头组成这段视频。 |
multi_prompt | array | 无 | 最多 5 个镜头,每个为 {"prompt", "duration"}:提示词最多 500 个字符,时长为 1 到 12 之间的整数秒。multi_shots 为 true 时必填。 |
kling_elements | array | 无 | 最多 3 个主体,每个为 {"name", "description", "element_input_urls"},带 2–4 个图片 URL。 |
请求结构是严格校验的:未知字段会被拒绝,而不是被忽略。不支持 callback_url;请改为轮询任务。
多镜头视频
把 multi_shots 设为 true,并在 multi_prompt 中描述每个镜头。各镜头时长相加必须在 3–15 秒之间;这个总和就是视频时长,此时不使用 duration。prompt 可以不传,也可以用来写所有镜头共有的内容。
{
"model": "kling-3-0",
"mode": "pro",
"multi_shots": true,
"multi_prompt": [
{"prompt": "A red paper boat on a calm pond at sunrise, wide shot", "duration": 3},
{"prompt": "The boat drifts under a small wooden bridge, low angle", "duration": 3}
]
}主体
主体是模型在整段视频中保持一致的对象:一个人、一件产品或一个角色。给它一个 name、一句简短的 description 和 2–4 张它的图片,然后在提示词中按名字提到它(例如 @hero)。
{
"model": "kling-3-0",
"prompt": "@hero slowly turns toward the camera in soft window light",
"kling_elements": [
{
"name": "hero",
"description": "a young woman with short black hair and a yellow raincoat",
"element_input_urls": ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
}
]
}媒体输入
每张图片都是一个公开的 HTTP(S) URL。不接受 Base64 data URI:请把文件上传到你自己的存储,再传入它的 URL。请使用不超过 10 MB 的 JPG 或 PNG 图片。
计费维度
当前费率请查看模型定价部分。Kling 3.0 按视频秒数计费,费率由模式以及是否开启 sound 决定:
billed seconds = duration (single shot)
billed seconds = Σ multi_prompt[].duration (multi_shots: true)
cost = billed seconds × rate per second计费秒数在请求被受理时就已确定,因此预扣金额就是实际扣费金额。最终扣费请在账户的用量记录中查看。失败的任务不计费。
输出结构
提交后返回任务:
{"id": "task_...", "model": "kling-3-0", "status": "processing", "created_at": 1789689600}查询任务
GET https://api.seedrouter.ai/v1/tasks/{task_id}每 10–20 秒轮询一次,直到 status 变为 completed 或 failed。轮询过程中出现网络超时,并不意味着生成失败:请保留任务 ID 并继续查询。不要为了查看进度而再创建一个任务。
完成的任务
{
"id": "task_...",
"model": "kling-3-0",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689710,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
}
}在我们的测试中,一段 3 秒的 std 视频返回为 MP4(H.264),分辨率 1280 × 720;一段 5 秒、开启 sound 的 pro 视频分辨率为 1920 × 1080,带音轨。每段大约耗时两到三分钟。
错误
在任务创建之前被拒绝的请求,会返回 HTTP 错误状态码和一个 error 对象,且不计费。受理之后才失败的任务,在查询时返回 HTTP 200,并带有 status: "failed" 和一个 error 对象。
错误码、HTTP 状态码和重试建议请参见公共错误目录。
{
"id": "task_...",
"model": "kling-3-0",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}如果提交本身超时,请先检查你的任务列表再重新提交:第一次请求有可能已经被受理。
实用建议
- 主体、地点、运镜和光线各用一句话描述;Kling 能理解“slow push-in”(缓慢推近)、“low angle”(低角度)这样的镜头语言。
- 先用
std出草稿,再用同一个请求以pro或4K渲染最终镜头。 - 用首帧和尾帧控制镜头从哪里开始、在哪里结束。
- 用
multi_prompt把一个场景拆成多个镜头,而不是在一条提示词里描述好几次剪辑。 - 加上
no text, no logos,避免出现凭空编造的标记。
