SUPIR uses a diffusion model to restore and enlarge images. Its output can add plausible detail that was absent from the source, so a sharper result is not automatically a more accurate result. This guide explains setup, output dimensions and a practical fidelity check. It is a documentation-based guide, not a measured FluxDraw benchmark.
The cover is an AI-generated illustration, not a workflow screenshot or a before-and-after test.
This guide covers how SUPIR works, the ComfyUI setup, and how to keep it faithful instead of hallucinating a different picture.
Visual guide: Restore an image without losing the source
How to use this map
- Preserve the original and define the target output dimensions. This lets you separate restoration from later resizing and sharpening.
- Match the selected SUPIR files and dependencies to the wrapper version. A wrapper update can change settings or requirements, so save the configuration with the output.
- Start with one image and inspect text, facial features and repetitive structures. Sharper edges are not evidence that missing information was reconstructed correctly.
- Add finishing steps one at a time and keep intermediate files. If a final output looks overprocessed, those files reveal which step introduced the change.
Stop and check: Do not present an illustrated cover as a before-and-after test. Describe invented detail and memory failures alongside any improvement you observe.
Next practical guides: SUPIR vs CCSR vs RealESRGAN: ComfyUI Comparison Guide · Optimize FLUX in ComfyUI: Quantization, Tiling and Measurement
Implementation reference: ComfyUI-SUPIR wrapper requirements. Use the matching version-specific example alongside this editorial map.
What Makes SUPIR Different from ESRGAN
Both neural upscalers and diffusion restoration can introduce artifacts. SUPIR uses an SDXL-based restoration pipeline with image guidance and optional text conditioning. Keep the source alongside the output to check whether added detail changes identity, lettering or important edges.
The tradeoff: SUPIR is heavier and slower, and if you push it too hard it will "improve" your image into something subtly different. Control is the whole game.
Installing SUPIR in ComfyUI
Install ComfyUI-SUPIR (the Kijai wrapper) via ComfyUI Manager or by cloning into custom_nodes/.
Download the SUPIR model files the node requires and place them where the repo specifies. SUPIR sits on top of an SDXL base model, so you also need an SDXL checkpoint in models/checkpoints/ (a realistic SDXL model for photos; an illustration SDXL model for art).
Restart ComfyUI and load the example workflow from the repo.
The Workflow
Load Image — your source (any resolution; SUPIR shines on small inputs).
SUPIR Model Loader + your SDXL checkpoint loader.
SUPIR conditioning — this takes a positive prompt describing the image content ("a portrait of a woman, natural skin texture, sharp eyes, detailed hair") and a negative ("blurry, plastic, oversmoothed, artifacts").
SUPIR sampler — the core restoration pass.
VAE Decode > Save Image.
The Settings That Control Fidelity
Output dimensions: 512 × 512 enlarged 4× is 2048 × 2048, not 4096 × 4096. Reaching a 4096-pixel side from 512 requires an 8× linear enlargement. Test a smaller output first; no factor guarantees fidelity.
Denoise / restoration strength: the master dial. Low stays faithful to the source; high invents more (and drifts more). Start in the middle and adjust while watching a face or text region.
CFG: moderate. Too high bakes in artifacts and oversharpening.
Prompt specificity: accurate content descriptions guide better restoration; a wrong prompt makes SUPIR add the wrong details.
Tiling: SUPIR processes in tiles to manage VRAM — leave tiling on for large outputs.
Keeping It Faithful
The most common complaint — "SUPIR changed my subject's face" — comes from too much restoration strength plus a vague prompt.
Describe what is actually there, not what you wish were there.
Lower the restoration strength until identity is stable, then nudge up for texture.
For faces, inspect eyes, mouth, hairline and skin marks separately. Additional generative face processing can also change identity; accept it only after comparing with the source.
Compare against the source at 100% zoom on key regions before accepting the result.
Optimization: Speed and VRAM
Memory: Requirements depend on output dimensions, precision, active models and implementation. Begin with the maintainer’s example and reduce output size if allocation fails. Use supported tiled VAE options; do not assume an 8–12 GB GPU can produce every target size.
Speed: it is slow by design — batch it. Generate and cull at low resolution, then SUPIR only the keepers.
When to use something lighter: compare a suitable conventional or neural upscaler for line art, logos and screenshots. Ultimate SD Upscale is a separate tiled diffusion workflow, so it can also introduce generative changes. Inspect fidelity rather than assuming a tool preserves every detail.
Keep the finishing chain inspectable
Start with one restoration pass. If you add another upscaler or img2img stage, save the intermediate image and compare it with the original before proceeding. Each generative pass can introduce new changes; extra stages do not guarantee better fidelity.
Conclusion
Choose SUPIR when you can review generated detail carefully. For text, logos or archival evidence, prioritize fidelity and keep the original. A plausible enhancement does not recover proof of information missing from the source.
Downloadable Workflow & References
|
Implementation and licensing checks
The Kijai wrapper README now points to native ComfyUI support and limits future wrapper maintenance. Choose an example that matches your installed implementation; legacy wrapper node names and native nodes are not interchangeable. For the wrapper, follow its requirements installation and model locations instead of mixing instructions from the original standalone application.
The original SUPIR project includes a non-commercial-use declaration. Check the model and software terms before using it for paid client deliverables. A downloadable model is not automatically licensed for commercial work.
Review one restoration before scaling up
- Keep an untouched source and record its dimensions.
- Save the workflow, model filenames, implementation version, prompt, seed and output size.
- Render a small baseline, then change one setting at a time.
- Compare matching crops of faces, lettering, straight lines and repeating textures.
- Reject invented letters, changed identity, tile seams or new objects even when the whole image looks sharper.
- Record the settings that worked for this input; do not generalize its memory use or speed to a different machine.
For the separate question of choosing an upscaler, see the SUPIR, CCSR and RealESRGAN comparison method.
