Integrated Nodes for ComfyUI 插件保姆级图文教程
1. 插件简介
插件地址: https://github.com/palant/integrated-nodes-comfyui
Integrated Nodes for ComfyUI 是一个超级实用的插件,它的作用就像是一个"打包机"。想象一下,你平常做图的时候需要用到很多个小节点,比如加载模型、写提示词、设置参数等等,这些节点连在一起就像是一条生产线。
这个插件能把这条复杂的生产线打包成一个简单的盒子,你只需要在盒子上调几个按钮就能得到同样的效果。就好比你原来需要分别操作洗衣机、脱水机、烘干机,现在有了一台全自动洗衣机,一键搞定所有步骤。
主要好处:
- 让复杂的工作流程变得简单
- 重复使用变得超级方便
- 界面更加整洁,不会被一堆节点搞得头晕
- 可以把自己常用的节点组合保存起来,下次直接用
2. 如何安装
方法一:直接下载(推荐新手)
- 打开 ComfyUI 的安装文件夹
- 找到
custom_nodes文件夹 - 在这个文件夹里新建一个文件夹,命名为
integrated-nodes-comfyui - 去 GitHub 页面下载所有文件放进去
- 重启 ComfyUI
方法二:命令行下载(会用命令行的朋友)
- 打开命令行工具
- 切换到 ComfyUI 的
custom_nodes文件夹 - 输入:
git clone https://github.com/palant/integrated-nodes-comfyui - 重启 ComfyUI
安装完成后,你会在 ComfyUI 的节点列表里看到 "integrated" 分类,里面就有这个插件提供的节点了。
3. 节点逐一解析
3.1 DoublePrompt 节点 - 双提示词节点
这个节点就像是一个"双面写字板",你可以在上面写两个不同的提示词。比如你想要生成一张图片,你可以写一个"我想要什么"的提示词,再写一个"我不想要什么"的提示词。
3.2 DoublePrompt 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| clip | clip | CLIP模型 | 根据你的模型选择 | 这就像是一个翻译器,把你的文字翻译成AI能理解的语言 | 用于文本编码的CLIP模型 | 选择你正在使用的CLIP模型,通常和主模型配套 |
| text | text | 文本输入 | 你想要的画面描述 | 这里写你想要AI画出来的内容 | 正面提示词输入 | 比如写"一只可爱的小猫咪,坐在花园里" |
| text_2 | text_2 | 文本输入 | 你不想要的内容 | 这里写你不想要AI画出来的内容 | 负面提示词输入 | 比如写"模糊,低质量,变形" |
3.3 ControlNet 节点 - 控制网络节点
这个节点就像是一个"画图助手",它可以根据你提供的参考图片来指导AI画图。比如你给它一张素描图,它就能按照素描的轮廓来生成图片。
3.4 ControlNet 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| control_net_name | control_net_name | 文件名 | 选择对应的控制网络 | 这就像选择不同的画图助手,每个都有自己的特长 | ControlNet模型选择 | 选择canny、depth、openpose等不同类型 |
| image | image | 图片输入 | 上传参考图片 | 这是你给AI的参考图片,告诉它要按照什么样子画 | 输入的控制图像 | 上传一张你想要AI参考的图片 |
| strength | strength | 0.0-2.0 | 1.0 | 这就像调节参考图片的"影响力",数值越大影响越大 | 控制强度参数 | 通常用1.0,想要更强控制可以调到1.5 |
| start_percent | start_percent | 0.0-1.0 | 0.0 | 这决定从什么时候开始使用参考图片 | 控制开始时间点 | 通常用0.0,从一开始就使用控制 |
| end_percent | end_percent | 0.0-1.0 | 1.0 | 这决定到什么时候停止使用参考图片 | 控制结束时间点 | 通常用1.0,一直使用到结束 |
| positive | positive | 文本输入 | 描述你想要的内容 | 写你想要AI画出来的内容 | 正面提示词 | 比如"美丽的风景,高质量" |
| negative | negative | 文本输入 | 描述你不想要的内容 | 写你不想要AI画出来的内容 | 负面提示词 | 比如"模糊,低质量,变形" |
3.5 TextToImage 节点 - 文字生成图片节点
这个节点就像是一个"万能画师",你只需要用文字描述你想要的图片,它就能帮你画出来。这是一个完整的画图流程,从文字到图片一步搞定。
3.6 TextToImage 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 模型文件名 | 选择你的主模型 | 这就像选择一个画师,不同的画师有不同的风格 | 主模型选择 | 选择你下载的模型文件,比如"sd_xl_base.safetensors" |
| positive | positive | 文本输入 | 描述你想要的画面 | 这里写你想要AI画出来的内容 | 正面提示词 | 比如"一只可爱的小猫咪,坐在花园里,阳光明媚" |
| negative | negative | 文本输入 | 描述你不想要的内容 | 这里写你不想要AI画出来的内容 | 负面提示词 | 比如"模糊,低质量,变形,多余的手指" |
| width | width | 数字 | 512, 768, 1024 | 这决定图片的宽度,就像调整画纸的大小 | 图像宽度 | 通常用512或1024,数值越大图片越宽 |
| height | height | 数字 | 512, 768, 1024 | 这决定图片的高度,就像调整画纸的大小 | 图像高度 | 通常用512或1024,数值越大图片越高 |
| steps | steps | 数字 | 20-50 | 这决定AI画图的精细程度,就像画师画画的次数 | 采样步数 | 通常用20-30步,步数越多质量越好但时间越长 |
| cfg | cfg | 数字 | 7-12 | 这决定AI有多听话,数值越大越按照你的描述来画 | 引导尺度 | 通常用7-8,太高可能会过度饱和 |
| sampler_name | sampler_name | 采样器名称 | DPM++ 2M Karras | 这就像选择不同的画笔,每种都有不同的效果 | 采样器选择 | 推荐用DPM++ 2M Karras或Euler a |
| scheduler | scheduler | 调度器名称 | karras | 这决定AI画图的节奏,就像画师的作画节奏 | 调度器选择 | 通常用karras或normal |
| seed | seed | 数字 | 随机或固定 | 这就像是一个种子,同样的种子会得到类似的结果 | 随机种子 | 用-1表示随机,用固定数字可以重现结果 |
3.7 ImageToImage 节点 - 图片转图片节点
这个节点就像是一个"图片改造师",你给它一张图片,它可以根据你的描述来改造这张图片。比如你有一张白天的照片,可以让它变成夜晚的效果。
3.8 ImageToImage 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 模型文件名 | 选择你的主模型 | 这就像选择一个改造师,不同的改造师有不同的风格 | 主模型选择 | 选择你下载的模型文件 |
| image | image | 图片输入 | 上传要改造的图片 | 这是你要改造的原图片 | 输入图像 | 上传一张你想要改造的图片 |
| positive | positive | 文本输入 | 描述你想要的效果 | 这里写你想要图片变成什么样子 | 正面提示词 | 比如"夜晚,月光,星空" |
| negative | negative | 文本输入 | 描述你不想要的内容 | 这里写你不想要出现的内容 | 负面提示词 | 比如"模糊,低质量,变形" |
| denoise | denoise | 0.0-1.0 | 0.3-0.7 | 这决定改造的程度,数值越大改变越大 | 去噪强度 | 0.3改变较小,0.7改变较大 |
| steps | steps | 数字 | 20-50 | 这决定改造的精细程度 | 采样步数 | 通常用20-30步 |
| cfg | cfg | 数字 | 7-12 | 这决定AI有多听话 | 引导尺度 | 通常用7-8 |
| sampler_name | sampler_name | 采样器名称 | DPM++ 2M Karras | 这就像选择不同的改造工具 | 采样器选择 | 推荐用DPM++ 2M Karras |
| scheduler | scheduler | 调度器名称 | karras | 这决定改造的节奏 | 调度器选择 | 通常用karras |
| seed | seed | 数字 | 随机或固定 | 这就像是一个种子,控制随机性 | 随机种子 | 用-1表示随机 |
3.9 Inpaint 节点 - 局部重绘节点
这个节点就像是一个"局部修复师",你可以在图片上用画笔标记出需要修改的区域,然后AI只会改变那个区域,其他地方保持不变。
3.10 Inpaint 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 模型文件名 | 选择你的主模型 | 这就像选择一个修复师 | 主模型选择 | 选择你下载的模型文件 |
| image | image | 图片输入 | 上传要修复的图片 | 这是你要修复的原图片 | 输入图像 | 上传一张需要局部修改的图片 |
| mask | mask | 遮罩图片 | 上传遮罩图片 | 这是一张黑白图片,白色区域会被修改,黑色区域保持不变 | 遮罩图像 | 用画图软件画一个遮罩,白色=要改的地方 |
| positive | positive | 文本输入 | 描述你想要的效果 | 这里写你想要被标记区域变成什么样子 | 正面提示词 | 比如"一朵美丽的花" |
| negative | negative | 文本输入 | 描述你不想要的内容 | 这里写你不想要出现的内容 | 负面提示词 | 比如"模糊,低质量" |
| steps | steps | 数字 | 20-50 | 这决定修复的精细程度 | 采样步数 | 通常用20-30步 |
| cfg | cfg | 数字 | 7-12 | 这决定AI有多听话 | 引导尺度 | 通常用7-8 |
| sampler_name | sampler_name | 采样器名称 | DPM++ 2M Karras | 这就像选择不同的修复工具 | 采样器选择 | 推荐用DPM++ 2M Karras |
| scheduler | scheduler | 调度器名称 | karras | 这决定修复的节奏 | 调度器选择 | 通常用karras |
| seed | seed | 数字 | 随机或固定 | 这就像是一个种子,控制随机性 | 随机种子 | 用-1表示随机 |
3.11 Outpaint 节点 - 反向重绘节点
这个节点和 Inpaint 节点正好相反,它就像是一个"反向修复师"。你标记的白色区域会保持不变,黑色区域会被重新绘制。
3.12 Outpaint 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| ckpt_name | ckpt_name | 模型文件名 | 选择你的主模型 | 这就像选择一个反向修复师 | 主模型选择 | 选择你下载的模型文件 |
| image | image | 图片输入 | 上传要处理的图片 | 这是你要处理的原图片 | 输入图像 | 上传一张需要反向修改的图片 |
| mask | mask | 遮罩图片 | 上传遮罩图片 | 这是一张黑白图片,白色区域保持不变,黑色区域会被重绘 | 遮罩图像 | 用画图软件画一个遮罩,白色=要保留的地方 |
| positive | positive | 文本输入 | 描述你想要的效果 | 这里写你想要黑色区域变成什么样子 | 正面提示词 | 比如"蓝天白云背景" |
| negative | negative | 文本输入 | 描述你不想要的内容 | 这里写你不想要出现的内容 | 负面提示词 | 比如"模糊,低质量" |
| steps | steps | 数字 | 20-50 | 这决定重绘的精细程度 | 采样步数 | 通常用20-30步 |
| cfg | cfg | 数字 | 7-12 | 这决定AI有多听话 | 引导尺度 | 通常用7-8 |
| sampler_name | sampler_name | 采样器名称 | DPM++ 2M Karras | 这就像选择不同的重绘工具 | 采样器选择 | 推荐用DPM++ 2M Karras |
| scheduler | scheduler | 调度器名称 | karras | 这决定重绘的节奏 | 调度器选择 | 通常用karras |
| seed | seed | 数字 | 随机或固定 | 这就像是一个种子,控制随机性 | 随机种子 | 用-1表示随机 |
4. 使用技巧和建议
4.1 创建自定义节点的小技巧
- 选择合适的工作流:选择你经常使用的节点组合,这样打包后最有用
- 合理命名:给你的集成节点起个容易理解的名字,比如"我的专用人像生成器"
- 参数调优:在打包之前,先把参数调到你满意的默认值
- 测试验证:创建完成后一定要测试几次,确保效果符合预期
4.2 配置文件编辑技巧
- 备份原文件:修改配置文件前一定要备份
- 注意缩进:YAML文件对缩进很敏感,用空格不要用Tab
- 逐步添加:一次只添加一个节点,这样出错容易排查
- 重启生效:每次修改配置文件后都要重启ComfyUI
4.3 性能优化建议
- 适度集成:不要把太多节点打包在一起,会影响性能
- 合理分类:把相似功能的节点放在同一个分类里
- 定期清理:删除不用的集成节点,保持界面整洁
5. 常见问题解答
Q1: 安装后找不到节点怎么办?
A: 检查以下几点:
- 确认文件夹名称是否正确
- 确认是否重启了ComfyUI
- 查看控制台是否有错误信息
- 检查配置文件是否正确
Q2: 创建的集成节点显示红色错误怎么办?
A: 这通常是因为:
- 原工作流中使用了不存在的节点
- 配置文件语法错误
- 节点ID对应关系有问题
- 建议重新检查配置文件
Q3: 集成节点的图片显示不正常怎么办?
A: 这是ComfyUI的已知问题:
- 包含多行文本的节点可能显示异常
- 多个图片可能只显示一个
- 这不影响功能,只是显示问题
Q4: 如何修改已有的集成节点?
A: 有两种方法:
- 直接编辑配置文件,然后重启ComfyUI
- 删除原节点,重新创建
Q5: 可以使用其他插件的节点吗?
A: 可以,但需要注意:
- 其他插件必须在集成节点插件之前加载
- 建议把集成节点插件放在最后加载
- 可以通过创建特殊文件夹来控制加载顺序
6. 进阶应用
6.1 批量处理工作流
你可以创建专门用于批量处理的集成节点,比如:
- 批量人像美化节点
- 批量风格转换节点
- 批量尺寸调整节点
6.2 特定风格的专用节点
根据你的需求创建特定风格的节点:
- 动漫风格生成器
- 写实风格生成器
- 艺术风格转换器
6.3 完整工作流集成
你可以把整个工作流打包成一个节点,包括:
- 预处理步骤
- 主要生成步骤
- 后处理步骤
- 输出步骤
这样做的好处是让复杂的工作流变得像使用一个简单的工具一样容易。
7. 总结
Integrated Nodes for ComfyUI 是一个非常实用的插件,它能够:
- 大大简化复杂的工作流程
- 提高工作效率
- 让界面更加整洁
- 方便工作流的分享和重用
通过合理使用这个插件,你可以把ComfyUI变成一个更加友好和高效的工具。记住,好的工具不在于功能多么复杂,而在于能否让你的工作变得更加简单和高效。
希望这个教程能帮助你更好地使用这个插件,如果遇到问题,可以参考官方文档或者在相关社区寻求帮助。记住,熟练使用任何工具都需要时间和练习,不要着急,慢慢来就会越来越熟练的!