ComfyUI-PuLID-Flux-Enhanced 插件完全教程
1. 插件简介
ComfyUI-PuLID-Flux-Enhanced 是一个专门用于人脸身份保持的 ComfyUI 插件,基于 PuLID-Flux 技术的增强版本。这个插件就像一个超级智能的换脸师,可以让AI生成的图片保持特定人物的面部特征,而且还能处理多张参考图片!
GitHub 原地址: https://github.com/sipie800/ComfyUI-PuLID-Flux-Enhanced
这个插件能给我们带来什么效果?
- 人脸身份保持:就像给AI一个人物档案,让它生成图片时始终保持这个人的面部特征
- 多图片融合:可以同时使用多张参考照片,让AI更好地理解人物特征
- 灵活的融合方式:提供7种不同的图片融合方法,就像不同的调色板
- 智能训练功能:可以让AI自己学习如何更好地融合多张参考图片
- 精确控制:可以控制效果的强度、开始时间和结束时间
- 高质量输出:专门针对Flux模型优化,生成质量更高
当前插件包含节点总数:4个
2. 如何安装
方法一:使用 Git 克隆(推荐)
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行以下命令:
git clone https://github.com/sipie800/ComfyUI-PuLID-Flux-Enhanced.git
cd ComfyUI-PuLID-Flux-Enhanced
pip install -r requirements.txt
方法二:手动下载
- 访问 https://github.com/sipie800/ComfyUI-PuLID-Flux-Enhanced
- 点击绿色的 "Code" 按钮,选择 "Download ZIP"
- 解压到 ComfyUI 的
custom_nodes文件夹中 - 安装依赖:
pip install -r requirements.txt
安装后步骤
- 重启 ComfyUI
- 下载所需的模型文件:
- PuLID-Flux 模型文件放到
ComfyUI/models/pulid/文件夹 - InsightFace 模型会自动下载到
ComfyUI/models/insightface/
- PuLID-Flux 模型文件放到
3. 节点详细解析
3.1 PulidFluxModelLoader 节点 - PuLID模型加载器
这个节点就像一个专业的工具管理员,负责加载PuLID-Flux的核心模型,为后续的人脸身份保持工作做准备。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| pulid_file | pulid_file | 模型文件列表 | 选择模型文件 | 选择要使用的PuLID模型 | PuLID模型文件路径 | 从下拉菜单选择.pth或.safetensors文件 |
3.2 PulidFluxInsightFaceLoader 节点 - 人脸分析器加载器
这个节点就像一个专业的人脸识别专家,负责分析和提取人脸特征,是整个系统的"眼睛"。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| provider | provider | CPU/CUDA/ROCM | CUDA | 选择计算设备 | 推理执行提供者 | CUDA=用显卡,CPU=用处理器,ROCM=AMD显卡 |
3.3 PulidFluxEvaClipLoader 节点 - 视觉编码器加载器
这个节点就像一个智能的图像理解专家,负责理解和编码图像的视觉特征,帮助AI更好地理解参考图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 无参数 | 无参数 | 无 | 无 | 自动加载视觉编码器 | 加载EVA-CLIP模型 | 直接连接即可,无需设置 |
3.4 ApplyPulidFlux 节点 - PuLID效果应用器
这个节点是整个插件的核心,就像一个超级智能的换脸大师,可以把参考人物的面部特征应用到AI生成的图片上。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 模型输入 | 连接Flux模型 | 要应用效果的AI模型 | 输入Flux扩散模型 | 连接CheckpointLoaderSimple的输出 |
| pulid_flux | pulid_flux | PuLID模型 | 连接加载器 | PuLID模型实例 | PuLID-Flux模型对象 | 连接PulidFluxModelLoader的输出 |
| eva_clip | eva_clip | 视觉编码器 | 连接加载器 | 视觉理解组件 | EVA-CLIP视觉编码器 | 连接PulidFluxEvaClipLoader的输出 |
| face_analysis | face_analysis | 人脸分析器 | 连接加载器 | 人脸识别组件 | InsightFace人脸分析器 | 连接PulidFluxInsightFaceLoader的输出 |
| image | image | 图片输入 | 连接参考图片 | 要保持身份的参考人物照片 | 输入参考图像张量 | 连接LoadImage节点,可以是多张图片 |
| weight | weight | -1.0到5.0浮点数 | 1.0 | 效果强度控制 | PuLID效果权重 | 1.0=标准强度,0.8-0.95=推荐范围 |
| start_at | start_at | 0.0到1.0浮点数 | 0.0 | 效果开始时间点 | 扩散过程开始应用时间 | 0.0=从头开始,0.3=从30%开始 |
| end_at | end_at | 0.0到1.0浮点数 | 1.0 | 效果结束时间点 | 扩散过程结束应用时间 | 1.0=到最后,0.7=到70%结束 |
| fusion | fusion | 7种融合方式 | mean | 多图片融合方法 | 多图像特征融合策略 | mean=平均,max=最大值,train_weight=训练融合 |
| fusion_weight_max | fusion_weight_max | 0.0到20.0浮点数 | 1.0 | 融合权重最大值 | 自动权重融合最大权重 | 仅在auto_weight模式下有效 |
| fusion_weight_min | fusion_weight_min | 0.0到20.0浮点数 | 0.0 | 融合权重最小值 | 自动权重融合最小权重 | 仅在auto_weight模式下有效 |
| train_step | train_step | 0到20000整数 | 1000 | 训练步数 | 在线训练迭代次数 | 仅在train_weight模式下有效,1000-2000为佳 |
| use_gray | use_gray | 开关选择 | True | 是否使用灰度图 | 是否转换为灰度处理 | True=保持细节,False=保持颜色 |
| attn_mask | attn_mask | 遮罩输入 | 可选 | 注意力遮罩 | 控制效果应用区域 | 连接遮罩可以限制效果范围 |
| prior_image | prior_image | 图片输入 | 可选 | 优先参考图片 | 训练模式的主要参考图 | 选择最好的参考图作为主导 |
4. 使用技巧和建议
基础使用流程
-
标准人脸保持流程:
- LoadImage(参考人物) → 各种加载器 → ApplyPulidFlux → Flux采样器
- 这是最基本的人脸身份保持流程
-
多图片增强流程:
- 使用多张同一人物的不同角度照片
- 选择合适的fusion方法
- 设置prior_image为最清晰的正面照
融合方法选择建议
-
mean(平均):
- 适合:多张质量相近的照片
- 效果:平衡稳定,不会过于突出某个特征
-
max(最大值):
- 适合:想要突出某些面部特征
- 效果:可能会增强大眼睛、特殊鼻型等特征
-
max_token(最大标记):
- 适合:有一张特别好的参考图
- 效果:会优先使用最突出的特征
-
train_weight(训练权重):
- 适合:追求最高质量的融合
- 效果:AI会自己学习如何最好地融合多张图片
- 注意:训练步数1000-2000最佳,过多会过拟合
参数调优建议
-
weight参数调整:
- 0.8-0.95:推荐范围,效果自然
- 1.0:可能过强,容易失真
- 0.5-0.7:效果较弱,适合微调
-
时间控制:
- start_at=0.0, end_at=1.0:全程应用
- start_at=0.2, end_at=0.8:中段应用,更自然
- start_at=0.0, end_at=0.6:前段应用,保持结构
-
多图片使用技巧:
- 选择同一人物的不同角度照片
- 确保照片质量清晰
- 使用prior_image指定最佳参考图
5. 常见问题解答
Q1: 安装后提示缺少依赖怎么办?
A:
- 确保安装了所有requirements.txt中的依赖
- 特别注意facexlib和insightface的安装
- 如果遇到问题,尝试:
pip install facexlib insightface onnxruntime
Q2: 生成的人脸不像参考图片怎么办?
A:
- 检查参考图片质量,确保人脸清晰可见
- 调整weight参数到0.8-0.95范围
- 尝试使用多张不同角度的参考图片
- 使用train_weight融合方法
Q3: 效果太强导致图片失真怎么办?
A:
- 降低weight参数到0.6-0.8
- 调整start_at和end_at,不要全程应用
- 检查参考图片是否过于特殊或低质量
- 尝试使用mean融合方法
Q4: 多张图片融合效果不好怎么办?
A:
- 确保所有参考图片都是同一人物
- 选择质量相近的图片
- 使用prior_image指定最佳参考图
- 尝试train_weight方法,设置1000-2000步训练
Q5: 显存不足怎么办?
A:
- 减少同时使用的参考图片数量
- 降低图片分辨率
- 使用CPU模式(provider设为CPU)
- 关闭不必要的其他节点
Q6: 训练模式很慢怎么办?
A:
- 减少train_step到500-1000
- 使用更少的参考图片
- 确保使用CUDA模式
- 考虑使用其他融合方法
6. 实际应用场景
场景1:人物肖像生成
- 用途:为特定人物生成不同风格的肖像
- 设置:weight=0.9,fusion=mean,多角度参考图
- 技巧:选择高质量正面照作为prior_image
场景2:角色扮演图片
- 用途:让特定人物扮演不同角色
- 设置:weight=0.8,fusion=train_weight,train_step=1500
- 技巧:使用该人物的多张表情照片
场景3:风格化头像
- 用途:生成特定风格的个人头像
- 设置:weight=0.85,start_at=0.2,end_at=0.8
- 技巧:控制应用时间段,保持风格化效果
场景4:多人物一致性
- 用途:在系列作品中保持人物一致性
- 设置:固定参数设置,使用相同的参考图片集
- 技巧:建立人物档案,每个角色使用固定的参考图片组合
7. 技术特点和优势
核心技术优势
- 多图片融合:支持7种不同的融合策略
- 在线训练:可以实时优化多图片融合效果
- 精确控制:可以控制效果的时间段和强度
- 高质量输出:专门针对Flux模型优化
- 灵活配置:支持灰度/彩色处理切换
与原版PuLID的区别
- 增强的融合方法:提供更多融合选项
- 训练功能:支持在线自适应训练
- 优先图片:可以指定主要参考图片
- 更好的控制:更精细的参数调节
8. 更新和维护
如何更新插件
- 进入插件目录:
cd custom_nodes/ComfyUI-PuLID-Flux-Enhanced - 拉取最新代码:
git pull - 更新依赖:
pip install -r requirements.txt --upgrade - 重启 ComfyUI
如何卸载插件
- 删除
custom_nodes/ComfyUI-PuLID-Flux-Enhanced文件夹 - 清理相关模型文件(可选)
- 重启 ComfyUI
9. 总结
ComfyUI-PuLID-Flux-Enhanced 是一个功能强大的人脸身份保持插件,为用户提供了高质量的人物一致性生成解决方案。它的主要优势包括:
- 先进的融合技术:7种不同的多图片融合方法
- 智能训练功能:可以自动优化融合效果
- 精确控制:可以精细调节效果的各个方面
- 高质量输出:专门针对Flux模型优化
- 易于使用:清晰的节点结构和参数设置
无论你是想要生成特定人物的肖像、创建角色扮演图片,还是制作风格化头像,这个插件都能为你提供出色的效果。记住,选择合适的参考图片和融合方法是获得最佳效果的关键!