Nodes/ComfyUI-HyperLoRA/HyperLoRA Face Attr
ComfyUI Node

HyperLoRA Face Attr

Find the face first — the detector every HyperLoRA workflow depends on

By bytedance·Created about a year ago·Updated about a year ago· 498
HyperLoRA Face Attr
  • hyper_lora
  • images
  • FACE_ATTR

Before HyperLoRA can build a face LoRA, something has to actually find the face. That's HyperLoRAFaceAttr. It runs the InsightFace face detector over your reference images, extracts bounding boxes and the 106-point landmark set, and hands them downstream wrapped as FACE_ATTR. It's a quiet utility node - no creative dials, no weight - but it's upstream of everything, and when it fails, the whole pipeline dies with a terse "No face detected!"

What it is and why it matters

HyperLoRA isn't magic that reads a whole photo. Its whole identity pipeline is built around a cropped face: the CLIP encoder sees the face region, the ArcFace recognizer embeds the face region, and the base condition literally blurs the face out of the frame. All of that starts from knowing where the face is and what its landmarks are. This node is the front door. It also does the multi-scale detection dance - it tries the detector at 640px, then steps down to 128px - which is how it catches small or off-angle faces that a single-pass detector would miss.

Inputs and output

  • hyper_lora - the loaded bundle (you need the InsightFace analyzer, which loads when your loader config includes arcface in encoder_types).
  • images - your reference photos, batchable.

Output: one FACE_ATTR wire. It feeds HyperLoRAIDCond (which needs the landmarks to crop and mask the face) and HyperLoRABaseCond (which needs them to blur the face out). If you're using the UniGenerateIDLoRA node, this step is hidden inside it.

Installing

Pack install is the usual: ComfyUI Manager → "ComfyUI-HyperLoRA", or git clone https://github.com/bytedance/ComfyUI-HyperLoRA into custom_nodes, pip install -r requirements.txt, restart. The dependency to care about here specifically is insightface - it's in the requirements, and the antelopev2 model pack it needs must be downloaded by hand from the InsightFace model zoo (Google Drive link) and unzipped under:

mkdir -p models/insightface/models
# unzip antelopev2 into models/insightface/models/

Everything else (CLIP processor/ViT, the HyperLoRA weights under models/hyper_lora/) is needed for the nodes around this one, but not for detection itself.

Common issues

  • "No face detected!" - the classic failure. Could be a genuinely faceless photo, a profile view, heavy occlusion, or a tiny face in a busy scene. The detector also runs on CPU, so a batch of big images is noticeably slower than you'd expect; that's normal, not a hang.
  • Detection works but downstream crops look wrong - the landmarks are mis-registered, which happens with strong head tilt or glasses glare. The FaceAttr data feeds the crop logic in HyperLoRAIDCond/BaseCond, and garbage landmarks mean garbage crops, so check the preview IMAGE outputs from those nodes rather than assuming the detector is fine.
  • If the node errors before ever running, check your loader's encoder_types - without arcface, the face analyzer is never instantiated and this node has nothing to call.

The best fix for all of this is upstream: feed it clean, frontal, single-subject, well-lit head-and-shoulders shots. HyperLoRA's results are only as good as the faces it manages to find.

CategoryHyperLoRA

Inputs (2)

NameTypeDefaultDescription
hyper_loraHYPER_LORA
imagesIMAGE

Outputs (1)

NameTypeDescription
FACE_ATTRFACE_ATTR