使用指南
使用 Kling 3.0 图生视频通过 HiAPI API 制作短视频
短视频是每个内容流水线最终都必须支持的格式,而可靠地批量生产它们最便宜的方式就是图生视频:拿一张你已经掌控的静帧——一张产品图、一个角色设计、一张生成的关键帧——让视频模型把它动起来。HiAPI 上的 Kling 3.0 的图生视频端点在这方面表现出色,而且有大多数 i2v 模型会跳过的功能:你可以同时提供首帧和尾帧,这样模型就会在两种状态之间做动画,而不只是从单帧外推运动。
本教程构建一个完整、可脚本化的工作流:生成首帧,将其提交到 Kling 3.0 的异步任务 API,轮询直到完成,并下载一段带原生同步音频的成品片段——全部通过可以直接放进批处理任务的普通 HTTP 调用完成。
为什么选图生视频而不是文生视频
文生视频每次都给你一个惊喜。图生视频给你一个你已经认可的起点——当那一帧是产品照片、品牌角色,或任何在动起来之前需要看起来特定的东西时,这很重要。Kling 3.0 的图生视频模型通过首帧+尾帧控制进一步推进了这一点:传入一张参考图,模型只把它当作起点;传入两张,第二张就成为目标结束状态,模型在两者之间插值运动。这实际上就是通过一次 API 调用实现的可编程关键帧动画,无需任何时间线编辑器。
请求结构
Kling 3.0 图生视频运行在 HiAPI 统一的异步任务端点上——POST /v1/tasks,然后轮询 GET /v1/tasks/{id} 直到它完成。该模型的输入 schema 刻意保持精简:
{
"model": "kling-3.0/image-to-video",
"input": {
"prompt": "a lantern slowly lighting up as the camera pushes in, warm cinematic glow",
"image_urls": ["https://static.hiapi.ai/blog/kling-3-0-image-to-video-short-form-workflow/first-frame-v2.jpg"],
"duration": 3,
"resolution": "720p",
"sound": true
}
}
在你围绕这个构建之前,有几件事值得了解:
image_urls接受 1 或 2 个条目。一张图意味着“从这一帧开始做动画”。两张图意味着“从第一张向第二张做动画”——这就是上面提到的首帧+尾帧控制。没有单独的tail_image_url字段;一切都通过数组位置来表达。duration是 3 到 15 秒的整数。短视频平台大多希望片段在 3–8 秒范围内,所以对于单个场景,你通常想要这个范围的较低端。resolution最高可到 4K,高于kling-3.0-turbo兄弟模型(上限 1080p)。代价是成本——见下方定价——所以 720p 或 1080p 覆盖了大多数短视频用例,而无需为没人会在手机屏幕上注意到的分辨率付费。sound是布尔值,而且它是真正的同步音频生成,不是事后配上音乐的无声片段。当你的场景中的运动合理会产生声音时(关门、风声、脚步声)打开它,结果会比无声渲染明显更可信。- 没有
aspect_ratio字段——输出画面与你输入图像已有的宽高比一致。
端到端脚本
这是 Python 中的完整流程:创建任务,轮询直到完成,下载结果。
import requests
import time
API_KEY = "YOUR_HIAPI_KEY"
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
def submit_i2v(image_url, prompt, duration=3, resolution="720p", sound=True):
payload = {
"model": "kling-3.0/image-to-video",
"input": {
"prompt": prompt,
"image_urls": [image_url],
"duration": duration,
"resolution": resolution,
"sound": sound,
},
}
resp = requests.post(BASE, headers=HEADERS, json=payload, timeout=60)
resp.raise_for_status()
return resp.json()["data"]["taskId"]
def wait_for_result(task_id, poll_interval=5, timeout_s=600):
deadline = time.time() + timeout_s
while time.time() < deadline:
resp = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30)
resp.raise_for_status()
task = resp.json()["data"]
if task["status"] == "success":
return task["output"][0]["url"]
if task["status"] == "fail":
raise RuntimeError(task.get("error"))
time.sleep(poll_interval)
raise TimeoutError(f"task {task_id} did not finish in {timeout_s}s")
task_id = submit_i2v(
image_url="https://static.hiapi.ai/blog/kling-3-0-image-to-video-short-form-workflow/first-frame-v2.jpg",
prompt="a lantern slowly lighting up as the camera pushes in, warm cinematic glow",
)
video_url = wait_for_result(task_id)
print(video_url) # temporary signed URL — download immediately, don't store it as a permanent link
当你把它接入真实流水线时,有一个细节容易让人栽跟头:你拿回的 output[0].url 是一个临时的、会过期的链接。立即下载字节并将其移动到自己的存储中,而不是把任务的输出 URL 长期保存到任何地方。
这是本示例中使用的首帧,以及 Kling 3.0 在 sound: true 下由它生成的片段:

像上面这样一段 3 秒、720p、带音频的片段花费略高于 $0.40——便宜到足以在定下想要交付的版本之前对提示词迭代几次。
定价:分辨率和音频都会影响成本
Kling 3.0 图生视频按输出时长每秒计费,分辨率和音频开关都会影响费率:
| 分辨率 | 无音频 | 有音频 |
|---|---|---|
| 720p | $0.10/s | $0.143/s |
| 1080p | $0.129/s | $0.193/s |
| 4K | $0.479/s | — |
计算示例:一段 3 秒、720p、带声音的片段约 $0.43。一段 5 秒、1080p、无音频的片段是 $0.645;同样的片段带音频是 $0.965。对于大多数成品片段落在 3–8 秒范围内的短视频内容,720p 或 1080p 几乎总是正确选择——4K 定价只有在你需要合成到下游真正会受益于额外分辨率的东西中时才说得通。在大规模运行任何东西之前,请查看当前定价,因为每秒费率这类细节值得对照实时页面确认,而不是凭记忆缓存。
将其批处理成真实工作流
对于任何规模的短视频内容,你都不想提交一个任务然后一直盯着它——你想一次性发出一批任务,并在结果到达时收集它们。由于每个任务都是独立的,并由自己的 taskId 标识,模式很简单:先提交所有图生视频请求,存储返回的任务 ID,然后循环轮询它们,只在每个任务变为 success 或 fail 时才采取行动。这样你的流水线就能以平台的实际吞吐量运行,而不是在单个最慢的生成上串行化。
一些值得从一开始就养成的习惯:
- 提交前验证源图像可访问。任务 API 会欣然接受一个 URL,然后如果图像无法获取,稍后任务会失败——先用 HEAD 请求检查可以避免一次浪费的生成。
- 把
fail状态视为正常结果,而不是异常。模型输出偶尔会拒绝某个特定的提示词/图像组合;记录失败并继续下一项,而不是中止整个批次。 - 尽可能在不同变体之间复用片段。如果你在同一段生成的动画上测试多个字幕或配乐,没有必要重新生成视频本身——那纯粹是下游编辑步骤。
如果你是第一次设置 API 密钥和认证,HiAPI 的快速入门指南涵盖了获取密钥并发出第一个带认证的调用的基础知识,之后你就可以在其上构建完整的批处理流水线。
总结
Kling 3.0 的图生视频模型通过一次 HTTP 调用,将单个静帧——如果你想要首帧+尾帧控制,则是两帧——变成一段同步音频的短视频片段,定价按持续时间、分辨率以及是否需要声音可预测地扩展。对于短视频流水线,这种控制力、720p/1080p 下较低的每片段成本,以及直截了当的异步任务 API 的组合,让你可以轻松从“一张静图”变成“一批成品片段”,而无需碰视频编辑器。