ComfyUI-Nai-Production-Nodes-Pack 新手保姆级教程
1. 插件简介
插件地址: https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack
ComfyUI-Nai-Production-Nodes-Pack是一个专门为ComfyUI制作的自定义节点包,简单来说就是一个工具箱,里面装了很多ComfyUI原本没有的实用小工具。
这个插件就像是给你的美图秀秀增加了一堆新功能按钮,让你可以:
- 像转动纸片一样旋转图片
- 像拼图一样把多张图片拼接在一起
- 像橡皮擦一样扩展图片边缘
- 像调色板一样调整图片颜色
- 像便签纸一样在图片上加文字
- 像计算器一样做数学运算
总共有14个节点,每个都是日常图片处理中经常用到的小工具。
2. 如何安装
方法一:使用ComfyUI管理器(推荐)
- 打开ComfyUI界面
- 点击右下角的"Manager"按钮
- 在搜索框输入"Nai Production"
- 找到这个插件后点击安装
方法二:手动安装
- 在你的ComfyUI安装文件夹中找到
custom_nodes文件夹 - 在这个文件夹里打开命令行窗口
- 输入:
git clone https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack - 重启ComfyUI
3. 节点详细解析
3.1 图片变换类节点
3.1.1 Image Flip节点(图片翻转)
这个节点就像是一面镜子,可以把图片水平翻转、垂直翻转,或者两个方向都翻转。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 翻转方式 | flip_mode | x/y/xy | x | 选择翻转的方向,x是左右翻转,y是上下翻转,xy是既翻转又颠倒 | 控制图像在水平轴、垂直轴或两轴同时进行镜像变换 | 比如拍照时用前置摄像头,图片是反的,用x模式就能变正常 |
3.1.2 Image Rotate节点(图片旋转)
这个节点像是一个转盘,可以把图片按你想要的角度旋转。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 旋转角度 | rotation | 0-360度 | 90 | 图片要转多少度,就像时钟指针一样 | 以图像中心为轴心进行角度旋转变换 | 手机拍照时拿反了,用90度或270度就能转正 |
3.1.3 Image Concatenate节点(图片拼接)
这个节点就像胶水,可以把多张图片粘在一起,横着拼或竖着拼都行。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 图片输入数量 | inputs_number | 2-8 | 2 | 你要拼接多少张图片 | 设置参与拼接的图像数量 | 比如要做一个四宫格,就设置为4 |
| 拼接方向 | direction | horizontal/vertical | horizontal | 图片是横着排还是竖着排 | 控制图像拼接的方向轴 | horizontal是左右排列,vertical是上下排列 |
| 尺寸匹配 | match_size | true/false | true | 是否把所有图片调整到一样大小 | 是否对图像进行尺寸标准化处理 | 开启后所有图片会变成同样大小再拼接 |
3.1.4 Image Extend节点(图片扩展)
这个节点像是给图片加边框,可以在图片的四周添加空白区域。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 左边扩展 | left | 0-1000像素 | 0 | 在图片左边加多少像素的空白 | 向图像左侧添加指定像素的边距 | 想给头像加个白色边框,就设置比如50像素 |
| 右边扩展 | right | 0-1000像素 | 0 | 在图片右边加多少像素的空白 | 向图像右侧添加指定像素的边距 | 为了让图片比例变成16:9,可能需要左右加边 |
| 上边扩展 | top | 0-1000像素 | 0 | 在图片上边加多少像素的空白 | 向图像上方添加指定像素的边距 | 想在图片上方留地方写标题,就往上加空白 |
| 下边扩展 | bottom | 0-1000像素 | 0 | 在图片下边加多少像素的空白 | 向图像下方添加指定像素的边距 | 想在图片下方留地方写说明,就往下加空白 |
| 背景白色百分比 | bg_white_percent | 0-100% | 100 | 添加的空白区域有多白,0是黑色,100是纯白 | 控制扩展区域的亮度值 | 一般用100%纯白,除非你想要灰色背景 |
3.2 图片后处理类节点
3.2.1 Image Brightness节点(图片亮度)
这个节点就像台灯的亮度调节旋钮,可以让图片变亮或变暗。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 亮度值 | brightness | 0.0-5.0 | 1.0 | 控制图片的明暗程度,1.0是原始亮度 | 调整图像的整体明度值 | 0.5让图片变暗一半,2.0让图片变亮一倍 |
3.2.2 Image Contrast节点(图片对比度)
这个节点像是老电视的对比度按钮,可以让图片的明暗差异更明显或更柔和。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 对比度值 | contrast | 0.0-5.0 | 1.0 | 控制图片的对比强度,1.0是原始对比度 | 调整图像的明暗对比强度 | 0.5让图片看起来很平淡,2.0让黑更黑白更白 |
3.2.3 Image Greyscale节点(图片灰度)
这个节点就像把彩色电视调成黑白电视,让彩色图片变成黑白照片。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 无参数 | 无 | 无 | 无 | 这个节点不需要设置任何参数,连接后自动转换 | 将彩色图像转换为灰度图像 | 想做怀旧风格的照片,直接连接就变黑白了 |
3.2.4 Image RGB节点(图片RGB调色)
这个节点就像调色板,可以单独调整图片的红色、绿色、蓝色强度。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 红色强度 | red | 0-255 | 255 | 控制图片的红色浓度,0是没有红色,255是最红 | 调整图像红色通道的强度值 | 想让夕阳更红,就把红色调到255 |
| 绿色强度 | green | 0-255 | 255 | 控制图片的绿色浓度,0是没有绿色,255是最绿 | 调整图像绿色通道的强度值 | 想让草地更绿,就把绿色调高 |
| 蓝色强度 | blue | 0-255 | 255 | 控制图片的蓝色浓度,0是没有蓝色,255是最蓝 | 调整图像蓝色通道的强度值 | 想让天空更蓝,就把蓝色调到255 |
3.2.5 Image Difference节点(图片差异)
这个节点像是找不同游戏的工具,可以找出两张图片的差异。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 图片A | image_a | 图片输入 | 无 | 第一张要比较的图片 | 差异检测的基准图像 | 比如原始照片 |
| 图片B | image_b | 图片输入 | 无 | 第二张要比较的图片 | 差异检测的对比图像 | 比如处理后的照片 |
3.2.6 Apply Color Palette节点(应用调色板)
这个节点就像把一张图片的颜色风格复制到另一张图片上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 目标图片 | target_image | 图片输入 | 无 | 要改变颜色的图片 | 需要应用调色板的目标图像 | 你想改变色调的照片 |
| 调色板图片 | palette_image | 图片输入 | 无 | 提供颜色风格的图片 | 作为调色板来源的参考图像 | 一张有你喜欢色调的图片 |
| 强度 | intensity | 0.0-1.0 | 0.5 | 颜色变化的强烈程度,0是不变,1是完全变 | 调色板应用的强度系数 | 0.3是轻微改变,0.8是明显改变 |
| 亮度 | lightness | 0.0-2.0 | 1.0 | 调整应用后图片的明暗程度 | 控制应用调色板后的亮度调整 | 1.0保持原亮度,1.5让图片更亮 |
3.2.7 Extract Color Palette节点(提取调色板)
这个节点像是颜料盒,可以从一张图片中提取出主要的颜色。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 颜色数量 | num_colors | 2-20 | 5 | 要提取多少种主要颜色 | 设置调色板中的颜色数量 | 5种颜色够日常使用,10种更详细 |
| 显示方式 | display_mode | line/square | line | 提取的颜色是排成一行还是方块 | 调色板的显示布局方式 | line是横排彩条,square是色块网格 |
3.3 图片合成类节点
3.3.1 Add Image Layer节点(添加图片图层)
这个节点就像PS的图层功能,可以把一张图片贴到另一张图片上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 底层图片 | base_image | 图片输入 | 无 | 作为背景的图片 | 作为底层的基础图像 | 比如风景照片 |
| 覆盖图片 | overlay_image | 图片输入 | 无 | 要贴上去的图片 | 作为上层的覆盖图像 | 比如logo或水印 |
| 水平位置 | x | 0-图片宽度 | 0 | 覆盖图片在水平方向的位置 | 覆盖图像在X轴上的像素位置 | 0是最左边,想居中就设置为背景宽度的一半 |
| 垂直位置 | y | 0-图片高度 | 0 | 覆盖图片在垂直方向的位置 | 覆盖图像在Y轴上的像素位置 | 0是最上边,想居中就设置为背景高度的一半 |
| 透明度 | alpha | 0.0-1.0 | 1.0 | 覆盖图片的透明程度,0是完全透明,1是完全不透明 | 控制覆盖图像的透明度值 | 0.5是半透明水印效果,1.0是完全覆盖 |
3.3.2 Add Text Layer节点(添加文字图层)
这个节点就像在图片上贴标签,可以添加文字说明。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 文字内容 | text | 文本输入 | "Hello" | 你想在图片上显示的文字 | 要渲染的文本字符串 | 比如"摄于2024年夏天" |
| 水平位置 | x | 0-图片宽度 | 10 | 文字在水平方向的位置 | 文本在X轴上的像素位置 | 10是距离左边10个像素 |
| 垂直位置 | y | 0-图片高度 | 10 | 文字在垂直方向的位置 | 文本在Y轴上的像素位置 | 10是距离上边10个像素 |
| 文字宽度 | width | 10-1000 | 200 | 文字显示区域的宽度 | 文本渲染区域的像素宽度 | 200像素够显示一行普通文字 |
| 文字颜色 | color | 颜色值 | 白色 | 文字的颜色 | 文本的RGB颜色值 | 白色在深色背景上清晰,黑色在浅色背景上清晰 |
3.4 实用工具类节点
3.4.1 Set Text节点(设置文本)
这个节点就像一个文本存储盒,可以保存一段文字供其他节点使用。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 文本内容 | text | 文本输入 | "默认文本" | 你想保存的文字内容 | 要存储的文本字符串 | 比如保存一个常用的提示词 |
3.4.2 Get Text节点(获取文本)
这个节点就像一个文本读取器,可以读取之前保存的文字。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 文本输入 | text_input | 文本连接 | 无 | 连接Set Text节点的输出 | 接收文本数据的输入端口 | 从Set Text节点接收保存的文字 |
3.4.3 Note Advanced节点(高级备注)
这个节点就像便利贴,可以在工作流中添加注释和说明。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 标题 | title | 文本输入 | "备注" | 便利贴的标题 | 备注节点的标题文本 | 比如"重要提醒"或"待办事项" |
| 内容 | content | 文本输入 | "内容" | 便利贴的具体内容 | 备注节点的详细文本内容 | 比如"记得调整这个参数"或"这里是关键步骤" |
3.4.4 Math Operation节点(数学运算)
这个节点就像一个计算器,可以进行加减乘除等数学计算。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 举例说明 |
|---|---|---|---|---|---|---|
| 数值A | a | 数字输入 | 0 | 计算中的第一个数字 | 运算的第一个操作数 | 比如想算5+3,这里就填5 |
| 数值B | b | 数字输入 | 0 | 计算中的第二个数字 | 运算的第二个操作数 | 比如想算5+3,这里就填3 |
| 运算方式 | mode | add/subtract/multiply/divide | add | 选择要做什么运算 | 数学运算的操作类型 | add是加法,subtract是减法,multiply是乘法,divide是除法 |
| 数据类型 | type | int/float | float | 选择结果是整数还是小数 | 运算结果的数据类型 | int是整数(如5),float是小数(如5.5) |
4. 使用技巧和建议
4.1 组合使用技巧
图片美化流程:
- 先用Image Brightness调整亮度
- 再用Image Contrast增强对比度
- 最后用Image RGB微调颜色
图片拼接流程:
- 用Image Extend给每张图片加相同的边框
- 用Image Concatenate把图片拼接起来
- 用Add Text Layer添加标题
创意合成流程:
- 用Extract Color Palette提取主图的颜色
- 用Apply Color Palette让其他图片风格统一
- 用Add Image Layer进行图层合成
4.2 参数设置建议
保守调整:
- 亮度和对比度建议在0.8-1.2之间调整
- 颜色强度建议在200-255之间调整
- 透明度建议在0.3-0.8之间调整
创意调整:
- 想要夸张效果可以把对比度调到2.0以上
- 想要复古效果可以降低蓝色通道到150左右
- 想要梦幻效果可以用低透明度叠加
4.3 常见搭配组合
黑白照片上色:
Image Greyscale → Image RGB → Apply Color Palette
多图展示:
Image Extend → Image Concatenate → Add Text Layer
水印添加:
Add Image Layer(低透明度) → Add Text Layer
5. 常见问题解答
Q:为什么我的图片旋转后有黑边?
A:图片旋转后尺寸会变化,黑边是正常的。可以用Image Extend节点把黑边改成白边,或者用Image Concatenate拼接时设置match_size为true。
Q:为什么拼接的图片大小不一样?
A:在Image Concatenate节点中把match_size设置为true,这样所有图片会自动调整到相同大小。
Q:文字添加后看不清楚怎么办?
A:检查文字颜色是否与背景对比度够高,或者先用Add Image Layer添加一个半透明的背景色块。
Q:数学计算结果不对怎么办?
A:检查type参数,如果需要小数结果要选择float,如果只需要整数选择int。
Q:为什么有些节点显示警告标志?
A:带有⚠️标志的节点表示还在测试阶段,功能可能不够稳定,建议谨慎使用。
Q:节点太多找不到怎么办?
A:这个插件的设计原则是把节点分类放到现有菜单中,而不是创建新的分类。你可以在对应的功能分类下找到这些节点。
6. 进阶应用场景
6.1 批量图片处理
如果你有很多图片需要同样的处理,可以这样组合:
- 用Math Operation计算统一的参数
- 用Set Text保存常用的文字内容
- 用Note Advanced记录处理步骤
6.2 创意设计工作流
对于设计师来说,可以这样使用:
- Extract Color Palette提取品牌色彩
- Apply Color Palette保持整体风格统一
- Add Image Layer和Add Text Layer进行最终合成
6.3 社交媒体内容制作
制作九宫格或拼图效果:
- 用Image Extend给每张图片加边框
- 用Image Concatenate拼接成网格
- 用Add Text Layer添加标签或说明
这个插件虽然节点不多,但每个都很实用,掌握了这些基本操作,你就可以完成大部分常见的图片处理任务了。记住,最好的学习方法就是多动手实践,每个节点都试试看,很快就能熟练掌握!