Restore a photo
English

Workflow guide

Where codeformer comfyui fits in your image pipeline

If faces look soft after generation or upscaling, a CodeFormer restoration pass may help. This guide covers where to place it, what to inspect, and why node availability must be checked in your own ComfyUI installation.

Codeformer site image illustrating portrait restoration

Who needs a face-restoration branch

The useful insertion point depends on what created the face and what will happen to the image afterward. These scenarios call for different checks, not a universal node preset.

Portrait editor

An enlarged portrait has a soft face while the clothing and background remain acceptable. Compare a face-only restoration pass against the enlarged image at the same viewing size.

Keep the branch only if facial features improve without changing the person's recognizable appearance.

can codeformer fix blurry faces

Archive restorer

An old scan contains dust, uneven exposure, and a small face. Clean the scan separately so facial restoration is not expected to repair every defect.

Retain the original scan beside the processed version for an honest comparison.

can codeformer restore old photos

Model comparer

A generated face looks plausible but slightly artificial after enhancement. Test restoration alternatives on the same input rather than comparing unrelated examples.

Choose the result by identity, texture, and consistency, not sharpness alone.

codeformer vs gfpgan

Frame-workflow builder

A still-image graph is being adapted for footage. Inspect several frames before considering a batch process, because facial appearance can shift between frames.

Treat temporal consistency as a separate requirement from improving one frame.

code former for video

Where we slot in

Treat CodeFormer as an optional processing branch, not a replacement for generation, cleanup, or upscaling. The exact nodes and connections depend on the ComfyUI setup you use.

  1. 1

    Save an unmodified reference

    Keep the source image and the output from the stage immediately before restoration. If your graph includes upscaling, record whether the candidate input comes before or after it; changing both stages at once makes the effect hard to judge.

  2. 2

    Check the available implementation

    Confirm that your installed ComfyUI extension actually provides the intended CodeFormer node or workflow and that its required model files are present. Node names, inputs, and controls can differ between extensions; a screenshot from someone else's graph is not installation proof.

  3. 3

    Run a controlled comparison

    Process the same input through a branch with restoration and one without it. Hold other settings constant, inspect faces at full size, and keep whichever version better preserves identity. Save the chosen output alongside the reference rather than overwriting it.

Before/after

A useful comparison records what entered the restoration branch and what came out. The table describes inspection targets, not guaranteed changes to every photograph.

Before restoration After restoration
Reference The exact image supplied to the branch, saved without replacement. An output made from that same image so differences are attributable to the branch.
Facial detail Note softness around eyes, mouth, and hairline at full size. Check whether apparent detail is coherent rather than merely sharper.
Identity Record distinctive features such as eye shape, expression, and facial proportions. Reject a cleaner-looking result if those features have changed materially.
Non-face regions Observe the surrounding hair, clothing, and background. Look for seams, altered color, or unintended changes outside the face.
Multiple faces Identify every visible face, including smaller background faces. Inspect each face separately; one good result does not validate the whole image.
Decision record Keep the input and the settings used for the trial. Save the selected output and note why it was chosen over the reference.

Deliverable spec

The deliverable is a reviewable image comparison, not a promise that restoration reconstructs missing facts. These limits determine what should remain in the handoff.

1

It cannot verify the original face

Restoration can produce plausible facial detail, but it cannot establish what an obscured person actually looked like.

What to do instead

Keep the source beside the result and label reconstructed detail as an interpretation.

2

It cannot fix every image defect

Scratches, exposure problems, and damaged backgrounds may remain even when a face improves.

What to do instead

Handle those defects in separate stages and compare their effects independently.

3

It cannot guarantee a ready-made node

ComfyUI installations and extensions differ. This guide does not establish that a particular CodeFormer node is installed or compatible with your graph.

What to do instead

Verify the extension's documentation, model requirements, and image connections locally before processing a batch.

4

It cannot ensure frame consistency

A setting that works on one portrait may produce varying features across footage or a group of images.

What to do instead

Review a representative sample and keep the unprocessed frames available.

Explore an image-workflow option

A controlled before-and-after review is the safest way to decide whether face restoration belongs in your pipeline. Explore the linked image tools, and verify their available models and workflow features before relying on them for a ComfyUI graph.

Compare the result, not just the sharpness

  • Preserve the input image
  • Inspect identity at full size
  • Confirm workflow compatibility
Explore image tools

Scenario FAQ

Do not assume a CodeFormer node is present in a particular installation. Check your installed nodes and their documentation for model-file requirements and supported connections.

Place a trial branch after the stage that produces the face you want to inspect. If upscaling is involved, compare placements using the same source image and change only one stage at a time.

Restoration may infer detail that the input does not clearly contain. Compare distinctive facial features against the source and reject a result that sacrifices identity for a cleaner appearance.

A graph can provide a repeatable starting point, but each image still needs inspection. Face size, damage, and the number of people in the image can change whether a setting is suitable.

Save the input, the output without the restoration branch, and the output with it. Record the relevant node and model details so the comparison can be understood or repeated later.

Restore a photo
Restore a photo