FramePackSampler

节点功能:用于视频生成的采样模块。它的主要作用是在条件控制(prompt embedding、image embedding、起始 latent 等)下生成一段时间长度的视频 latent 表示,供后续解码为视频帧。

输入参数

参数名称说明
model加载好的 FramePackTransformer 模型对象。
positive正向提示词的嵌入(如文本或图像引导)。
negative反向提示词的嵌入,用于去除不希望出现的内容。
image_embeds起始图像的视觉引导嵌入。
start_latent初始 latent 编码,通常来自图像或起始帧。
end_latent终止图像 latent,用于渐变过渡。
end_image_embeds终止图像嵌入。
initial_samples初始 latent 输入(视频 to 视频)。可用于视频重建或风格迁移。

输出参数

参数名称说明
samples最终生成的视频 latent 编码序列。

控件参数

参数名称说明
steps采样步数,越高细节越多,推理时间越长。
use_teacache是否启用 TeaCache 加速机制。
teacache_rel_l1_threshTeaCache 相对 L1 阈值。控制跳帧保留策略,默认 0.15,一般无需修改。
cfg提示词引导系数。
guidance_scale图文双引导强度(如 StableDiffusion 中 CFG)。
shift动作偏移控制参数。控制镜头移动或视频动态感,常设为 0。
seed随机种子,用于复现生成结果。相同配置下种子一致将生成相同视频。
latent_window_size每段时间窗口的 latent 数量。
total_second_length视频总时长(秒)。
gpu_memory_preservationGPU 显存保留容量(GB)。控制 Transformer 模型加载时预留显存,防 OOM。建议值:4~8。
sampler采样算法类型。unipc_bh1 速度快且平衡;unipc_bh2 收敛更稳定,适用于长视频。
embed_interpolation图像嵌入插值方式。 disabled 关闭插值; linear 分段线性过渡; weighted_average 基于权重混合。
start_embed_strength起始图像嵌入强度。仅当启用插值时生效。默认 1.0 表示全图像控制。
denoise_strength去噪强度,影响 v2v 模式稳定性。值越小越保留原始风格,默认 1.0。

teacache加速,teacache_rel_l1_thresh值越大,速度越快,但质量会有所降低

teacache_rel_l1_thresh是一个相对 L1 距离的阈值

  1. 在每一步采样时,模型会判断当前输入和上一步缓存的差异(L1 loss)
  2. 如果差异 小于这个阈值,说明变化不大 ⇒ 可以直接用缓存跳过当前计算
  3. 阈值越大,就越容易满足“差异小”这个条件 ⇒ 跳得越多,速度越快


teacache_rel_l1_thresh=0.1

teacache_rel_l1_thresh=0.15

teacache_rel_l1_thresh=0.25

teacache_rel_l1_thresh值越大,速度更快了,左边teacache_rel_l1_thresh=0.1,中间0.15,右边0.25,0.1时还有眨眼的动作

teacache_rel_l1_thresh=0.1的细节更多,比如衣服的褶皱细节


左边guidance_scale=1,中间guidance_scale=5,右边guidance_scale=10

  1. 高值:强制生成内容贴近 image_embeds 的视觉特征(如参考图风格),但可能降低动态多样性。
  2. 低值:允许更多随机性,适合创意性变化,但可能减弱帧间连贯性。

shift 控制的是“AI 要多自由地重新开始想象这个视频”。

  1. shift = 0:像导演严格照剧本拍,女孩从头自然跑,动作连贯。
  2. shift = 50:导演说“中段自由发挥一下”,结果视频像是从中间插入的一段。
  3. shift = 100:导演放飞了,AI 随便开场,结果女孩可能一开始发呆、闪现、乱动,全靠 AI 自编自导。

在这个场景中,左边(shift=0)和中间(shift=10)的画面中,女孩的奔跑依然保持从左到右的自然连贯感,动作顺畅,具备明显的时间推进逻辑。

但到了右边(shift=20),女孩的动作更像是在原地踏步,缺乏方向性的移动,整体时间感变得模糊。而背景中的海水细节也明显减少,原本有层次的波浪被简化成一条模糊的线条,视觉复杂度下降。

latent_window_size决定了在生成视频 latent(潜变量)时,每个时间帧可以“看到”前后多少帧的上下文信息值越大,则可以提供更多时序上下文信息,提升视频的连贯性。左边latent_window_size=5,中间latent_window_size=9,右边latent_window_size=12,latent_window_size=5时可以明显的看出人物动作不连贯。

gpu_memory_preservation 用于预留一定的 GPU 内存,以确保有足够的内存来解码生成的视频。如果预留的内存越少,可以将更多的 GPU 内存分配给视频采样,从而减少采样时间。然而,预留内存过少可能导致解码时显存不足,从而引发错误。

gpu_memory_preservation =4

gpu_memory_preservation=6

unipc_bh1:使用简单的线性时间步长调整。 B_h = hh

unipc_bh2:使用指数增长的时间步长调整。 B_h = torch.expm1(hh)

如果目标是平稳、自然的过渡,unipc_bh1是更好的选择;如果需要更为复杂和动态的表现,unipc_bh2可能会带来更好的效果。