ComfyUI_PhotoDoodle 插件保姆级教程
1. 插件简介
插件地址: https://github.com/smthemex/ComfyUI_PhotoDoodle
ComfyUI_PhotoDoodle 是一个基于 PhotoDoodle 技术的 ComfyUI 插件,它能让你给照片添加各种艺术效果,比如给猫咪加上天使光环和翅膀,或者给人物添加各种魔法特效。就像是一个专门的"照片魔法师",能把普通照片变成充满艺术感的作品。
这个插件的核心功能是:
- 📸 照片艺术化编辑:把普通照片变成艺术作品
- ✨ 魔法特效添加:给照片中的人物或物体添加各种特效
- 🎨 风格转换:通过不同的 LoRA 模型实现不同的艺术风格
- 🔧 灵活配置:支持多种模型加载方式和参数调节
2. 如何安装
2.1 下载插件
在你的 ComfyUI 安装目录下的 custom_nodes 文件夹中,打开命令行工具,运行:
git clone https://github.com/smthemex/ComfyUI_PhotoDoodle
2.2 安装依赖
进入插件目录,安装所需的依赖包:
cd ComfyUI_PhotoDoodle
pip install -r requirements.txt
2.3 下载模型文件
你需要下载以下模型文件:
必需的 LoRA 文件:
pretrain.safetensors(必须要有)- 其他风格 LoRA(可选,从 这里 下载)
FLUX 模型文件:
- 可以使用 FLUX 单体模型(推荐)
- 或者使用分离的 unet + vae + clip 组合
3. 节点详细解析
3.1 PhotoDoodle_Loader 节点
这个节点就像是一个"模型装载机",负责把所有需要的模型文件加载到内存中,为后续的图片处理做准备。
3.1.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| flux_unet | flux_unet | 下拉选择模型文件 | flux1-dev-fp8.safetensors | 这是主要的"画图大脑",负责理解你的要求并生成图片 | FLUX 扩散模型的 UNet 组件,负责去噪和图像生成 | 选择你下载的 FLUX 模型文件,比如 flux1-dev-fp8.safetensors |
| vae | vae | 下拉选择VAE文件 | none(使用单体模型时) | 这是"图片翻译器",把电脑能理解的数据转换成我们能看到的图片 | 变分自编码器,负责潜在空间和图像空间的转换 | 如果用单体模型就选"none",用分离模型就选对应的VAE文件 |
| pre_lora | pre_lora | 下拉选择LoRA文件 | pretrain.safetensors | 这是"基础技能包",必须要有的基础能力 | 预训练的 LoRA 权重,提供基础的图像编辑能力 | 必须选择 pretrain.safetensors,这是插件正常工作的基础 |
| loras | loras | 下拉选择LoRA文件 | skscloudsketch.safetensors | 这是"特效包",决定你能添加什么样的艺术效果 | 特定风格的 LoRA 权重,定义具体的艺术风格和效果 | 选择你想要的风格,比如云朵素描风格就选 skscloudsketch |
| flux_repo | flux_repo | 文本输入框 | 空白或模型路径 | 如果你有完整的模型文件夹,可以直接指定路径 | FLUX 模型仓库的本地路径或 HuggingFace 仓库名 | 可以填 "black-forest-labs/FLUX.1-dev" 或本地路径 |
| quantization | quantization | 下拉选择 | none | 这是"内存节省器",可以让模型占用更少内存但可能稍微影响质量 | 模型量化方式,用于减少显存占用 | 显存不够时选 fp8 或 nf4,显存充足选 none |
| quantize_T5 | quantize_T5 | 布尔值 | False | 这是"文字理解器的节省模式",可以减少内存占用 | 是否对 T5 文本编码器进行量化 | 显存紧张时设为 True,正常情况下 False |
| use_mmgp | use_mmgp | 布尔值 | False | 这是"超级节省器",专门为显存不够的电脑设计 | 是否使用 MMGP 内存管理优化 | 12GB 以下显存建议开启 True |
| profile_number | profile_number | 数字选择 | 1 | 这是"节省等级",数字越大节省越多内存 | MMGP 的配置档案编号,控制内存优化程度 | 显存越少选择越大的数字,1-5 可选 |
3.2 PhotoDoodle_Sampler 节点
这个节点就像是一个"魔法画笔",接收你的照片和文字描述,然后在照片上施展魔法,添加你想要的艺术效果。
3.2.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 模型连接 | 来自Loader节点 | 这是从装载机传来的"工具箱",包含了所有需要的工具 | 从 PhotoDoodle_Loader 传递的模型管道对象 | 连接 PhotoDoodle_Loader 节点的输出 |
| images | images | 图片输入 | 你的原始照片 | 这是你要施魔法的"画布",也就是原始照片 | 输入的图像张量,作为编辑的基础图像 | 连接 Load Image 节点或其他图片来源 |
| prompt | prompt | 文本输入 | "add a halo and wings for the cat by sksmagiceffects" | 这是你的"魔法咒语",告诉电脑你想要什么效果 | 文本提示词,描述想要添加的效果或风格 | 写清楚你想要的效果,比如"给猫咪加上光环和翅膀" |
| seed | seed | 整数 | 0 | 这是"随机数种子",相同的种子会产生相同的结果 | 随机数生成器的种子值,控制生成的随机性 | 想要固定结果就用固定数字,想要随机就用不同数字 |
| width | width | 整数 | 512 | 这是输出图片的"宽度尺子",决定图片有多宽 | 生成图像的宽度像素值 | 根据你的需要调整,512、768、1024 都是常用值 |
| height | height | 整数 | 768 | 这是输出图片的"高度尺子",决定图片有多高 | 生成图像的高度像素值 | 根据你的需要调整,建议保持合理的宽高比 |
| steps | steps | 整数 | 20 | 这是"绘画步数",步数越多画得越精细但耗时越长 | 扩散模型的推理步数,影响生成质量和速度 | 20-30 步通常够用,追求质量可以用 50 步 |
| guidance_scale | guidance_scale | 浮点数 | 3.5 | 这是"听话程度",数值越高越严格按照你的描述来画 | 分类器自由引导的强度,控制对提示词的遵循程度 | 3.5 是平衡值,太高可能过度拟合,太低可能偏离要求 |
| max_sequence_length | max_sequence_length | 整数 | 512 | 这是"文字理解长度",决定能理解多长的描述文字 | 文本编码器能处理的最大序列长度 | 一般 512 够用,除非你的描述特别长 |
| clip | clip | CLIP连接 | 可选 | 这是"文字理解器",帮助电脑理解你写的文字描述 | CLIP 文本编码器,用于理解和编码文本提示 | 使用分离模型时需要连接,单体模型时可选 |
4. 使用技巧和建议
4.1 模型选择建议
- 推荐使用单体模型:选择
flux1-dev-fp8.safetensors这样的单体模型,设置简单,不容易出错 - 显存不足时:开启
use_mmgp并选择合适的profile_number - 追求速度时:使用
quantization设为fp8
4.2 提示词编写技巧
- 要具体明确:不要只写"好看",要写"给猫咪加上金色光环和白色翅膀"
- 包含风格关键词:记得加上对应 LoRA 的触发词,比如 "by sksmagiceffects"
- 描述要清晰:说明你想在哪个对象上添加什么效果
4.3 参数调节建议
-
新手设置:
- steps: 20
- guidance_scale: 3.5
- 其他参数用默认值
-
追求质量设置:
- steps: 30-50
- guidance_scale: 4.0-5.0
- 更高的分辨率
-
节省显存设置:
- quantization: fp8
- use_mmgp: True
- profile_number: 3-5
5. 常见问题解答
Q1: 提示"No model selected"错误
A: 检查是否正确选择了 pre_lora 和 loras 文件,这两个都是必需的。
Q2: 显存不足 (OOM) 怎么办?
A:
- 开启
use_mmgp设为 True - 设置
quantization为 fp8 或 nf4 - 降低图片分辨率
- 安装 mmgp:
pip install mmgp
Q3: 生成的图片效果不理想
A:
- 检查提示词是否包含 LoRA 的触发词
- 调整
guidance_scale参数 - 增加
steps数量 - 尝试不同的
seed值
Q4: 加载模型很慢
A:
- 确保模型文件放在正确的文件夹中
- 使用 SSD 硬盘存储模型文件
- 第一次加载会比较慢,后续会快一些
Q5: 如何选择合适的 LoRA?
A:
pretrain.safetensors是必需的基础文件- 其他 LoRA 根据你想要的风格选择
- 可以从官方仓库下载更多风格的 LoRA
6. 工作流程示例
6.1 基础工作流程
- 加载模型:使用 PhotoDoodle_Loader 加载所需模型
- 准备图片:使用 Load Image 节点加载原始照片
- 设置参数:在 PhotoDoodle_Sampler 中设置提示词和参数
- 生成结果:连接节点并运行工作流程
- 保存图片:使用 Save Image 节点保存结果
6.2 推荐的节点连接方式
Load Image → PhotoDoodle_Sampler ← PhotoDoodle_Loader
↓
Save Image
7. 总结
ComfyUI_PhotoDoodle 是一个功能强大的照片艺术化编辑插件,通过简单的文字描述就能给照片添加各种魔法效果。虽然参数看起来很多,但大部分情况下使用默认设置就能获得不错的效果。
记住几个关键点:
- 必须要有
pretrain.safetensors文件 - 提示词要包含对应的触发词
- 显存不足时记得开启优化选项
- 多尝试不同的参数组合找到最适合的设置
希望这个教程能帮助你快速上手 ComfyUI_PhotoDoodle 插件,创作出令人惊艳的艺术作品!