ComfyUI Node

Load insightface

The ArcFace engine every InstantID node quietly depends on

By nosiu·Created 3 years ago·Updated about a year ago· 264
Load insightface
    • insightface

    This node has zero inputs and one job: load InsightFace, the face-analysis library that everything else in this pack leans on. No parameters to fiddle with, no sliders - you just drop it in, hit run once, and it hands you an insightface output that flows into FaceEmbed, PreprocessImage, and AngleFromFace. If you're wondering why a faceswap pack needs a separate "load insightface" step at all instead of just baking it into the swap node, it's because InsightFace isn't part of InstantID - it's the thing InstantID (and basically every identity-preservation tool in this space) borrows to turn a photo into a face.

    What it actually loads

    InsightFace's job is narrow: detect a face, align it, and spit out an ArcFace embedding - a vector that encodes facial geometry rather than "what the image looks like." That's the crucial distinction from CLIP-based tools like plain IP-Adapter. This node specifically pulls the antelopev2 model pack, which is InstantID's pick because it's the more accurate detector+recognizer combo (SCRFD-10GF + ResNet100), as opposed to buffalo_l, the default pack InsightFace normally auto-downloads for you. antelopev2 is not auto-fetched - that's on you, and it's the single most common reason this node fails on first run.

    Install

    Standard for this pack, and it's the same three-part setup no matter which node you start from:

    1. ComfyUI Manager: search comfyui-instantId-faceswap, install, restart. Or manually: cd ComfyUI/custom_nodes && git clone https://github.com/nosiu/comfyui-instantId-faceswap, then pip install -r requirements.txt inside that folder.
    2. Download the five antelopev2 .onnx files from DIAMONIK7777/antelopev2 on Hugging Face - 1k3d68.onnx, 2d106det.onnx, genderage.onnx, glintr100.onnx, scrfd_10g_bnkps.onnx.
    3. Put them in ComfyUI/models/insightface/models/antelopev2 - that exact nested path. If your models live somewhere else already, point ComfyUI/extra_model_paths.yaml at them instead of duplicating files.

    This is the only node in the whole pack that reads that folder; get it wrong here and every downstream node (FaceEmbed, AngleFromFace, PreprocessImage) fails the same way.

    Common issues & troubleshooting

    It errors out or the folder shows empty. Almost always a path problem - the five .onnx files need to be directly inside antelopev2/, not in a subfolder InsightFace didn't expect, and the folder name has to match exactly. There's real Reddit chatter about people fighting the extra_model_paths.yaml config for this pack specifically - one user added a bogus insightface: section and ComfyUI refused to even start, which turned out to be a YAML formatting mistake, not a real conflict. If your ComfyUI won't boot after editing that file, that's the first thing to check.

    Install itself is finicky. InsightFace has a long-standing reputation as one of the worst installs in local generation - for years it needed a C++ toolchain (Visual Studio build tools on Windows) because there was no prebuilt wheel for newer Python versions. Depending on what version this pack's requirements.txt resolves for you, you may or may not hit that wall. If pip install chokes trying to build from source, that's the known failure mode, not something you broke.

    License note, since it's relevant the moment you load anything. InsightFace's code is MIT, but the model weights - including antelopev2 - are non-commercial research-only, and that restriction flows into everything downstream: InstantID, PuLID, ReActor, all of it. Fine for personal work and experimentation; not something to build a paid product around without a separate license from InsightFace.

    CategoryInstantId Faceswap

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    insightfaceINSIGHTFACE_APP