Lightricks 发布了视频生成模型 LTX-2 的 1.6.2 版本,新增将参考图像放在视频区间之前或之后的功能。分多个区间生成视频时,可以仅对负责相应区间的分块应用该图像,也可以对所有分块重复应用。
分块生成长视频的开发者可以更精细地控制场景参考图像的应用位置。默认选项仅向负责片段起点和终点的分块发送引导,也可以选择在每个分块的相同相对位置提供引导。
1. 将图像引导放在片段前后
此次更新放宽了图像引导的位置限制。帧编号为负数时,引导会作为标记特定时间点的关键帧放在首帧之前;帧编号大于或等于片段帧数时,则放在末帧之后。发行说明举例指出,可以用 -1 来确立开场画面的氛围。
引导是通过图像指导生成过程的输入。可以理解为在场景前放置一张参考照片,让模型参照该照片生成场景。用户可以将开场画面的参考图像指定在视频开始之前的位置。
2. 按分块选择默认或重复行为
分块生成时,默认值为 ONCE。片段之前的引导会向包含首帧的分块传递一次,片段之后的引导则向包含末帧的分块传递一次。引导位置会保留其与该分块所处理帧区间起点之间的实际距离。
选择 PER_CHUNK 后,所有分块都会在相同的相对位置接收引导。例如,-1 会被放在每个分块所处理区间的紧前方。超出片段末尾的位置也会与各区间末尾保持相同距离。这相当于不再仅在整个视频之前放一次参考照片,而是在分块生成的每个场景前重复放置。
3. 在 API 和命令行中指定
在 Python 中,通过 out_of_clip_guides 传递引导的重复行为,可用于按分块构建图像条件的函数以及 ICLoraPipeline 的执行。
在命令行中,通过 --out-of-clip-guides 选项选择同样的重复方式。如果不另行选择重复模式,则使用默认行为,向负责边界的分块传递一次。
仓库文档提供了创建图像替换输入和引导输入的示例。
opening = ImageConditioningInput.replace("opening.png", frame_idx=0, strength=1.0)
later_replacement = ImageConditioningInput.replace("later.png", frame_idx=9, strength=1.0)
guide = ImageConditioningInput.guide("guide.png", frame_idx=80, strength=0.8)在文档示例中,replace() 用图像替换片段中的帧,guide() 则在指定位置放置图像引导。指定片段外索引属于对后者位置范围的扩展。
4. 重复应用的优势与处理成本
当用户希望为每个分割区间提供同一张参考图像时,PER_CHUNK 很有用。与仅应用于特定分块的默认行为不同,每个区间都会接收引导,但将图像条件转换为模型输入格式的编码工作也会在多个分块中执行。
实现方式是在运行期间读取一次输入图像,并在每个需要该图像的分块中,按该分块的分辨率对条件进行编码。重复应用的开销并非来自反复读取图像文件,而是来自为更多分块构建条件的过程。
用于将现有画面替换为图像的输入仍须位于片段内部。如果仅生成一个分块,重复模式的选择不会产生影响。
此次更新的核心是允许在片段前后设置引导,并在分块生成时选择将参考图像仅用于一个分块,还是在所有分块中重复应用。
