Nodes/ComfyUI_IPAdapter_plus/IPAdapter Unified Loader FaceID
ComfyUI Node Runs on cloud

IPAdapter Unified Loader FaceID

The one-node setup for face consistency

By cubiq·Created 3 years ago·Updated about a year ago· 6,086
IPAdapter Unified Loader FaceID
  • model
  • ipadapter
  • MODEL
  • ipadapter
preset
lora_strength0.60
provider

FaceID is IP-Adapter's face-specialist line. Instead of a general CLIP embedding of your reference, it uses an InsightFace ArcFace embedding - a face-recognition vector that encodes actual facial geometry rather than "what the picture looks like." That's what lets it hold a consistent face across generations without training a LoRA. This loader is the node that sets the whole thing up in one place.

FaceID is fiddlier to wire than regular IP-Adapter because it needs three things loaded, not one: the FaceID adapter, a companion LoRA (almost every FaceID model requires a paired LoRA, and each one has its own specific LoRA), and InsightFace itself. The Unified Loader FaceID handles all three from a single preset, which is why it exists - doing it by hand with the separate loaders is genuinely error-prone.

Inputs and outputs

Feed it a model, pick a preset, and set two extras:

  • preset - FACEID, FACEID PLUS - SD1.5 only, FACEID PLUS V2, FACEID PORTRAIT (style transfer), or FACEID PORTRAIT UNNORM - SDXL only (strong). If you're unsure, FACEID PLUS V2 is the one the community actually settled on - it lets you dial face structure separately from identity. Portrait is the pick when you have several photos of the same person.
  • lora_strength - how hard the companion LoRA pulls, default 0.6. The usable range runs 0 to 1; somewhere in 0.5–1.0 is typical.
  • provider - which backend InsightFace runs on: CPU, CUDA, ROCM, DirectML, OpenVINO, or CoreML. Pick CUDA on an NVIDIA card. If the GPU provider throws an error at load, CPU is the reliable fallback - face detection is cheap, so the speed hit is small.

It outputs a patched model and an ipadapter bundle. The ipadapter goes into a FaceID apply node like IPAdapter FaceID. As with the regular Unified Loader, there's an optional ipadapter input for chaining a second pass without reloading.

The two things everyone trips over

InsightFace has to be installed. It's a separate Python dependency and, for years, one of the most painful installs in the whole ComfyUI world - on Windows it meant compiling from source with Visual Studio build tools, and a huge share of "I gave up on ComfyUI" stories trace back to exactly this. The good news, if you're setting up today: InsightFace 1.0 (May 2026) finally dropped the C++ build requirement, so a fresh pip install insightface is far less likely to fight you. Still, if the FaceID nodes error out, insightface not being importable is the first suspect.

FaceID is non-commercial, and that's not the pack's choice. FaceID reads InsightFace's ArcFace weights, and InsightFace releases its models for non-commercial research only. That restriction flows straight through to anything built on it - FaceID, and for that matter InstantID, PuLID, and ReActor. If you're making something you intend to sell, FaceID is off the table; use the CLIP-based Plus Face / Full Face options from the regular Unified Loader instead, which capture a face without touching face recognition and stay Apache-2.0 clean.

Installing the pack

ComfyUI Manager: search "IPAdapter plus", install, restart. Or cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus, then restart. On top of the base install, FaceID needs its models named exactly per the README and placed correctly: the FaceID adapters in ComfyUI/models/ipadapter, their companion LoRAs in ComfyUI/models/loras, plus insightface installed in your ComfyUI environment. Get the naming right and this node loads the matched set automatically; get it wrong and you're back to the "model not found" error.

A last honest note: FaceID gets you a recognizable face, not a photoreal one, and it's strongest on SD1.5 - the SDXL FaceID builds are widely reported as weaker. Good enough for stylized work; if you need true likeness, follow it with a pixel-level swap pass.

Categoryipadapter/faceid

Inputs (5)

NameTypeDefaultDescription
modelMODEL
presetCOMBO5 options: FACEID, FACEID PLUS - SD1.5 only, FACEID PLUS V2, FACEID PORTRAIT (style transfer), FACEID PORTRAIT UNNORM - SDXL only (strong)
lora_strengthFLOAT0.600–1
providerCOMBO6 options: CPU, CUDA, ROCM, DirectML, OpenVINO, CoreML
ipadapteroptIPADAPTER

Outputs (2)

NameTypeDescription
MODELMODEL
ipadapterIPADAPTER