Nodes/ComfyUI-API-DockerCPU/Replicate tencentarc/gfpgan
ComfyUI Node

Replicate tencentarc/gfpgan

The granddaddy of face restoration, now over the wire

By trustypangolinΒ·Created 5 months agoΒ·Updated about a month agoΒ· 0
Replicate tencentarc/gfpgan
  • IMAGE
  • IMAGE
  • API_JSON
β—„dry_runfalseβ–Ί
β—„force_rerunfalseβ–Ί
β—„versionv1.4β–Ί
β—„scale2.00β–Ί

GFPGAN is old enough to be nostalgic. It's the 2021 Tencent ARC face restoration model that powered the "Restore faces" checkbox in every web UI for years, and it's still the model a huge chunk of the ecosystem's jargon quietly assumes: when people say a workflow "restores faces," this family of models is what they picture. The Replicate tencentarc/gfpgan node from the ComfyUI-API-DockerCPU pack serves that classic over the API - no weights, no VRAM, just a node that fixes faces on whatever image you hand it.

Before we go further, the honest take: if you have a local GPU, GFPGAN is usually not the modern choice. CodeFormer is generally better on degraded photos, and for faces inside generated images the community's current answer is a dedicated ADetailer pass, not a global restore. Where this node genuinely earns its place is the same place every node in this pack does - a CPU-only machine where running any face model locally is off the table, and you want a one-node fix instead of a whole ADetailer setup.

How it works

Schema-driven, like the rest of the pack. Your IMAGE gets base64-encoded and sent as a Replicate prediction against tencentarc/gfpgan; the fixed face comes back as a new IMAGE tensor, plus API_JSON (the payload that went out). The schema's own pitch: "practical face restoration algorithm for old photos or AI-generated faces."

Only two model inputs actually matter here, which makes this the simplest node in the pack:

  • version - v1.2, v1.3, v1.4, or RestoreFormer. The tooltips from the model card: v1.3 is better quality, v1.4 adds more details and better identity preservation. v1.4 is the default and, for most people, the right answer - you're fixing a face to look like the person, so identity preservation is the whole job.
  • scale - rescaling factor, default 2. This is an upscale-and-restore in one; if your input is already decent size, 1 keeps the resolution and just does the face work.

Install

ComfyUI Manager (search "ComfyUI-API-DockerCPU") or:

cd ComfyUI/custom_nodes
git clone https://github.com/trustypangolin/ComfyUI-API-DockerCPU
cd ComfyUI-API-DockerCPU && pip install -r requirements.txt
export REPLICATE_API_TOKEN="your_token_here"

Restart ComfyUI and it shows up under 🎨 DockerCPU API/🎨 Replicate. No downloads, no token beyond the Replicate one.

Troubleshooting

  • Faces look plastic or identity drifts - that's GFPGAN being GFPGAN, not a config error. Try RestoreFormer in the version dropdown, which is usually gentler. And remember the workflow advice that predates this pack: don't run a global face-restore pass over an image that's already had ADetailer work done - the two fight each other.
  • Image comes back unchanged - check dry_run isn't stuck on; it returns a mock. Then confirm the IMAGE input is actually connected.
  • Cost per call - it's billed per prediction. dry_run is your free wiring check.
  • Young pack - April 2026, near-zero stars. Works fine in my reading of the code, but you're early and there's no support community to lean on.

Worth a footnote on provenance: GFPGAN comes from Tencent ARC, the Tencent PCG lab - the same org family as IP-Adapter, which is why "TencentARC" shows up in the ecosystem more than the lab's actual name ever did. It's one of those models whose legacy outlives its freshness. Use this node when you need a dependable face fix with zero hardware commitment, and know that for the absolute best restoration you'd still want the newer stuff running locally.

Category🎨 DockerCPU API/🎨 Replicate

Inputs (5)

NameTypeDefaultDescription
dry_runBOOLEANfalseβ€”
force_rerunBOOLEANfalseβ€”
IMAGEIMAGEβ€”
versionoptCOMBOv1.44 options: v1.2, v1.3, v1.4, RestoreFormer
scaleoptFLOAT2.00β€”

Outputs (2)

NameTypeDescription
IMAGEIMAGEβ€”
API_JSONSTRINGβ€”