使用指南
通过 HiAPI API 使用 Kling 4.0 文本转视频:短视频工作流
从提示词到发布片段:请求模式、同步音频与长时长输出
为什么短视频选择 kling-4.0/text-to-video
短视频制作有其特定形态。你需要竖屏构图、第一秒的钩子、短时长内保持注意力的节奏,以及和画面同时落地而非滞后漂移的音频。大多数文本转视频模型是为电影式横屏场景构建和调优的,结果你总是在和模型默认的构图感与时间感较劲。
HiAPI API 上的 kling-4.0/text-to-video 面向的是片段优先的工作流,而非电影优先的工作流。这一区别比任何单一特性都重要。在实践中,它对你的流水线意味着三件事:
- 一个片段,而非蒙太奇。 你可以在一次调用中生成连贯的长时长输出,而不必把几段短的无声生成拼接起来,再祈祷转场能撑住。
- 音频与片段一同生成。 同步音频是输出的一部分,而不是你需要手动对齐的后期层。
- 为运动和节拍调优的提示词界面。 短视频提示词描述动作、镜头行为和节奏——而不是堆叠形容词的静态场景描述。
流水线保持简单:输入提示词,返回带画面和音轨的片段,片段进入你的后期和发布步骤。提示词和发布决策之间的一切才是工程工作所在,这也是本指南其余部分要讲的内容。
如果你已经在运行其他生成步骤——图像、语音或其他——这里的价值在于,文本转视频阶段与你技术栈的其余部分使用同一套 API 方言,因此提示词处理、重试和资产存储可以共用同一套脚手架。
HiAPI 文本转视频请求的结构
一次 kling-4.0/text-to-video 调用有三个结构部分:模型标识符、提示词和输出设置。即使它们在同一次负载中传输,也要在代码中分开处理,因为三者各自的失败方式不同,也各自是你在迭代中调优的对象。
模型标识符
模型字符串 kling-4.0/text-to-video 负责路由你的请求。请把它当作代码库中的常量,而不是散落在各调用点的字符串——你以后会想在不翻遍流水线的情况下替换它或做 A/B 测试。
提示词
提示词是主要的控制面。它需要以模型能执行的形式承载主体、动作、镜头行为、节奏和音频意图。模糊的提示词产生模糊的运动;塞得过满的提示词产生不一致的运动。下一节介绍这些模式。
输出设置
输出设置决定片段时长和音频行为。这些旋钮决定你拿回的是能直接放进时间线的东西,还是需要重新请求的东西。时长和音频意图应该在写提示词之前决定,因为提示词必须针对那个时长和那套音频计划来写。
返回什么
你会从请求中拿回一个生成的片段。像处理任何异步生成调用一样规划响应处理:持久化结果,记录产生它的确切提示词和设置,并把请求参数与资产放在一起。正是这条记录让迭代成为可能,而不是靠猜测。
一个有用的心智模型:负载是你所要求的内容与你之后能衡量的内容之间的契约。如果你无法根据存储的参数重建一次生成,你的迭代循环就是坏的。
能在短视频节奏下存活的提示词到片段模式
短视频提示词以可预测的方式失败:它们描述的是场景,而应该描述的是镜头。场景描述给模型太多需要自行发明的东西。镜头描述则给它一个运动方案。
模式 1:动作优先,上下文其次
以运动的内容开头。“一只手举起咖啡杯,蒸汽向上缭绕,镜头缓慢推近”胜过“一间光线温暖的舒适厨房,台面上放着一只咖啡杯”。第一句设定运动;第二句可以设定环境。如果你颠倒顺序,模型会把运动预算花在氛围上。
模式 2:每个片段一个镜头指令
选一种镜头行为——推近、拉远、环绕、手持跟拍、静止——并且只陈述一次。堆叠镜头运动读起来像自相矛盾,并产生漂移。对于竖屏短视频,缓慢推近或静止画面加主体运动通常比复杂运动读起来更好,因为裁剪已经很紧了。
模式 3:为你请求的时长而写
为长片段写的提示词应该有足够的节拍来填满它。如果你的输出设置请求长时长,而你的提示词只描述一个瞬间,模型要么会停留在静止画面,要么会发明你没要求的运动。把时长分解成节拍:开场动作、发展、结束状态。两到四个节拍能很好地映射到大多数短视频时长。
模式 4:点明音频,不要暗示
如果你想要同步音频,就说明音频在做什么——环境室内底噪、揭示时的一声撞击、与步伐匹配的脚步声。用情绪形容词(“电影感”“有活力”)描述的音频没有给模型任何可同步的对象。用带时间关系的事件描述音频,则给它一个目标。
模式 5:把竖屏构图作为显式约束
声明竖屏构图,并期望主体填满画面。横屏思维的提示词——宽广风景、群体调度、扫掠式建立镜头——会与格式对抗。为占据高画幅中心的单一主体而写。
维护一个按钩子类型而非按内容索引的提示词库。钩子类型(产品揭示、过程镜头、反应、转变)可以跨项目迁移;具体内容则很少能迁移。
同步音频与长时长输出
音频和时长是耦合的,把它们当作单独设置是最常见的规划错误。
同步音频如何改变规划
当音频与片段一同生成时,你的提示词必须描述一条声音时间线,而不只是一个声音。模型需要知道某事何时发生,以便音频能与视觉事件在同一时刻落地。具体来说:
- 显式锚定事件。 “门在结尾关上”给模型一个同步点。“某处有一扇门关上”则没有。
- 保持声音调色板狭窄。 两到三个有明显时间关系的清晰声音是可同步的。包含十几个重叠元素的密集声景则不是,你会把迭代浪费在永远无法收敛的对齐上。
- 让音频能量匹配运动能量。 静止镜头配爆炸性冲击听起来像错误。如果画面保持平静,音频也应如此。
为什么长时长输出优于拼接
拼接短的无声片段是模型无法在几秒后保持连贯性的变通方案。它让你付出三样代价:每个切点处的接缝伪影、必须单独生成和对齐的音频,以及每个片段在风格上的漂移,表现为可见的不连续。单次长时长生成避免了这三者,也意味着一个请求映射到一个资产——更简单的重试、更简单的存储、更简单的来源追溯。
围绕时长做规划
先决定时长,然后写提示词来填满它,再决定音频事件。如果你最后才决定时长,你要么会过度生成再裁剪(浪费运行时间),要么会生成不足,最终还是得拼接。对于短视频,目标是一个覆盖你的钩子加一个发展节拍的时长——足够长以建立,足够短以保持。
当你为更长的剪辑需要多个片段时,用共享的提示词模板和共享的风格锚点分别生成它们,然后在后期中在它们之间切换。这与为连贯性拼接不同:你是在有意识地剪辑,而不是在修补模型局限。
一个可运行的端到端请求
下面是一个你可以改编的完整流程形态。结构比你的客户端库使用的确切字段名更重要——把它映射到你的 SDK 上。
第 1 步:构建请求
import os
from hiapi import Client # your HiAPI client
client = Client(api_key=os.environ["HIAPI_API_KEY"])
payload = {
"model": "kling-4.0/text-to-video",
"prompt": (
"Vertical shot. A hand lifts a glass bottle from a table, "
"condensation running down the side. Camera slowly pushes in. "
"Ambient room tone; a soft glass clink as the bottle lifts; "
"quiet settle at the end."
),
# duration and audio settings go here, per output requirements
}
result = client.generate(**payload)
有三点值得注意。模型字符串是字面常量。提示词按顺序陈述了构图、动作、镜头和音频事件。时长和音频设置是显式字段,而不是由提示词文本暗示。
第 2 步:将参数与结果一同持久化
record = {
"request": payload,
"result_id": result.id,
"asset": result.output_url,
}
存储完整请求,而不只是提示词。当片段可用时,你需要重现它;当它失败时,你需要知道是哪个设置导致了失败。
第 3 步:处理响应
把返回的资产当作事实来源。下载并存储到你自己的资产桶中,而不是依赖一个临时 URL,并在项目数据库中按同一请求记录索引资产路径。这给你一条从提示词到已发布片段的可重现链路。
第 4 步:进入后期
裁剪到你的目标时长,如果格式需要就添加字幕,然后发布。因为音频已经同步,后期就是裁剪和加标题——不是对齐。
整个流程故意做得无聊。无聊的流程才是能经受内容日历考验的流程。
失败模式与迭代纪律
大多数浪费的生成来自四种失败模式。把它们命名,能让你在花费运行时间之前更容易捕捉到。
提示词/音频不匹配
你描述了一个安静场景,却得到一条带冲击的音轨。或者你要求一个同步事件,音频却漂移了。解决办法是重读提示词,检查每个音频事件在同一时刻都有明确的视觉锚点。如果某个声音没有对应的视觉事件,就删除它或添加该事件。不要重掷然后祈祷。
时长超支
为短瞬间写的提示词生成长片段时,要么保持静止,要么发明运动。对照你请求的时长检查节拍数。如果片段感觉被填充,那是提示词对运行时来说规格不足,而不是模型行为异常。
横屏思维的构图
宽幅调度、群组场景和建立镜头会与竖屏构图对抗。如果你的输出总是让主体淹没在空白中,就围绕单个居中主体和紧凑裁剪重写提示词。
缺乏纪律的重掷
这是昂贵的那一个。重掷同一个提示词然后祈祷不是迭代——那是采样噪声。一个有意识的循环是这样的:
- 每次尝试只改变一个变量——提示词动作、提示词音频、镜头指令或某个设置。
- 在请求历史中记录这次改动。
- 对照既定标准比较结果:音频是否落地、主体是否留在画面内、片段是否填满时长。
- 把胜出的变体提升到你的提示词库。
每次会话用一小批变体运行这个循环,而不是大范围盲扫,并并排审查结果。两到三次有纪律的迭代通常胜过十几次重掷,而且每次迭代都给你留下一个可复用的模式,而不是一个幸运的片段。
它在你的生产栈中的位置
kling-4.0/text-to-video 是片段优先流水线的生成阶段,而不是整个流水线。正确的集成是一条干净的边界:你的编排层构建负载、处理重试和存储,并把完成的资产交给后期。
三条实用的集成说明:
- 跨生成类型共享脚手架。 提示词模板化、请求日志、资产存储和重试逻辑,无论你生成视频、图像还是语音,都是相同的。把它们放在一个地方,这样视频阶段就是一次配置变更,而不是一个新子系统。
- 保持模型字符串可配置。 即使你标准化使用这个模型,也通过配置来接线,这样你可以在不碰流水线代码的情况下测试替代方案或回退。
- 按意图而非按尝试做预算。 追踪每个已发布片段消耗了多少次生成。这个数字,而不是原始请求量,告诉你提示词纪律是否在改善。
何时采用它:需要运动、同步声音和单一连贯时长的竖屏短视频片段。何时另寻他处:长叙事、精确文字渲染,或你已经拥有素材库的镜头。该模型是第一种情况的好默认选项,对其他情况则不合适,知道哪个是哪个比任何提示词技巧都更能节省运行时间。
从你的提示词库中挑一个钩子类型,端到端完整运行一次请求到发布的流程,让那一个可运行的循环定义你技术栈的其余部分。