Nodes/ComfyUI-tbox/GFPGANNode
ComfyUI Node

GFPGANNode

The old Restore Faces GAN, and when it still beats ADetailer

By er1cw00·Created 2 years ago·Updated about a year ago· 26
GFPGANNode
  • images
  • IMAGE
model_namegfpgan_1.4
deviceCPU
weight0.80

GFPGAN is the face-restoration GAN behind A1111's old "Restore Faces" checkbox - built by Tencent's ARC Lab (a separate unit from the Tencent AI Lab that made IP-Adapter, in case you've seen both names and assumed they're the same team). It's legacy tech by this ecosystem's standards, and the community's own troubleshooting notes are blunt about it: it's the thing you disable when it's fighting ADetailer, not the thing you reach for first anymore. But it hasn't gone away, and there's a real reason tbox still ships it.

How it works

It's a pretrained GAN that runs face alignment, then reconstructs the face region and blends the result back into your image at a strength you control. That's a fundamentally different move from what ADetailer/FaceDetailer does: those inpaint the face back in using your actual checkpoint, so the result matches the rest of the image's style. GFPGAN pastes in a different model's idea of a good face, which is exactly why running both on the same image produces the classic grey, mismatched box around a face - the two are fighting over the same pixels with different opinions.

Where GFPGAN still earns a place: identity preservation on a real, specific person. The community's practical split is that CodeFormer tends to produce a more generically "fixed" pretty face, while GFPGAN - especially dialed down to partial strength rather than run at full blend - is more likely to keep someone recognizable. If the point of the pass is "still looks like this person," not just "face looks clean," that's GFPGAN's lane.

The inputs and outputs that matter

  • images (required IMAGE) - what you're restoring faces in.
  • model_name (enum, default gfpgan_1.4) - gfpgan_1.3 or gfpgan_1.4. 1.4 is the newer of the two; there's no real reason to pick 1.3 unless you're matching an old workflow.
  • device (enum, default CPU) - also CUDA, CoreML, ROCM. This default is the one thing to change immediately: out of the box this node runs on CPU, which on any real batch is dramatically slower than it needs to be. Switch to CUDA (or ROCM on AMD) the first time you use it.
  • weight (default 0.8) - the blend strength between the restored face and your original. This is the identity dial: push it down toward 0.3–0.5 if you need the person to still look like themselves; leave it near the default if you just want the cleanest possible face and don't mind some drift.

Output: IMAGE.

How to install it

Via ComfyUI Manager: search ComfyUI-tbox, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ai-shizuka/ComfyUI-tbox

then restart. The README doesn't document the GFPGAN checkpoint download - it's blank under its section headers - so expect the usual pattern: first use of a given model_name pulls that checkpoint down automatically, and needs outbound internet to do it.

Common issues & troubleshooting

It's painfully slow. Check device first - it defaults to CPU, not your GPU.

Faces come out plasticky, over-smoothed, or stylistically off from the rest of the image. That's GFPGAN's own look bleeding through. Lower weight, or switch to an ADetailer/FaceDetailer pass if you want a face repainted in your actual model's style rather than pasted from a separate GAN.

A grey or mismatched box appears around the face. You're running this alongside an ADetailer-style face pass on the same region - that's a known conflict, not a bug in either node. Use one or the other on a given face, not both stacked.

A specific person's face drifts away from looking like them. Lower weight rather than raising it - the community's rule of thumb for identity work is to keep it partial, not full-strength.

Categorytbox/FaceFusion

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
model_nameCOMBOgfpgan_1.42 options: gfpgan_1.3, gfpgan_1.4
deviceCOMBOCPU4 options: CPU, CUDA, CoreML, ROCM
weightFLOAT0.80

Outputs (1)

NameTypeDescription
IMAGEIMAGE