comfyui自定义节点
一个最基本的自定义节点就是一个 .py
Python 文件。ComfyUI 在启动时会扫描 ComfyUI/custom_nodes/
文件夹,并加载其中的节点。这个 Python 文件必须告诉 ComfyUI 四件核心事情:
- “ 我需要什么?” (Inputs):定义节点的输入接口。
- “ 我能产出什么?” (Outputs):定义节点的输出接口。
- “ 我的核心工作是什么?” (Function):实现节点功能的具体代码。
- “ 我叫什么,怎么找到我?” (Registration):给节点一个唯一的名称,并注册到系统中。
1.1 相乘实践
1.1 代码
1 | # 这是一个最简单的自定义节点示例 |
1.2 注意事项
- 文件结构:始终将你的自定义节点放在
ComfyUI/custom_nodes/
目录下的一个子文件夹里。例如:ComfyUI/custom_nodes/LW_Nodes/double_number.py
。 __init__.py
文件:为了让 ComfyUI 更好地识别你的文件夹,最好在文件夹里(例如LW_Nodes/
)创建一个空的__init__.py
文件。这会将文件夹标记为 Python 的一个 “ 包 “。- 重启服务:每次修改或添加了自定义节点代码后,必须完全关闭并重启 ComfyUI 的后台服务,刷新浏览器是没用的。
- 数据类型:输入和输出的类型必须严格匹配。ComfyUI 对数据类型非常敏感,例如
INT
和FLOAT
是不同的,IMAGE
和MASK
也是不同的。 - 调试:在你的
execute
函数里使用print()
语句是最好的调试方法。输出的信息会显示在启动 ComfyUI 的命令行窗口中。
1.3 测试
- 一定要重启 comfyui,刷新浏览器
- 通过 https://github.com/Comfy-Org/ComfyUI-Manager 安装 rgthree-comfy