SuperAPI AI 工具集

comfy-custom-nodes

编程与开发

查看项目

更新于 10-15 20:14

技能介绍

用途:在编写、修复或审查 ComfyUI 自定义节点包时,按 V3 节点 API(nodes 2.0)规范实现。V1(INPUT_TYPES / NODE_CLASS_MAPPINGS)仍可加载,但属遗留写法,只读不写。参考迁移文档:https://docs.comfy.org/custom-nodes/v3_migration

主要能力:一个包放在 custom_nodes/<pack_name>/ 下,含 init.py、nodes.py、可选 web/、pyproject.toml 和 requirements.txt。节点定义为 io.ComfyNode 子类,用 define_schema 返回 io.Schema,指定 node_id、display_name、category、description 及 inputs/outputs,并用 execute(类方法,可同步或异步)返回 io.NodeOutput。支持多种输入输出:控件类(Int、Float、String、Boolean、Combo)、种子、图像/掩码/潜空间等套接字、MultiType、MatchType、Autogrow、DynamicCombo、io.Custom 自定义类型。可配置 hidden、is_output_node、is_deprecated、is_experimental、not_idempotent、search_aliases 等;可选类方法 validate_inputs、fingerprint_inputs、check_lazy_status。提供 ui.PreviewImage 等预览、ui.ImageSaveHelper 保存、ComfyAPI 进度上报。可选前端通过 WEB_DIRECTORY 与 app.registerExtension 注册。

使用方式:修改后需重启 ComfyUI,类会出现在 /object_info,可配合本地 comfy agent 的 refresh_catalog 与 show_node 验证。测试可用 python -m py_compile nodes.py,导入测试需 ComfyUI 自身环境,例如 .venv/bin/python -c "import importlib; importlib.import_module('custom_nodes.<pack>.nodes')"。发布时 comfy node init 生成 pyproject.toml,comfy node publish 上传版本,令牌经 --token <token> 传入。requirements.txt 只需列出 ComfyUI 未自带的依赖。

限制与注意:execute 参数名须与输入 id 一致,node_id 发布后不可更改;无输入且无输出的 Schema 无效;张量形状需保持批量维度,IMAGE 为 [B,H,W,C] 浮点 0..1,MASK 为 [B,H,W],LATENT 为含 samples 的字典。资料未提供定价、平台支持范围及更多资源站信息。