
ComfyUI 自定义节点实战3 步跑通你的第一个插件【免费下载链接】ComfyUIThe most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI给生成结果自动加一层滤镜、调用一个第三方 API——这些需求在 ComfyUI 里都可以不碰一行源码就跑通官方扩展节点覆盖多数场景缺的那块用一个自定义节点补上。自定义节点就是 ComfyUI 的插件系统一个 Python 文件、注册进节点表、重启服务即可出现在画布上。看懂节点体系一个注册表加三层节点来源整个体系的枢纽在nodes.py启动时init_extra_nodes依次把三层节点灌进全局注册表NODE_CLASS_MAPPINGS——comfy_extras/里的官方扩展、comfy_api_nodes/里的第三方 API 集成、custom_nodes/里的自写插件。之后你拖进画布的每个节点执行都由前端提交的节点图prompt 的 nodes/links 结构驱动节点名必须在注册表里全局唯一重名会被跳过并警告。子模块一句话职责位置节点注册表统一登记全部节点负责加载第三方插件并校验重名nodes.py官方扩展节点140 个扩展模块后处理、模型合并、视频生成等comfy_extras/第三方 API 节点30 个外部服务的生成/推理节点及配套客户端comfy_api_nodes/用户插件目录放自写节点文件重启即加载custom_nodes/模型后端加载模型、执行采样与显存调度节点不直接碰权重comfy/能力地图从搭流到调 API 的 3 种用法场景一用官方扩展节点搭工作流图像后处理混合、模糊、锐化、Canny 边缘检测等在comfy_extras/的 post processing、canny 模块中画布右键搜节点名即可。批量与模型管理Latent/Image Rebatch 拆分批次模型合并节点覆盖 SD1/SDXL/SD3/Flux 等架构的专用合并逻辑。视频生成nodes_wan提供图生视频、首尾帧、控制信号驱动、视频修复等成组节点配合对应的 Wan 模型即可搭流。场景二接入第三方 API文生图/对话类Gemini、OpenAI、Grok 等与视频生成类Kling、PixVerse、Luma 等都已有现成节点API Key 直接填在节点输入里。想接新服务照comfy_api_nodes/apis/下任意一个客户端模块写请求与轮询逻辑再配一个节点节点暴露输入即可。场景三写自定义逻辑注册新节点在模块里定义类写进NODE_CLASS_MAPPINGS与NODE_DISPLAY_NAME_MAPPINGS。省算力用check_lazy_status声明惰性输入只有依赖变化才重新执行。加后端接口给PromptServer.instance.routes挂自定义路由前端扩展文件放进WEB_DIRECTORY指定目录。最小示例一个文件跑通自定义节点前置条件已启动 ComfyUI 服务。下面这段新式写法约 20 行定义一个反色节点保存为custom_nodes/my_invert.py重启后画布上直接搜Invert Imagefrom comfy_api.latest import ComfyExtension, io class InvertImage(io.ComfyNode): classmethod def define_schema(cls) - io.Schema: return io.Schema(node_idInvertImage, display_nameInvert Image, categoryExample, inputs[io.Image.Input(image)], outputs[io.Image.Output()]) classmethod def execute(cls, image) - io.NodeOutput: return io.NodeOutput(1.0 - image) # 逐通道反色 class MyExtension(ComfyExtension): async def get_node_list(self): return [InvertImage] async def comfy_entrypoint(): # ComfyUI 加载入口 return MyExtension()旧式写法同样有效类上声明INPUT_TYPES/RETURN_TYPES/FUNCTION文件末尾导出NODE_CLASS_MAPPINGS即可custom_nodes/里自带的 example 文件就是完整模板。接入与扩展5 步装好并二次开发 克隆仓库git clone https://gitcode.com/GitHub_Trending/co/ComfyUI装好 Python 依赖后python main.py启动服务。在custom_nodes/下新建节点文件或目录单文件如my_node.py多模块用my_package/加.disabled后缀可临时禁用。定义节点接口新式ComfyNode配合define_schema声明输入类型与参数旧式INPUT_TYPES类方法二选一。注册节点NODE_CLASS_MAPPINGS字典或ComfyExtensioncomfy_entrypoint入口函数。重启服务init_external_custom_nodes扫描目录自动加载终端日志会打印每个插件的加载结果节点名冲突时以先加载者为准。延伸与生态插件生态两条主线官方扩展节点库comfy_extras/写法可当模板参考和社区第三方节点库按功能分目录安装方式相同。下一步建议先跑通上面的反色节点再按场景翻comfy_extras/里的同类实现抄结构。【免费下载链接】ComfyUIThe most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考