Icy LatentUpscale
Upscaling a Latent
- samples
- LATENT
IcyLatentUpscale resizes your latent before sampling. That's the entire trick, and it's the same trick behind half of ComfyUI's "hires fix" workflows: generate small, upscale the latent, then run a second, low-denoise pass to let the model paint in detail at the higher resolution. This is that step, packaged as one node.
The "Icy" here is the pack's privacy layer, not a different upscaler. IcyHider starts up by subclassing every core ComfyUI node - identical inputs, outputs, and behavior - and filing them under the IcyHider Comfy Core category so its JavaScript can cover the previews until you hover. IcyLatentUpscale is core LatentUpscale with a coat on. If you know the core node, you know this one.
The inputs that matter
From the info schema, there are five, and two deserve your attention:
samples- the LATENT to enlarge.upscale_method-nearest-exact,bilinear,area,bicubic, orbislerp. Bislerp is the one you want for most latent upscales; it's the method that behaves well in latent space.nearest-exactgives blocky but fast results, and the others are interpolation methods that can smear latent structure. When in doubt, bislerp.width/height- target size, default 512, step 8. Remember: these are latent dimensions, 8x smaller than the final image on each side. 512 here is a 4096px image.crop-disabledorcenter. Center crop is how you handle aspect-ratio drift when you upscale without matching dimensions.
Output is a single LATENT, ready for the sampler.
The standard pattern
This is step one of the two-pass upscale, which the KB's upscaling essay calls essential for anything above native resolution. Typical graph: generate at 512x512 (or whatever the model likes), LatentUpscale to 768 or 1024, then a second KSampler at denoise 0.3–0.5 to add detail without changing the composition. Too high a denoise and you get a different image; 0.3–0.5 is the sweet spot.
A genuinely useful tweak for a beginner: upscale 1.5–2x per step rather than jumping straight to huge sizes. And crop: center lets you upscale while shifting aspect ratio, which is how a square latent becomes a portrait or landscape without distortion.
Note this is not a substitute for real upscalers on finished images - ESRGAN models and generative upscalers like SUPIR are for after decoding, and they're a different category entirely. Latent upscale is specifically the pre-denoise detail pass.
Install and gotchas
Frontend-only pack, so no dependencies and no downloads:
# ComfyUI Manager: search "IcyHider", Install, restart
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/icekiub-ai/ComfyUI-IcyHider.git
# restart ComfyUI
Pack-wide notes: the cover is DOM-based, so the newer Nodes 2.0 canvas frontend may not hide previews, and the hiding is screen-only - a downstream SaveImage still writes the file. And since upscaling a latent multiplies sampler VRAM and time, batch sizes get expensive fast; that's a performance issue, not a bug.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | — | |
| upscale_method | COMBO | 5 options: nearest-exact, bilinear, area, bicubic, bislerp | |
| width | INT | 5120–16384 | — |
| height | INT | 5120–16384 | — |
| crop | COMBO | 2 options: disabled, center |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |