Nodes/UltimateSDUpscale/Ultimate SD Upscale (No Upscale)
ComfyUI Node Runs on cloud

Ultimate SD Upscale (No Upscale)

The tiled detail pass, minus the enlarge step

By ssitu·Created 3 years ago·Updated about a month ago· 1,534
Ultimate SD Upscale (No Upscale)
  • upscaled_image
  • model
  • positive
  • negative
  • vae
  • IMAGE
seed0
steps20
cfg8.00
sampler_name
scheduler
denoise0.20
mode_type
tile_width512
tile_height512
mask_blur8
tile_padding32
seam_fix_mode
seam_fix_denoise1.00
seam_fix_width64
seam_fix_mask_blur8
seam_fix_padding16
force_uniform_tilestrue
tiled_decodefalse
batch_size1

This is UltimateSDUpscale with the front half chopped off. The regular node does two things: enlarge your image with an ESRGAN model, then repaint it in tiles. UltimateSDUpscaleNoUpscale skips the enlarge and does only the tiling. You hand it an image that's already at the size you want, and it runs the low-denoise, tile-by-tile img2img pass to add real detail. Same seam handling, same coherence, no built-in upscale step.

Why would you want that? Because the ESRGAN enlarge inside the main node is fine but not always what you'd pick. Maybe you enlarged with a latent upscale, or a specific chain of ESRGAN models, or a totally different tool like SeedVR2, and you just want the tiled detail pass on top of that. This node decouples the "make it bigger" decision from the "add detail" decision, which is exactly the multi-stage philosophy the community converged on for maximum quality: get your pixels however you like, then refine.

How it works

It's the second stage of Ultimate SD Upscale, standing alone. The image comes in already big. The node splits it into overlapping tiles (512x512 by default, ideally matching your model's native resolution), runs img2img on each tile at low denoise so the model paints in texture and fine detail it couldn't at full canvas size, then blends the tiles back with a seam fix. Because it never enlarges anything, whatever resolution you feed it is the resolution you get back, detailed.

The inputs and outputs that matter

The one input that separates this node from its sibling is the very first one:

  • upscaled_image (required, IMAGE): the already-enlarged image you want detailed. Note the name. There is no image input and no upscale_by or upscale_model here, because this node doesn't resize anything. Whatever comes in at 4K goes out at 4K.
  • denoise (default 0.2): still the dial that matters most. It sets how much each tile is allowed to change. Keep it low (0.15 to 0.3) so tiles stay faithful and coherent.

Everything else is the standard sampler block, model, positive, negative, vae, seed, steps, cfg, sampler_name, scheduler, plus the tiling controls (tile_width, tile_height, mask_blur, tile_padding) and the seam-fix group (seam_fix_mode, seam_fix_denoise, seam_fix_width, seam_fix_mask_blur, seam_fix_padding). The single output is one IMAGE. A typical graph: your generation, then an upscale of your choosing (Upscale Image By, an ESRGAN node, a latent upscale), then this node, then Save.

Installing it

It ships in the same pack as the rest of the Ultimate SD Upscale nodes. In ComfyUI Manager, open the Custom Nodes Manager, search "UltimateSDUpscale", install, and restart. Or from a terminal:

cd ComfyUI/custom_nodes
git clone https://github.com/ssitu/ComfyUI_UltimateSDUpscale

then restart ComfyUI. No heavy dependencies, and the pack ships no models. The nodes appear under image/upscaling.

Common issues and troubleshooting

Since this is the same img2img engine as the main node, it has the same failure modes. Push denoise too high and you get the classic tiled-upscale problems: random faces hallucinated into busy texture, and visible seams and patchwork where tiles disagree with each other. The cure is the same, drop denoise back toward 0.2, and if seams remain, raise mask_blur/tile_padding and pick a Half Tile seam_fix_mode.

The one gotcha unique to this node is remembering what it doesn't do. If you feed it a small image expecting it to come out bigger, you'll get a small image back with a bit more detail, and probably wonder where your upscale went. There isn't one. Put the enlarge step before this node. If you'd rather have the ESRGAN upscale built in and handled for you, reach for the plain UltimateSDUpscale node instead; use this one specifically when you want to own the enlargement yourself.

Categoryimage/upscaling

Inputs (24)

NameTypeDefaultDescription
upscaled_imageIMAGEThe image to upscale.
modelMODELThe model to use for image-to-image.
positiveCONDITIONINGThe positive conditioning for each tile.
negativeCONDITIONINGThe negative conditioning for each tile.
vaeVAEThe VAE model to use for tiles.
seedINT00–18446744073709550000The seed to use for image-to-image.
stepsINT201–10000The number of steps to use for each tile.
cfgFLOAT8.000–100The CFG scale to use for each tile.
sampler_nameCOMBOThe sampler to use for each tile.
schedulerCOMBOThe scheduler to use for each tile.
denoiseFLOAT0.200–1The denoising strength to use for each tile.
mode_typeCOMBOThe tiling order to use for the redraw step.
tile_widthINT51264–8192The width of each tile.
tile_heightINT51264–8192The height of each tile.
mask_blurINT80–64The blur radius for the mask.
tile_paddingINT320–8192The padding to apply between tiles.
seam_fix_modeCOMBOThe seam fix mode to use.
seam_fix_denoiseFLOAT1.000–1The denoising strength to use for the seam fix.
seam_fix_widthINT640–8192The width of the bands used for the Band Pass seam fix mode.
seam_fix_mask_blurINT80–64The blur radius for the seam fix mask.
seam_fix_paddingINT160–8192The padding to apply for the seam fix tiles.
force_uniform_tilesBOOLEANtrueForce all tiles to be the same as the set tile size, even when tiles could be smaller. This can help prevent the model from working with irregular tile sizes.
tiled_decodeBOOLEANfalseWhether to use tiled decoding when decoding tiles.
batch_sizeINT11–4096The number of tiles to process in a batch. Higher values can reduce processing time but use more VRAM. Yields different results than individual tiles. Only affects the main redraw step, not the seam fix step.

Outputs (1)

NameTypeDescription
IMAGEIMAGEThe final refined image.