Load Face Detector Model (dlib)
ComfyUI Node Guide
- dlib_model
This is the boring loader that everything else in the face-repair half of the pipeline depends on, so it's worth understanding even though it does almost nothing by itself. It loads dlib's 68-point facial landmark predictor - a genuinely old piece of computer vision, dating back over a decade, that finds a face's bounding box and then marks 68 fixed points on it: the outline of the eyes, brows, nose, jawline, mouth. That's it. No embeddings, no "who is this person" vector, nothing biometric. It's pure geometry.
That matters more than it sounds like it should. Basically every modern identity/face tool in ComfyUI - IP-Adapter FaceID, InstantID, PuLID, ReActor - runs on InsightFace's ArcFace embeddings under the hood, and InsightFace's pretrained weights carry a non-commercial license that quietly makes the whole stack unsellable. dlib's landmark model doesn't have that problem, because it's not doing recognition at all. It just answers "where is the face and which way is it pointing," which is exactly what you need for cropping a face out cleanly and, later, pasting a fixed-up version back in at the right spot and angle.
The node itself has one required input, shape_predictor_68_face_landmarks, a dropdown bound to whatever model file you've downloaded and placed on disk - there's no config, no toggle, nothing to tune. It outputs dlib_model (type DLIB_MODEL), and that wire goes straight into the Detect Faces node, or into Detect-Enhance-Blend Faces if you're using the all-in-one shortcut.
Getting it installed is the part that actually causes grief, and it's shared by the whole pack, not just this node. Install through ComfyUI Manager (search "Bringing Old Photos Back to Life") or clone it manually - cd ComfyUI/custom_nodes && git clone https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life - then restart and run pip install -r requirements.txt against ComfyUI's actual Python, not your system one. The requirements file pulls in dlib, which is a compiled C++ extension, and that's where people lose actual days. I went and checked r/comfyui and r/StableDiffusion threads, and it's a real, recurring complaint - one person reported ten straight days of failed install attempts before giving up and asking for help. The fix that usually works: match the dlib wheel to your exact Python version (ComfyUI portable ships its own embedded Python, often a newer minor version than whatever you have installed system-wide - cp310 vs cp312 wheels are not interchangeable), or install CMake and let dlib build from source if no prebuilt wheel exists for you.
Once dlib itself is sorted, this specific node needs one more download: shape_predictor_68_face_landmarks.dat from dlib.net, unzipped and placed in models/facedetection/ - note that's a custom folder this pack creates, not one of ComfyUI's usual models/checkpoints or models/vae locations, so it's an easy thing to get wrong on a first pass if you're used to dropping everything into the same place.
If the dropdown is empty, it's almost always one of two things: the .dat file isn't actually in models/facedetection/, or dlib itself never successfully installed and the node can't initialize at all (check your ComfyUI console log on startup for an import error rather than assuming it's a missing-model issue). Get both of those right once and this node basically disappears into the background - it's cheap to run and you'll rarely think about it again.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| shape_predictor_68_face_landmarks | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| dlib_model | DLIB_MODEL | — |