
comfyui-reactor-node 扩展与二次开发完全指南5 条让 ComfyUI 换脸节点更好用的路径【免费下载链接】comfyui-reactor-nodeFast and Simple Face Swap Extension Node for ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/comfyui-reactor-node先说清楚comfyui-reactor-node 不是名字里带 node 就一定是 Node.js——它是 ComfyUI 的换脸自定义节点custom node纯 Python 写的基于 ReActor 引擎做高速人脸交换还自带人脸修复、遮罩、混合人脸模型等功能。它的核心关键词就是「ComfyUI 换脸节点」「二次开发」。如果你想在 ComfyUI 工作流里做人脸相关的深度定制这套代码结构清晰、入口集中是目前最值得动手改的换脸节点之一。一、为什么值得你动手改它价值先摆出来一句话它把「检测→交换→修复→输出」整条换脸链路都拆成了独立可调的环节你改任何一环都不用重造轮子。入口只有一个文件所有 14 个节点的注册都集中在 nodes.py 末尾的NODE_CLASS_MAPPINGS里新手改完能立刻看到效果。核心算法与节点壳分离真正干活的交换逻辑在 scripts/reactor_swapper.py576 行节点层只是参数解析和调度二开时改算法不会碰坏界面。依赖全部本地化r_basicsr/、r_facelib/、r_chainner/三个目录把 BasicSR、facexlib 等重型依赖直接打包进了仓库requirements.txt 里只有 7 个核心依赖你不用在别人的环境里猜版本冲突。适合谁用过 ComfyUI、会基础 Python、想给换脸工作流加自己功能的人。哪怕你只是想换个检测模型或加个节点参数它都比从头写友好得多。二、技术底座它靠什么跑起来各角色分工这套换脸流水线由几个库协作完成每个都只干自己那件事PyTorch ONNX Runtime推理双通道。人脸检测/识别模型InsightFace 系列走 ONNX Runtimescripts/reactor_swapper.py 里按硬件自动选 ExecutionProviderCUDA → CoreML → ROCM → CPU修复模型走 PyTorch。InsightFace0.7.3人脸检测和对齐的主力buffalo_l模型 inswapper_128.onnx交换模型是整个换脸的发动机。OpenCV NumPy图像裁剪、融合、形态学处理遮罩模块里用得很重。segment_anything ultralyticsMaskHelper 节点的两大件——YOLOv8 出人脸框、SAM 出精细分割实现「只换脸不换背景」的精细遮罩。albumentations图像增强主要服务混合人脸模型多张脸融成一张时的预处理。换句话说检测、交换、修复、遮罩四个能力各有独立的库支撑你扩展哪块就只需理解哪块不用通读全部。三、代码怎么组织一张目录树看懂分层comfyui-reactor-node/ ├── nodes.py # 全部 14 个节点的注册入口1200 行 ├── reactor_utils.py # 张量/PIL 互转、模型下载、safetensors 读写 ├── reactor_patcher.py # 运行时补丁逻辑 ├── install.py / install.bat # 一键安装脚本 ├── modules/ # 兼容垫片shared.py 等桥接 SD-WebUI 习惯的导入 ├── scripts/ # 业务核心 │ ├── reactor_faceswap.py # FaceSwapScript流程编排 │ ├── reactor_swapper.py # 模型加载 swap_face / swap_face_many 核心算法 │ ├── r_faceboost/ # 换脸前的脸部增强restorer swapper │ ├── r_masking/ # 遮罩核心bbox SAM 两套分割 │ └── r_archs/ # CodeFormer / VQGAN 架构定义 ├── r_basicsr/ # 内置 BasicSR超分架构、损失函数、指标 ├── r_facelib/ # 内置 facexlibRetinaFace、YOLOv5Face 检测器 └── r_chainner/ # GFPGAN / StyleGAN2 的模型加载器分层的逻辑很简单nodes.py是壳scripts/是肌肉r_*前缀的目录是器官。新手二开 90% 的改动只发生在前两层r_basicsr/这类内置库可以完全当黑盒用比如通过 r_basicsr/utils/registry.py 的ARCH_REGISTRY注册新架构。四、能力盘点这些现成功能二开时直接白拿在动手之前先看看它已经给了你什么避免重复造轮子能力在哪里二开时怎么用单张/批量人脸交换swap_face()、swap_face_many()scripts/reactor_swapper.py新节点直接调用不用碰推理细节人脸检测 排序/性别筛选analyze_faces()、sort_by_order()、get_face_gender()改「按什么顺序换脸」只需动排序逻辑人脸修复GFPGAN / CodeFormer / GPEN 1024/2048ReActorRestoreFace 节点 scripts/r_archs/加新修复模型 加一个架构注册精细遮罩YOLOv8 bbox SAM 分割scripts/r_masking/换分割模型或加形态学操作都在这层混合人脸模型多脸融合存 safetensorsBuildFaceModel、SaveFaceModel、LoadFaceModel节点复用其模型读写工具函数显存管理ReActorUnload节点 comfy.model_management做长视频流式换脸时直接沿用模型自动下载get_restorers()nodes.py你的新模型可以抄它的「缺则下」逻辑五、二开路径5 条改动量从小到大的方向1. 加一个新节点改动最小半天能跑通适合场景给工作流加个前处理/后处理步骤比如换脸前统一人脸对齐、换脸后自动裁脸输出。大致改动点在 nodes.py 里仿照ImageRGBA2RGB这种小节点写一个类INPUT_TYPESexecute两个方法在文件末尾的NODE_CLASS_MAPPINGS注册即可改动不超过 40 行。2. 接入新的修复模型改动集中在注册层适合场景想用更新的超分/修复模型替换 GFPGAN比如接一个本地训练的模型。大致改动点在 scripts/r_archs/ 下仿照codeformer_arch.py写架构定义并注册进ARCH_REGISTRYr_basicsr/utils/registry.py再把模型放进ComfyUI/models/facerestore_modelsget_restorers()会自动扫描.pth/.onnx文件。3. 给换脸流程加新的检测后端适合场景侧脸、遮挡场景下 InsightFace 漏检想换成自训的检测器。大致改动点r_facelib/detection/ 里已经有 RetinaFace 和 YOLOv5Face 两套现成检测器可直接参考把新检测器输出统一成 InsightFace 的Face对象格式替换analyze_faces()内部调用即可下游交换逻辑完全不用动。4. 扩展遮罩管道精细换脸适合场景要「只换正脸不动侧脸」「头发边缘羽化更自然」这类需求。大致改动点scripts/r_masking/core.py 是 bbox SAM 双路分割的主流程segs.py管具体分割调用加新分割模型或调整形态学参数膨胀、腐蚀、高斯模糊都在这一层MaskHelper.execute()的参数已经暴露得比较全。5. 面向视频的流式换脸改动最大收益也最大适合场景长视频逐帧换脸时显存爆掉、帧间闪烁。大致改动点现有swap_face_many()处理图像批次配合 ReActorImageDublicator 和ReActorUnload已经能应付一部分场景往视频方向走重点看 scripts/reactor_swapper.py 里ANALYSIS_MODELS的缓存机制检测模型只加载一次在此之上加帧间状态传递比如前几帧的 embedding 均值来抑制闪烁。六、新手第一步最小上手路径先把环境跑起来git clone https://gitcode.com/gh_mirrors/co/comfyui-reactor-node到 ComfyUI 的custom_nodes目录进目录执行python install.pyWindows 用install.bat启动 ComfyUI 后在节点菜单搜 ReActor 能看到 14 个节点就是成功。读一条最短链路打开 nodes.py 找到reactor主节点类的execute方法顺着它调用 scripts/reactor_faceswap.py 的FaceSwapScript再跟到 scripts/reactor_swapper.py 的swap_face()——这三跳就是完整换脸流程读完对全局就有数了。抄一个最矮的台阶练手照ImageRGBA2RGB节点写一个自己的节点并注册在 ComfyUI 里跑通。这一步走完你就拿到了二开这张门票后面按第五节的方向按需深入即可。 最后一句提醒改完任何节点后ComfyUI 界面里要删掉旧节点重新添加作者在 README 里也反复强调了这点否则会报参数不匹配的错。【免费下载链接】comfyui-reactor-nodeFast and Simple Face Swap Extension Node for ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/comfyui-reactor-node创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考