ComfyUI_SimpleButcher插件完整保姆级教程
1. 插件简介
ComfyUI_SimpleButcher是一个专门用来自动化批量生成图片的插件,就像一个超级智能的助手,能够帮你从文本文件中随机选择提示词,然后自动生成大量不同的图片。
插件地址: https://github.com/KLL535/ComfyUI_SimpleButcher
这个插件最厉害的地方在于:
- 就像一个自动抽奖机,能从你准备的文本文件中随机抽取提示词
- 支持Forge风格的LoRA写法,就像写lora:美女:1.0这样简单
- 能够自动识别LoRA的真实名字,不用你手动去找文件名
- 可以批量保存图片,自动整理到不同的文件夹里
- 生成的图片信息完全兼容其他软件,方便分享和使用
2. 如何安装
方法一:使用ComfyUI管理器(推荐)
- 打开ComfyUI界面
- 点击"Manager"(管理器)按钮
- 选择"Install Custom Nodes"(安装自定义节点)
- 搜索"ComfyUI_SimpleButcher"
- 点击安装,等待完成后重启ComfyUI
方法二:手动安装
- 按下Win+R,输入cmd打开命令窗口
- 输入以下命令(一行一行输入):
cd ComfyUI安装目录\custom_nodes
git clone https://github.com/KLL535/ComfyUI_SimpleButcher.git
cd ComfyUI_SimpleButcher
.\..\..\..\python_embeded\python.exe -s -m pip install -r requirements.txt
- 重启ComfyUI
3. 节点详细解析
3.1 Simple Load Line From Text File节点
这个节点就像一个自动翻书机,能够从文本文件中一行一行地读取内容,然后按照你设定的方式(顺序、随机、不重复等)来选择提示词。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| name | name | 字符串 | 任意名字 | 给这个节点起个名字,方便你记住它的作用 | 节点标识符,用于区分多个同类节点 | 比如写"美女提示词加载器" |
| start | start | 数字 | 1 | 从文件的第几行开始读取 | 起始行数索引 | 如果文件有100行,你想从第5行开始,就填5 |
| load_file | load_file | 真/假 | 真 | 是否要从文件读取内容,关闭就不读文件了 | 布尔值控制是否启用文件读取功能 | 一般选择"真",除非你只想用固定文本 |
| file_path | file_path | 文件路径 | 你的文本文件路径 | 告诉节点你的文本文件放在哪里 | 指定文本文件的完整路径 | 比如"C:\prompts\美女提示词.txt" |
| next | next | 选择项 | random | 选择读取方式:顺序、倒序、固定、随机、不重复随机 | 控制行选择算法的参数 | 选"random"每次都随机,选"increment"按顺序来 |
| prefix | prefix | 字符串 | 空 | 在每个提示词前面加上固定的文字 | 前缀字符串,会添加到选中行的开头 | 比如加上"最高质量,杰作," |
| postfix | postfix | 字符串 | 空 | 在每个提示词后面加上固定的文字 | 后缀字符串,会添加到选中行的结尾 | 比如加上",8k分辨率" |
3.3 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| text | 字符串 | 最终组合好的提示词 | 前缀+文件行内容+后缀的组合结果 | 连接到其他节点作为提示词使用 |
| batch_counter | 数字 | 当前是第几批 | 批次计数器,新批次时重置为1 | 用来追踪生成进度 |
| line_counter | 数字 | 当前读到文件第几行 | 当前选中的行号 | 知道用了哪一行的内容 |
| lines | 数字 | 文件总共有多少行 | 文件总行数 | 了解文件规模 |
3.4 Simple Split Lora And Prompt节点
这个节点就像一个智能分拣机,能够把混在一起的提示词和LoRA代码分开,让你写起来更方便。
3.5 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| text | text | 字符串 | 混合文本 | 包含提示词和LoRA代码的混合文本 | 输入包含LoRA标签和提示词的文本 | "美女,lora:亚洲美女:1.0,长发" |
3.6 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| lora_text | 字符串 | 只包含LoRA代码的文本 | 提取出的LoRA标签文本 | 给LoRA加载器使用 |
| prompt | 字符串 | 只包含提示词的文本 | 提取出的纯提示词文本 | 给提示词编码器使用 |
3.7 Simple Lora Loader节点
这个节点就像一个智能LoRA管理器,能够一次性加载多个LoRA,还能自动识别LoRA的真实名字。
3.8 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| model | model | 模型 | 主模型 | 要应用LoRA的主模型 | 扩散模型输入 | 连接CheckPoint加载器的输出 |
| clip | clip | CLIP模型 | 主CLIP | 要应用LoRA的CLIP模型 | CLIP模型输入 | 连接CheckPoint加载器的CLIP输出 |
| lora_text | lora_text | 字符串 | LoRA代码 | 包含多个LoRA的文本 | Forge风格的LoRA标签文本 | "lora:美女:1.0lora:风景:0.8" |
| multiple_strength_unet | multiple_strength_unet | 小数 | 1.0 | 所有LoRA的模型强度倍数 | UNet权重的全局倍数 | 0.8表示所有LoRA模型影响减少到80% |
| multiple_strength_clip | multiple_strength_clip | 小数 | 1.0 | 所有LoRA的文本强度倍数 | CLIP权重的全局倍数 | 0.9表示所有LoRA文本影响减少到90% |
| limit_strength_unet | limit_strength_unet | 小数 | 2.0 | 限制LoRA模型强度的最大值 | UNet权重的上限值 | 防止LoRA影响过强,最多只能到2.0 |
| limit_strength_clip | limit_strength_clip | 小数 | 2.0 | 限制LoRA文本强度的最大值 | CLIP权重的上限值 | 防止LoRA对文本理解影响过强 |
3.9 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| model | 模型 | 应用了LoRA的新模型 | 经过LoRA修改的扩散模型 | 连接到采样器使用 |
| clip | CLIP模型 | 应用了LoRA的新CLIP | 经过LoRA修改的CLIP模型 | 连接到提示词编码器使用 |
| civitai_lora | 字符串 | LoRA列表信息 | 已应用LoRA的元数据信息 | 用于图片保存时的元数据 |
| civitai_lora_hash | 字符串 | LoRA的哈希值 | LoRA文件的校验码 | 用于图片元数据,便于识别 |
3.10 Simple Image Saver节点
这个节点就像一个智能相册管理器,能够自动保存图片并整理到不同的文件夹,还能保存完整的生成信息。
3.11 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| images | images | 图片 | 生成的图片 | 要保存的图片 | 图像数据输入 | 连接生成图片的节点 |
| output_path | output_path | 文件路径 | 你的保存路径 | 图片保存在哪个文件夹 | 输出目录路径 | "C:\ComfyUI\output\我的图片" |
| prompt_text | prompt_text | 字符串 | 提示词 | 生成图片用的提示词 | 正向提示词文本 | 连接提示词编码器的输入 |
| SEED | SEED | 数字 | 随机种子 | 生成图片的随机种子 | 控制随机性的种子值 | 连接采样器的种子输出 |
| modelname | modelname | 字符串 | 模型名称 | 使用的模型名字 | 检查点模型的名称 | 连接特殊的模型名称节点 |
| steps | steps | 数字 | 采样步数 | 生成图片的步数 | 扩散采样步数 | 连接采样器的步数参数 |
| sampler | sampler | 采样器 | 采样器类型 | 使用的采样器 | 采样算法选择 | 连接采样器选择节点 |
| schedule | schedule | 调度器 | 调度器类型 | 使用的调度器 | 噪声调度算法 | 连接调度器选择节点 |
| CFG_scale | CFG_scale | 小数 | CFG值 | 提示词遵循程度 | 分类器自由指导强度 | 连接采样器的CFG参数 |
| distilled_CFG_scale | distilled_CFG_scale | 小数 | 蒸馏CFG值 | 蒸馏模型的CFG值 | 蒸馏模型的指导强度 | 用于特殊的蒸馏模型 |
| width | width | 数字 | 图片宽度 | 图片的宽度像素 | 图像宽度尺寸 | 连接空潜空间的宽度 |
| height | height | 数字 | 图片高度 | 图片的高度像素 | 图像高度尺寸 | 连接空潜空间的高度 |
| beta_schedule_alpha | beta_schedule_alpha | 小数 | 调度参数α | 高级调度器参数 | Beta调度的alpha参数 | 一般不用改,保持默认 |
| beta_schedule_beta | beta_schedule_beta | 小数 | 调度参数β | 高级调度器参数 | Beta调度的beta参数 | 一般不用改,保持默认 |
| civitai_lora | civitai_lora | 字符串 | LoRA信息 | 使用的LoRA信息 | LoRA元数据 | 连接LoRA加载器的输出 |
| civitai_lora_hash | civitai_lora_hash | 字符串 | LoRA哈希 | LoRA的哈希值 | LoRA校验码 | 连接LoRA加载器的哈希输出 |
| negative | negative | 字符串 | 负面提示词 | 不想要的内容描述 | 负向提示词文本 | 连接负面提示词编码器 |
| override_parameters | override_parameters | 字符串 | 覆盖参数 | 用JSON格式覆盖所有参数 | 参数覆盖的JSON文本 | 高级用法,一般不用 |
| override_workflow | override_workflow | 字符串 | 覆盖工作流 | 用JSON格式覆盖工作流 | 工作流覆盖的JSON文本 | 高级用法,一般不用 |
| override_prompt | override_prompt | 字符串 | 覆盖提示词 | 用JSON格式覆盖提示词 | 提示词覆盖的JSON文本 | 高级用法,一般不用 |
| save_comfy_workflow | save_comfy_workflow | 真/假 | 真 | 是否保存工作流到图片 | 是否在元数据中保存工作流 | 选真可以拖拽图片加载工作流 |
| save_comfy_prompt | save_comfy_prompt | 真/假 | 真 | 是否保存提示词到图片 | 是否在元数据中保存提示词 | 选真可以看到完整的提示词信息 |
3.12 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| metadata_text | 字符串 | 写入图片的元数据 | 保存到文件的元数据信息 | 可以查看保存了什么信息 |
这个节点就像一个智能图片读取器,不仅能加载图片,还能读取图片里保存的所有生成信息。
3.14 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| image | image | 图片 | 要加载的图片 | 从文件选择要加载的图片 | 图像文件输入 | 选择你要分析的图片文件 |
| mask | mask | 遮罩 | 图片遮罩 | 图片的遮罩信息 | 图像遮罩数据 | 一般用不到,保持默认 |
3.15 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| image | 图片 | 加载的图片 | 解码后的图像数据 | 用于其他节点处理 |
| mask | 遮罩 | 图片遮罩 | 图像遮罩数据 | 用于图像编辑 |
| metadata_parameters | 字符串 | Forge风格的元数据 | Forge兼容的参数信息 | 查看原始生成参数 |
| metadata_workflow | 字符串 | ComfyUI工作流 | ComfyUI的工作流JSON | 可以重新加载工作流 |
| metadata_prompt | 字符串 | ComfyUI提示词 | ComfyUI的提示词JSON | 查看详细的提示词信息 |
3.16 Simple Batch Load Images From Dir节点
这个节点就像一个批量图片管理器,能够从文件夹中自动加载多张图片,支持随机选择和不重复模式。
3.17 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| name | name | 字符串 | 任意名字 | 给这个节点起个名字 | 节点标识符 | 比如"批量图片加载器" |
| input_path | input_path | 文件路径 | 图片文件夹路径 | 包含图片的文件夹位置 | 图像目录路径 | "C:\我的图片\输入图片" |
| start | start | 数字 | 1 | 从第几张图片开始加载 | 起始图像索引 | 如果文件夹有100张图,从第5张开始就填5 |
| next | next | 选择项 | random | 选择图片的方式 | 图像选择算法 | random随机选择,increment按顺序 |
| include_subdir | include_subdir | 真/假 | 假 | 是否包含子文件夹的图片 | 是否递归搜索子目录 | 选真会加载所有子文件夹的图片 |
3.18 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| image | 图片 | 加载的图片 | 当前选中的图像 | 用于其他节点处理 |
| mask | 遮罩 | 图片遮罩 | 图像遮罩数据 | 用于图像编辑 |
| metadata_parameters | 字符串 | Forge风格的元数据 | Forge兼容的参数信息 | 查看原始生成参数 |
| metadata_workflow | 字符串 | ComfyUI工作流 | ComfyUI的工作流JSON | 可以重新加载工作流 |
| metadata_prompt | 字符串 | ComfyUI提示词 | ComfyUI的提示词JSON | 查看详细的提示词信息 |
| batch_counter | 数字 | 当前批次 | 批次计数器 | 追踪处理进度 |
| line_counter | 数字 | 当前文件序号 | 文件索引计数器 | 知道处理到第几张图 |
| lines | 数字 | 总文件数 | 文件夹中的图片总数 | 了解总共有多少张图 |
3.19 Simple Auto Bypass节点
这个节点就像一个智能开关,当某个节点组被禁用时,能让信息自动绕过去,不会丢失。
3.20 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| input1 | input1 | 任意类型 | 主要输入 | 正常情况下的输入 | 主数据输入端口 | 连接你的主要数据源 |
| input2 | input2 | 任意类型 | 绕过输入 | 当主输入失效时的备用输入 | 备用数据输入端口 | 连接备用数据源 |
3.21 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| output | 任意类型 | 输出的数据 | 自动选择有效输入的结果 | 确保数据流不中断 |
3.22 Simple Remove Think节点
这个节点就像一个智能文本清理器,专门删除AI思考过程中的...标签内容。
3.23 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| text | text | 字符串 | 包含think标签的文本 | 要清理的文本内容 | 输入文本字符串 | "美女我在想什么长发" |
3.24 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| text | 字符串 | 清理后的文本 | 移除think标签后的文本 | 获得干净的提示词 |
3.25 Checkpoint Loader with Name (Image Saver)节点
这个节点就像一个带名字标签的模型加载器,不仅能加载模型,还能输出模型的名字供其他节点使用。
3.26 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| ckpt_name | ckpt_name | 选择列表 | 你想用的模型 | 从列表中选择要加载的模型 | 检查点文件选择 | 比如选择"realismEngineSDXL_v30.safetensors" |
3.27 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| model | 模型 | 加载的扩散模型 | 扩散模型对象 | 用于图像生成 |
| clip | CLIP模型 | 加载的CLIP模型 | CLIP模型对象 | 用于文本编码 |
| vae | VAE模型 | 加载的VAE模型 | VAE模型对象 | 用于图像编码解码 |
| modelname | 字符串 | 模型的名字 | 模型文件名称 | 用于保存图片时的元数据 |
3.28 Sampler Selector (Image Saver)节点
这个节点就像一个采样器选择器,能够选择采样器并输出其名字。
3.29 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| sampler_name | sampler_name | 选择列表 | 你想用的采样器 | 从列表中选择采样器 | 采样算法选择 | 比如选择"euler_ancestral" |
3.30 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| sampler | 采样器 | 选择的采样器 | 采样器对象 | 用于图像采样 |
| sampler_name | 字符串 | 采样器的名字 | 采样器名称 | 用于保存图片时的元数据 |
3.31 Scheduler Selector (Image Saver)节点
这个节点就像一个调度器选择器,能够选择调度器并输出其名字。
3.32 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|
| scheduler_name | scheduler_name | 选择列表 | 你想用的调度器 | 从列表中选择调度器 | 噪声调度算法选择 | 比如选择"karras" |
3.33 输出结果
| 输出名称 | 输出类型 | 通俗解释 | 专业解释 | 实际用途 |
|---|
| scheduler | 调度器 | 选择的调度器 | 调度器对象 | 用于噪声调度 |
| scheduler_name | 字符串 | 调度器的名字 | 调度器名称 | 用于保存图片时的元数据 |
4. 使用技巧和建议
4.1 批量生成的最佳实践
- 准备多个不同类型的文本文件(比如人物描述、场景描述、风格描述)
- 使用"random no repetitions"模式确保不重复
- 设置合适的batch数量,不要一次生成太多
4.2 LoRA使用技巧
- 可以在同一行写多个LoRA,比如:
<lora:美女:1.0><lora:写实:0.8>
- 使用不同的权重来调节效果强度
- 记得点击"Update LoRA dictionary"按钮更新LoRA列表