ComfyUI_PRNodes 插件完整保姆级教程
1. 插件简介
ComfyUI_PRNodes 是一个专门为ComfyUI设计的插件,这个插件主要用于随机化你最喜欢的文本到图像生成提示词,可以选择性地将它们混合在一起,进行放大处理,并包含相关的元数据信息用于上传到civitai网站。
简单来说,这个插件就像一个"提示词魔法师",它可以:
- 随机生成提示词:就像抽签一样,每次给你不同的提示词组合
- 混合提示词:把多个提示词像调鸡尾酒一样混合起来
- 智能放大图片:让你的图片变得更大更清晰
- 自动添加信息标签:像给照片贴标签一样,记录生成信息
GitHub原地址: https://github.com/pikenrover/ComfyUI_PRNodes
2. 如何安装
方法一:使用ComfyUI-Manager(推荐)
- 打开ComfyUI界面
- 点击"Manager"按钮
- 选择"Install Custom Nodes"
- 搜索"ComfyUI_PRNodes"
- 点击"Install"按钮
- 重启ComfyUI
方法二:手动安装
- 打开ComfyUI安装目录的
custom_nodes文件夹 - 在这个文件夹里右键打开终端/命令提示符
- 输入命令:
git clone https://github.com/pikenrover/ComfyUI_PRNodes.git - 等待下载完成
- 重启ComfyUI
方法三:直接下载
- 访问 https://github.com/pikenrover/ComfyUI_PRNodes
- 点击绿色的"Code"按钮
- 选择"Download ZIP"
- 解压到ComfyUI的
custom_nodes文件夹 - 重启ComfyUI
3. 节点逐一解析
3.1 RandomPrompt 节点(随机提示词生成器)
这个节点就像一个"提示词抽奖机",可以从你提供的多个提示词中随机选择和组合,每次运行都能给你不同的惊喜。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 可变文本 | mutable_text | 字符串 | 根据需要 | 这里放会变化的提示词,就像抽奖箱里的纸条 | 包含随机元素的提示词文本,支持通配符语法 | 输入:"一个{美丽的|可爱的|优雅的}女孩" |
| 不变文本 | immutable_text | 字符串 | 根据需要 | 这里放固定不变的提示词,就像底色一样 | 始终包含在最终提示词中的固定文本 | 输入:"高质量,杰作,超详细" |
| 最大数量 | max_count | 整数 | 1-10 | 一次最多生成多少个提示词,就像抽几次奖 | 生成提示词的最大数量 | 设置为5表示最多生成5个不同的提示词 |
| 随机采样 | random_sample | 开启/关闭 | 开启 | 是否真的随机抽取,还是按顺序来 | 控制是否随机选择提示词组合 | 开启=真随机,关闭=按顺序 |
| 随机种子 | seed | 整数 | 0 | 随机数的"源头",相同种子=相同结果 | 控制随机数生成的种子值 | 设置为123,每次都会产生相同的随机结果 |
3.2 RandomPromptMixed 节点(混合随机提示词生成器)
这个节点就像一个"提示词调色盘",不仅能随机生成提示词,还能把多个提示词按照不同比例混合在一起,就像调颜料一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 可变文本 | mutable_text | 字符串 | 根据需要 | 这里放会变化的提示词,就像不同颜色的颜料 | 包含随机元素的提示词文本,支持通配符语法 | 输入:"风格:{写实|动画|油画}" |
| 不变文本 | immutable_text | 字符串 | 根据需要 | 这里放固定不变的提示词,就像画布的底色 | 始终包含在最终提示词中的固定文本 | 输入:"高分辨率,专业摄影" |
| 最大数量 | max_count | 整数 | 1-10 | 一次最多生成多少个混合提示词 | 生成混合提示词的最大数量 | 设置为3表示生成3个不同的混合提示词 |
| 混合权重 | mix_weight | 浮点数 | 0.5-1.0 | 混合的强度,就像调色时颜料的浓度 | 控制不同提示词组合的权重比例 | 设置为0.7表示70%的混合强度 |
| 随机采样 | random_sample | 开启/关闭 | 开启 | 是否真的随机混合,还是按顺序来 | 控制是否随机选择混合组合 | 开启=真随机混合,关闭=按顺序混合 |
| 随机种子 | seed | 整数 | 0 | 随机数的"源头",相同种子=相同混合结果 | 控制随机数生成的种子值 | 设置为456,每次都会产生相同的混合结果 |
3.3 ImageScaleTo 节点(图片尺寸调整器)
这个节点就像一个"智能变大镜",可以把你的图片调整到指定的尺寸,就像拉伸橡皮筋一样灵活。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 图片输入 | image | 图片 | 必填 | 要调整大小的图片,就像要变大的照片 | 输入的图像数据 | 连接上一个节点输出的图片 |
| 目标宽度 | target_width | 整数 | 512-2048 | 你希望图片变成多宽,就像拉伸的宽度 | 输出图像的目标宽度(像素) | 设置为1024表示图片宽度变为1024像素 |
| 目标高度 | target_height | 整数 | 512-2048 | 你希望图片变成多高,就像拉伸的高度 | 输出图像的目标高度(像素) | 设置为1024表示图片高度变为1024像素 |
| 缩放方法 | scale_method | 选择列表 | "lanczos" | 图片变大的方法,就像不同的拉伸技术 | 图像缩放采用的插值算法 | lanczos=高质量,bilinear=速度快 |
| 保持比例 | keep_ratio | 开启/关闭 | 开启 | 是否保持图片的长宽比例,就像保持照片不变形 | 是否维持原始图像的宽高比 | 开启=不变形,关闭=可能变形 |
3.4 EmptyLatentImageScaleBy 节点(空白潜在图像缩放器)
这个节点就像一个"画布准备器",可以创建一个指定倍数大小的空白画布,为后续的图像生成做准备。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 基础宽度 | base_width | 整数 | 512 | 基础画布的宽度,就像选择纸张的宽度 | 基础潜在图像的宽度尺寸 | 设置为512作为基础宽度 |
| 基础高度 | base_height | 整数 | 512 | 基础画布的高度,就像选择纸张的高度 | 基础潜在图像的高度尺寸 | 设置为512作为基础高度 |
| 缩放倍数 | scale_factor | 浮点数 | 1.0-4.0 | 画布要放大多少倍,就像复印时的放大倍数 | 相对于基础尺寸的缩放倍数 | 设置为2.0表示放大2倍 |
| 批次大小 | batch_size | 整数 | 1 | 一次创建多少个画布,就像一次准备多少张纸 | 生成潜在图像的批次数量 | 设置为4表示一次准备4个画布 |
3.5 LoraLoaderExtended 节点(扩展版LoRA加载器)
这个节点就像一个"风格滤镜管理器",可以加载和管理不同的LoRA模型,给你的图片添加各种风格效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型输入 | model | 模型 | 必填 | 要添加风格的基础模型,就像底片 | 输入的基础扩散模型 | 连接CheckpointLoader的输出 |
| 文本编码器 | clip | CLIP | 必填 | 文本理解器,就像翻译官 | 文本编码器模型 | 连接CheckpointLoader的CLIP输出 |
| LoRA名称 | lora_name | 选择列表 | 根据需要 | 选择要使用的风格滤镜,就像选择美颜效果 | 要加载的LoRA模型文件名 | 选择"anime_style.safetensors" |
| 模型强度 | strength_model | 浮点数 | 0.8-1.0 | 风格对图片的影响强度,就像滤镜的浓度 | LoRA对主模型的影响权重 | 设置为0.9表示90%的风格强度 |
| 文本强度 | strength_clip | 浮点数 | 0.8-1.0 | 风格对文字理解的影响强度 | LoRA对文本编码器的影响权重 | 设置为0.8表示80%的文本影响 |
3.6 Save Image w/Metadata 节点(带元数据的图片保存器)
这个节点就像一个"智能相册管理器",不仅能保存图片,还能记录下所有的生成信息,就像给照片写日记一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 图片输入 | images | 图片 | 必填 | 要保存的图片,就像要存档的照片 | 输入的图像数据 | 连接生成图片的节点输出 |
| 文件名前缀 | filename_prefix | 字符串 | "ComfyUI" | 保存文件的名字开头,就像给照片分类 | 保存文件的文件名前缀 | 设置为"MyArt",文件名会是"MyArt_001.png" |
| 提示词信息 | prompt_info | 字符串 | "" | 记录生成时用的提示词,就像照片的拍摄说明 | 要保存到元数据中的提示词信息 | 输入使用的完整提示词 |
| 模型信息 | model_info | 字符串 | "" | 记录使用的模型信息,就像照片的相机型号 | 要保存到元数据中的模型信息 | 输入"SDXL_1.0" |
| 设置信息 | settings_info | 字符串 | "" | 记录生成设置,就像照片的拍摄参数 | 要保存到元数据中的生成设置 | 输入"Steps:20, CFG:7.5" |
| 上传准备 | prepare_upload | 开启/关闭 | 关闭 | 是否准备上传到civitai网站,就像打包快递 | 是否为上传到civitai准备特定格式 | 开启=准备上传,关闭=仅本地保存 |
3.7 CheckpointLoaderSimpleExtended 节点(扩展版检查点加载器)
这个节点就像一个"模型选择器Plus版",不仅能加载模型,还能提供更多的控制选项和信息输出。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | ckpt_name | 选择列表 | 根据需要 | 选择要使用的AI模型,就像选择画家 | 要加载的checkpoint模型文件 | 选择"sdxl_base_1.0.safetensors" |
| 输出详情 | output_details | 开启/关闭 | 开启 | 是否输出模型的详细信息,就像显示画家简介 | 是否输出模型的详细信息和参数 | 开启=显示模型信息,关闭=仅加载模型 |
| 内存优化 | memory_optimization | 选择列表 | "auto" | 内存使用优化方式,就像选择省电模式 | 内存使用的优化策略 | auto=自动优化,low=低内存模式 |
| 精度设置 | precision | 选择列表 | "fp16" | 计算精度设置,就像选择画质清晰度 | 模型计算的数值精度 | fp16=平衡,fp32=高精度但占用更多内存 |
4. 使用技巧和建议
4.1 新手入门建议
- 先试试RandomPrompt:这是最简单的节点,适合新手体验随机生成的乐趣
- 逐步增加复杂度:从简单的单个节点开始,逐渐组合多个节点
- 保存好的设置:找到好的参数组合后,记得保存工作流
4.2 提示词编写技巧
- 使用通配符语法:在RandomPrompt中使用
{选项1|选项2|选项3}的格式 - 分类管理提示词:把风格、内容、质量等分开管理
- 保留关键词:把重要的质量词放在immutable_text中
4.3 性能优化建议
- 合理设置批次大小:根据显卡内存调整batch_size
- 选择合适的精度:fp16平衡性能和质量
- 内存不足时使用优化:开启memory_optimization
4.4 上传civitai的准备
- 完整记录元数据:在Save Image w/Metadata中填写详细信息
- 开启上传准备:将prepare_upload设置为开启
- 统一命名规则:使用清晰的filename_prefix
5. 常见问题解答
Q1:为什么RandomPrompt生成的结果总是一样?
A1: 检查random_sample是否开启,如果关闭了就会按顺序生成。另外,相同的seed值会产生相同的结果。
Q2:ImageScaleTo节点处理后图片变模糊了?
A2: 尝试使用"lanczos"缩放方法,它的质量比"bilinear"更好。如果还是模糊,可能是放大倍数过大。
Q3:LoraLoaderExtended加载失败?
A3: 检查LoRA文件是否在正确的models/loras文件夹中,文件格式是否为.safetensors或.ckpt。
Q4:保存的图片在哪里找?
A4: 默认保存在ComfyUI的output文件夹中,可以通过filename_prefix来分类管理。
Q5:内存不够用怎么办?
A5: 降低batch_size,使用fp16精度,开启memory_optimization选项。
6. 进阶应用示例
6.1 创建风格实验室
- 使用RandomPrompt生成多种风格描述
- 结合LoraLoaderExtended应用不同风格
- 用ImageScaleTo统一输出尺寸
- 用Save Image w/Metadata保存实验结果
6.2 批量生成艺术作品
- 设置EmptyLatentImageScaleBy创建高分辨率画布
- 使用RandomPromptMixed混合多种创意元素
- 结合多个LoRA模型创造独特风格
- 批量保存并准备上传到civitai
6.3 提示词优化工作流
- 用RandomPrompt测试不同提示词组合
- 记录效果好的组合到固定文本中
- 继续用RandomPromptMixed进行精细调整
- 最终形成最优的提示词模板
7. 总结
ComfyUI_PRNodes是一个功能强大的插件,特别适合那些想要:
- 批量生成创意内容的艺术家
- 实验不同提示词组合的创作者
- 准备作品上传分享的用户
- 优化工作流程的高效用户
这个插件把复杂的操作简化成了易用的节点,让你可以专注于创作本身,而不是技术细节。配合ComfyUI的强大功能,你可以创造出令人惊艳的艺术作品。
记住,熟练使用这些节点需要时间和实践,不要害怕尝试不同的参数组合。每个参数都有它的用途,找到最适合你的设置才是关键。祝你创作愉快!