Nodes/ComfyUI_IPAdapter_plus_V2/IPAdapter FaceID V2
ComfyUI Node

IPAdapter FaceID V2

Keep a face consistent without training a LoRA

By chflame163·Created 2 years ago·Updated 2 years ago· 55
IPAdapter FaceID V2
  • model
  • ipadapter
  • image
  • image_negative
  • attn_mask
  • clip_vision
  • insightface
  • MODEL
  • face_image
weight1.00
weight_faceidv21.00
weight_type
combine_embeds
start_at0.000
end_at1.000
embeds_scaling

IPAdapter FaceID V2 is the node behind most "same face, different scene" workflows that don't involve training a LoRA. It takes one photo of a person, turns it into a face-recognition embedding, and steers generations toward that face - no fine-tuning, no per-person training, just an adapter and a companion LoRA applied on top of your checkpoint. On SD1.5 this is still one of the strongest zero-training identity tools around, which is why people keep coming back to it years after the original release.

How it works

Standard IP-Adapter conditions on CLIP image embeddings - what the image looks like. FaceID swaps that for an InsightFace ArcFace embedding, a vector encoding facial geometry rather than appearance, which is what makes it track identity instead of just style. That ArcFace signal is hard for the model to absorb on its own, so FaceID ships a companion LoRA that the workflow applies to the checkpoint (typical strength 0.5–1.0), and a second CLIP pass carries the face's visual structure. On top of the usual weight (default 1.0, up to 3) you get weight_faceidv2 (default 1.0, up to 5), which controls how strongly that structure component is blended - FaceID Plus v2 weights are the variant most workflows settled on, and this is the dial for them.

The rest of the inputs are the standard apply-node set: weight_type, combine_embeds, start_at/end_at (default 0→1; ending early preserves detail, and adapters measurably soften the image when run across every step), embeds_scaling, optional image_negative, attn_mask, clip_vision, and insightface. Outputs: MODEL for your sampler, plus face_image - the aligned crop InsightFace detected, which is your sanity check that it found the right face.

The fine print, because there's a lot of it

Three things to know before you commit. The license: FaceID weights inherit InsightFace's non-commercial terms, so anything built with this is research-only - don't sell it. The install: you need the insightface Python package plus its models in ComfyUI/models/insightface, and that's historically one of the most painful installs in the ecosystem (the May 2026 1.0 release finally killed the C++ build requirement, so it's easier than it used to be). The expectation: FaceID gets you a stylized, recognizable likeness, not a photoreal replica - the community line is "great if you don't care about photorealism." And the hard truth on model choice: FaceID is strongest on SD1.5; the SDXL ports are labeled experimental and widely reported as weaker.

Installing it

ComfyUI Manager: search "ComfyUI_IPAdapter_plus_V2". Or:

cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_IPAdapter_plus_V2

Restart. Then pip install insightface, and drop the FaceID adapter, its LoRA, and CLIP vision into ComfyUI/models/ipadapter, models/loras, and models/clip_vision.

Gotchas

face_image is your first debugging tool - if it's blank or shows the wrong crop, nothing downstream will work. And remember this pack is a renamed snapshot of cubiq's V2 codebase, so it coexists with v1-style packs by design but won't auto-track cubiq's updates.

Categoryipadapter/faceid

Inputs (14)

NameTypeDefaultDescription
modelMODEL
ipadapterIPADAPTER
imageIMAGE
weightFLOAT1.00-1–3
weight_faceidv2FLOAT1.00-1–5
weight_typeCOMBO15 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +9
combine_embedsCOMBO5 options: concat, add, subtract, average, norm average
start_atFLOAT0.0000–1
end_atFLOAT1.0000–1
embeds_scalingCOMBO4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty
image_negativeoptIMAGE
attn_maskoptMASK
clip_visionoptCLIP_VISION
insightfaceoptINSIGHTFACE

Outputs (2)

NameTypeDescription
MODELMODEL
face_imageIMAGE