Load insightface
The ArcFace engine every InstantID node quietly depends on
- 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:
- ComfyUI Manager: search comfyui-instantId-faceswap, install, restart. Or manually:
cd ComfyUI/custom_nodes && git clone https://github.com/nosiu/comfyui-instantId-faceswap, thenpip install -r requirements.txtinside that folder. - Download the five antelopev2
.onnxfiles from DIAMONIK7777/antelopev2 on Hugging Face -1k3d68.onnx,2d106det.onnx,genderage.onnx,glintr100.onnx,scrfd_10g_bnkps.onnx. - Put them in
ComfyUI/models/insightface/models/antelopev2- that exact nested path. If your models live somewhere else already, pointComfyUI/extra_model_paths.yamlat 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.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| insightface | INSIGHTFACE_APP | — |