📷InsightFace Loader
The face-embedding model InstantID runs on, in Zho's pack
- INSIGHTFACE
Every no-training face tool in ComfyUI - InstantID included - needs the same first step before it can do anything: turn a photo of a face into a numeric identity vector. That's what InsightFace does, and this node loads it. It's not a generator, it doesn't touch pixels, it just detects a face, aligns it, and embeds it. Everything downstream (IdentityNet, the IP-Adapter injection, the whole InstantID pipeline) works off that embedding.
How it works
InsightFace is a face-recognition toolbox, not something built for diffusion - the ComfyUI-InstantID pack (and half the identity-preservation ecosystem) just borrows it. Under the hood it's ArcFace for the recognition embedding plus a detector (RetinaFace/SCRFD-family) for finding and aligning the face first. This node just instantiates that pipeline on your chosen device and hands back a model object other nodes can call .get() on.
The input and output that matter
There's exactly one setting: provider, a CUDA/CPU toggle. CUDA if you've got a GPU and want this to run in milliseconds instead of seconds - it's a small model, so CPU is genuinely usable if you're VRAM-starved elsewhere in the graph. Output is INSIGHTFACE.
Here's the thing worth knowing before you wire this up: this pack ships two nodes that both display as "📷InsightFace Loader" in the UI. This one's output type is INSIGHTFACE; the other (InsightFaceLoader_Zho) outputs INSIGHTFACEMODEL. They're not interchangeable, and only the second one plugs into this pack's own InstantID Generation node. The README credits this node's code as lifted from cubiq's ComfyUI_IPAdapter_plus - Zho reused it, and the changelog for v2.0 explicitly calls out fixing an "insightfaceloader conflict" by adding the renamed twin. So functionally, this plain InsightFaceLoader is the legacy/borrowed one; unless you specifically know a workflow needs its INSIGHTFACE output, reach for InsightFaceLoader_Zho for an actual InstantID run.
Installing it
Search ComfyUI Manager for ComfyUI-InstantID, or manually: cd ComfyUI/custom_nodes && git clone https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID.git, then cd in and pip install -r requirements.txt, then restart. That requirements file is doing real work - it pulls in insightface itself, which has a well-earned reputation as one of the most annoying installs in this whole ecosystem (source-build headaches, Visual Studio build tools on Windows, the works). If you're on a build from before InsightFace 1.0 (May 2026), expect friction; 1.0 finally dropped the C++ build requirement.
You'll also need the antelopev2 model pack by hand - InstantID expects it specifically, and it's not the buffalo_l pack InsightFace auto-downloads. Grab it from DIAMONIK7777/antelopev2 on HuggingFace and drop it under ComfyUI/custom_nodes/ComfyUI-InstantID/models/antelopev2.
Common issues
Node loads but face detection fails or asserts. Almost always a path problem - antelopev2 sitting one folder level off from where the loader expects it. Double-check it landed at the exact path the README names, not a nested antelopev2/antelopev2 or a sibling insightface/models/ layout borrowed from a different pack's docs.
CUDA provider selected but it's silently running on CPU (or erroring outright). Check your onnxruntime-gpu version against your CUDA install. The README is specific about this: CUDA 11 works with the default onnxruntime-gpu 1.16.0, but CUDA 12 needs you to manually install onnxruntime-gpu==1.17.0 - the pip default won't do it for you.
Two nodes, same display name, easy to grab the wrong one. Covered above, but worth repeating because it's the single most common way to get a confusing "wrong type" wire error building this workflow for the first time.
Commercial use. Worth knowing even at this early loading step: the InsightFace models are non-commercial research weights. That restriction rides through everything built on this embedding, InstantID included, regardless of what license the wrapper code carries.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| provider | COMBO | 2 options: CUDA, CPU |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| INSIGHTFACE | INSIGHTFACE | — |