Nodes/SP-Nodes/SP_Supir
ComfyUI Node

SP_Supir

SUPIR restoration-upscale, collapsed into one node

By bananasss00·Created 2 years ago·Updated 6 days ago· 20
SP_Supir
  • model
  • clip
  • vae
  • image
  • supir_sampler
  • image
  • denoised_image
supir_model
fp8_unetfalse
vae_tile_size0
sampler_tile_size0
positive_prompthigh quality, detailed
negative_promptbad quality, blurry, messy
steps45
cfg_scale_start4.00
cfg_scale_end4.00
s_noise1.003
control_scale_start1.00
control_scale_end1.00
seed123
color_matchtrue

SUPIR is the model that reframed upscaling as a restoration problem instead of a sharpening one - it doesn't just add pixels, it repairs compression artifacts, noise and blur while it scales, running an SDXL backbone underneath. It was the reputation-defining "best restoration tool, very demanding on hardware" answer through 2024 and into 2025, and while SeedVR2 has since taken over as the default general-purpose pick, SUPIR is still the one to reach for when a source is genuinely degraded - an old scan, a heavily compressed photo, something with real damage to fix rather than just detail to add. SP_Supir is SP-Nodes' way of running that whole pipeline as one node instead of wiring together a handful of separate ones.

What it does

It's filed under the pack's "Group Nodes" category, which tells you something useful: this isn't hand-written restoration code, it's a bundle of the SUPIR pipeline's steps packaged into a single node so you don't have to assemble them yourself every time. You feed it model, clip, vae, and image, plus a supir_sampler - which comes from one of the pack's separate sampler-config nodes (SP_SupirSampler_DPMPP2M is the one covered in this pack) - and a supir_model picked from a dropdown populated from whatever SUPIR checkpoint you've got installed.

Two things are worth knowing before you touch a single slider. First, there's no automatic image-captioning input here - the reference SUPIR implementation conditions its restoration on an LLaVA-generated caption of your image, but this node has no caption field, only positive_prompt and negative_prompt text boxes you fill in yourself. You're the caption model. Second, color_match (on by default) runs a color-correction pass against the source, because a restoration model reworking texture and detail will drift the color palette if you don't pull it back.

The inputs that actually matter to a beginner

  • steps (default 45) and cfg_scale_start/cfg_scale_end (both default 4) - SUPIR runs a CFG schedule that can ramp between a start and end value across the sampling run, rather than one fixed number the whole way through.
  • positive_prompt/negative_prompt - defaults of "high quality, detailed" and "bad quality, blurry, messy" work as a baseline, but since there's no auto-captioning, a more specific description of what's actually in your image will get you further.
  • fp8_unet, vae_tile_size, sampler_tile_size - your VRAM knobs. SUPIR's own documentation puts minimum VRAM around 12GB for the diffusion side alone; drop into fp8 and turn on tiling (values above 0, stepping in 64s) if you're short on headroom or working on a large image.

Two outputs come back: image and denoised_image - expect the first to be the fully post-processed result (color-matched) and the second to be closer to the model's raw output before that correction, useful if you want to compare or do your own color grading instead.

Installing it

  • ComfyUI Manager: search "SP-Nodes", install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/bananasss00/ComfyUI-SP-Nodes, restart.

The pack's own README doesn't spell out a separate model-download step for this node, but the supir_model dropdown is only populated once you actually have a SUPIR checkpoint in place - expect to source one yourself (the official weights are the Fanghua-Yu/SUPIR release) and drop it wherever your ComfyUI install's SUPIR-related nodes expect it. Read that checkpoint's license before using it commercially: SUPIR's weights are released strictly non-commercial, with paid use requiring written permission from the author.

Troubleshooting

If supir_model shows an empty dropdown, that's a missing checkpoint, not a bug in this node - go find and place the SUPIR weights first. If you're restoring a photo of someone you recognize, know going in that SUPIR doesn't preserve identity - it invents a plausible face because it has no idea who's actually in the photo, and that's a design property of the model, not a setting you can fix. Keep faces out of the SUPIR pass on personal photos and handle them separately. And if results look softened or over-smoothed compared to what you expected, that's the most commonly reported gap between SUPIR showcase results and first-run results - it's a model that rewards a workflow tuned to your source, not a one-click fix.

CategorySP-Nodes/Group Nodes

Inputs (19)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE
imageIMAGE
supir_samplerSP_SupirSampler
supir_modelCOMBO0 options:
fp8_unetBOOLEANfalse
vae_tile_sizeINT00–2048
sampler_tile_sizeINT00–2048
positive_promptSTRINGhigh quality, detailed
negative_promptSTRINGbad quality, blurry, messy
stepsINT453–100
cfg_scale_startFLOAT4.000–100
cfg_scale_endFLOAT4.000–100
s_noiseFLOAT1.0031–1.1
control_scale_startFLOAT1.000–10
control_scale_endFLOAT1.000–10
seedINT1230–18446744073709550000
color_matchBOOLEANtrue

Outputs (2)

NameTypeDescription
imageIMAGE
denoised_imageIMAGE