ComfyUI-FramePack-HY 插件完全新手教程
1. 插件简介
ComfyUI-FramePack-HY(GitHub原地址:https://github.com/CY-CHENYUE/ComfyUI-FramePack-HY)是一个专门为ComfyUI设计的视频生成插件。它最大的特点是能够用"分段拍摄"的方式来制作长视频,就像拍电影时一段一段拍摄然后拼接一样。
这个插件能给我们带来什么效果:
- 制作长视频:可以生成几分钟甚至更长的视频,不像普通方法只能生成几秒钟
- 节省显存:把长视频切成小段来生成,就像把一个大蛋糕切成小块一样,每次只处理一小块,电脑不会卡死
- 保持连贯性:各个片段之间会自动衔接,看起来像一个完整的视频
- 适配混元模型:专门为腾讯的混元视频模型优化
2. 如何安装
方法一:通过ComfyUI Manager(推荐,就像手机应用商店一样简单)
- 打开ComfyUI Manager(管理器)
- 点击"Install Custom Nodes"(安装自定义节点)
- 在搜索框输入"FramePack-HY"或"CY-CHENYUE"
- 找到
ComfyUI-FramePack-HY,点击"Install"(安装) - 等待安装完成,重启ComfyUI
方法二:手动安装
- 打开命令行,进入ComfyUI的custom_nodes文件夹
- 输入命令:
git clone https://github.com/CY-CHENYUE/ComfyUI-FramePack-HY.git - 进入新下载的文件夹
- 安装依赖包:
pip install -r requirements.txt - 重启ComfyUI
3. 节点详解
3.1 Load FramePack Pipeline (HY) - 模型加载器
这个节点就像一个"模型仓库管理员",负责把视频生成模型加载到内存里准备使用。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model Path | model_path | 文本输入 | lllyasviel/FramePackI2V_HY | 告诉节点去哪里找模型文件,就像告诉快递员你家地址一样 | 指定模型的路径或HuggingFace模型名称 | 输入模型名称如"lllyasviel/FramePackI2V_HY",或者本地路径 |
| Precision | precision | auto/fp16/bf16/fp32 | auto | 控制模型计算精度,就像相机的画质设置,越高越清晰但越占内存 | 模型加载时的数值精度,影响显存占用和计算速度 | 显存充足选fp32,显存不够选fp16 |
3.2 FramePack BucketResize (HY) - 智能尺寸调整器
这个节点就像一个"智能裁缝",会自动把你的图片调整到最适合的尺寸。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Image | image | 图像输入 | - | 需要调整尺寸的原始图片 | 输入的图像数据 | 连接你要处理的图片 |
| Base Resolution | base_resolution | 640/1024等 | 1024 | 基础分辨率档位,就像选择T恤尺码S/M/L一样 | 用于选择最佳分辨率桶的基准值 | 一般选1024,高端显卡可选更高 |
| Resize Mode | resize_mode | lanczos/bilinear/bicubic/nearest | lanczos | 调整尺寸的方法,就像缩放照片的不同算法 | 图像插值算法 | lanczos效果最好但速度慢 |
| Alignment | alignment | center/top_left | center | 调整时图片的对齐方式,居中还是左上角 | 图像对齐方式 | 一般用center居中对齐 |
3.3 FramePack Create Keyframes (HY) - 视频参数定义器
这个节点就像"电影导演",负责设定视频的基本参数和起始画面。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Keyframe 1 | keyframe_1 | 潜在变量输入 | - | 视频的第一帧画面,就像电影的开头镜头 | 视频起始帧的潜在空间表示 | 连接VAE编码器的输出 |
| Video Length Seconds | video_length_seconds | 整数 | 5 | 你想要生成多长的视频(秒),就像设定录像时间 | 视频总时长(秒) | 想要5秒视频就填5 |
| FPS | fps | 整数 | 24 | 每秒有多少帧画面,数字越大视频越流畅 | 视频帧率 | 24是电影标准,30更流畅 |
| Window Size | window_size | 整数 | 16 | 每次生成时回看多少帧历史,影响视频连贯性 | 采样上下文窗口大小 | 显存够用可以设大一点 |
3.4 FramePack Sampler (HY) - 视频生成核心
这个节点是整个插件的"心脏",负责实际生成视频的每一帧。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| FP Pipeline | fp_pipeline | 管道输入 | - | 从模型加载器传来的"工具箱" | 预加载的模型管道 | 连接Load FramePack Pipeline的输出 |
| Positive | positive | 条件输入 | - | 正面提示词,告诉AI你想要什么 | 正向文本条件 | 连接CLIP文本编码器正面输出 |
| Negative | negative | 条件输入 | - | 负面提示词,告诉AI你不想要什么 | 负向文本条件 | 连接CLIP文本编码器负面输出 |
| CLIP Vision | clip_vision | 视觉输入 | - | 图像理解模块,帮助AI理解图片内容 | CLIP视觉编码器输出 | 连接CLIP Vision节点 |
| Steps | steps | 整数 | 20 | 生成步数,就像画画时的涂抹次数,越多越精细 | 采样步数 | 20-50步比较合适 |
| CFG | cfg | 小数 | 7.0 | 控制AI听话程度,数值越高越按提示词生成 | 无分类器引导强度 | 7.0是经典值 |
| Guidance Scale | guidance_scale | 小数 | 1.0 | 混元模型专用引导参数 | 蒸馏引导强度 | 通常保持1.0 |
| Seed | seed | 整数 | 随机 | 随机种子,相同种子生成相同结果 | 随机数生成种子 | 固定种子可重复结果 |
| Width | width | 整数 | 1024 | 视频宽度,要与前面的尺寸调整一致 | 视频宽度像素 | 与BucketResize输出保持一致 |
| Height | height | 整数 | 576 | 视频高度,要与前面的尺寸调整一致 | 视频高度像素 | 与BucketResize输出保持一致 |
| GPU Memory Preservation | gpu_memory_preservation | 小数 | 2.0 | 保留显存大小(GB),防止显存爆炸 | GPU显存保留量 | 显存不够可以调大 |
| Sampler | sampler | 文本选择 | unipc | 采样器类型,目前只支持unipc | 采样算法 | 保持默认unipc |
| Start Latent Out | start_latent_out | 潜在变量输入 | - | 从关键帧节点传来的起始画面 | 起始潜在变量 | 连接Create Keyframes输出 |
| Video Length Seconds | video_length_seconds | 整数输入 | - | 从关键帧节点传来的视频长度 | 视频时长参数 | 连接Create Keyframes输出 |
| Video FPS | video_fps | 整数输入 | - | 从关键帧节点传来的帧率 | 视频帧率参数 | 连接Create Keyframes输出 |
| Window Size | window_size | 整数输入 | - | 从关键帧节点传来的窗口大小 | 上下文窗口大小 | 连接Create Keyframes输出 |
| Shift | shift | 小数 | 1.0 | 影响视频运动幅度的参数 | 时间偏移参数 | 调整动作幅度 |
| Use Teacache | use_teacache | 布尔值 | false | 是否开启加速功能 | 缓存加速开关 | 显存够用可以开启 |
| Teacache Thresh | teacache_thresh | 小数 | 0.5 | 加速功能的敏感度设置 | 缓存阈值 | 通常保持默认 |
| Denoise Strength | denoise_strength | 小数 | 1.0 | 去噪强度,用于图生视频 | 去噪强度 | 纯文生视频用1.0 |
4. 使用技巧和建议
4.1 显存优化建议
- 显存不足时:增大
gpu_memory_preservation参数到3.0或4.0 - 显存充足时:可以调大
window_size到24或32,提高视频连贯性 - 选择合适精度:显存紧张用fp16,显存充足用fp32
4.2 视频质量优化
- 提高画质:增加
steps到30-50步 - 保持连贯性:确保Create Keyframes和Sampler的
window_size一致 - 控制运动幅度:调整
shift参数,0.5运动较小,1.5运动较大
4.3 工作流程建议
- 准备起始图:先用文生图生成一张满意的起始图片
- 智能调整尺寸:用BucketResize节点调整到最佳尺寸
- 设置视频参数:根据需要设置视频长度和帧率
- 分段生成:让Sampler按段落生成视频
- 最终合成:用VAE解码器解码,再用Video Combine合成
5. 常见问题解答
Q1: 生成视频时显存不够怎么办?
A1: 增大gpu_memory_preservation参数,或者减小window_size,或者选择fp16精度。
Q2: 视频看起来不连贯怎么办?
A2: 检查Create Keyframes和Sampler的window_size是否一致,可以尝试增大这个值。
Q3: 生成速度太慢怎么办?
A3: 可以开启use_teacache加速功能,或者减少steps数量。
Q4: 模型加载失败怎么办?
A4: 检查模型路径是否正确,确保模型已经下载到diffusers文件夹中。
Q5: 视频尺寸不对怎么办?
A5: 确保Sampler的width和height参数与BucketResize的输出一致。
Q6: 无法安装插件怎么办?
A6: 确保git已安装,Python环境正确,网络连接正常。可以尝试手动下载zip文件解压。
6. 工作流程示例
完整的视频生成流程:
- 加载模型:使用Load FramePack Pipeline加载lllyasviel/FramePackI2V_HY模型
- 生成起始图:用KSampler生成第一帧图像
- 调整尺寸:用BucketResize调整到合适尺寸
- 编码图像:用VAE Encode将图像转换为潜在变量
- 创建关键帧:用Create Keyframes设置视频参数
- 生成视频:用Sampler生成完整视频序列
- 解码视频:用VAE Decode将潜在变量转换为图像
- 合成视频:用Video Combine合成最终视频文件
7. 进阶技巧
7.1 批量生成技巧
- 可以固定seed来生成相似风格的视频
- 调整shift参数来控制不同视频的运动风格
- 使用不同的起始图片来生成系列视频
7.2 性能调优
- 根据显卡性能调整window_size:RTX 3060建议16,RTX 4090可以用32
- 长视频建议分段生成,每段5-10秒
- 合理设置fps:24fps适合慢节奏,30fps适合快节奏
7.3 创意应用
- 结合LoRA模型生成特定风格视频
- 使用ControlNet控制视频运动轨迹
- 结合其他ComfyUI节点制作复杂视频效果
这个插件让普通用户也能制作出电影级的长视频,只要按照教程一步步操作,就能轻松上手。记住最重要的一点:确保各个节点的参数设置一致,特别是尺寸和窗口大小参数。