Image Scale By Factor (WLSH)
Resize by a multiplier, no model involved
- original
- IMAGE
"Upscaling" gets used for two completely different jobs, and it's worth being clear about which one this node does before you reach for it. There's more detail - a generative model inventing plausible texture and edges that weren't in the source, the SUPIR/SeedVR2 kind of work. And there's more pixels - no invention, no hallucination, just a bigger (or smaller) version of exactly what you already have. This node is squarely the second job. It multiplies your image's dimensions by a factor using a classic interpolation method, runs in milliseconds, and adds nothing that wasn't already there.
How it works and what the method choice actually changes. You give it an original image, an upscale_method, and a factor (0.1 to 8, default 2). The three methods are the same interpolation kernels you'd find in any image tool: nearest-exact just duplicates the nearest source pixel - fast, blocky, and the right call if you're scaling pixel art or a mask where you don't want blending. bilinear smooths between neighboring pixels - the sane general-purpose default for most photographic content. area averages pixels together, which is specifically the better choice when you're downscaling (factor below 1) since it avoids the aliasing/moiré that nearest and bilinear can introduce when you're throwing away more pixels than you keep.
Where this actually earns a spot in a real workflow: downscaling a soft or oversized source before a generative upscale pass - there's genuine value in getting an image down to a smaller, sharper-relative size before asking a model like SeedVR2 to add detail back in, rather than feeding it something huge and soft. It's also the right tool for a quick preview resize, or normalizing an odd-resolution image before it hits a node with strict size expectations. It is emphatically not the tool if what you actually want is more detail - that's a different, heavier job, and no factor or method setting here will get you there.
Installing it
ComfyUI Manager: search "wlsh_nodes" (or "WLSH Nodes") and install. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/wallish77/wlsh_nodes, then restart ComfyUI. No models, nothing extra to fetch - this is pure math on pixels you already have.
Common issues
The main way people get burned is expecting quality gains that non-generative resizing simply cannot produce - if your image looks soft after scaling up with factor > 1, that's not a bug, that's the honest ceiling of interpolation; every upscale method here can only redistribute pixels you already had, never invent new ones. If you're chasing sharper detail rather than just a size change, this node isn't the wrong choice so much as the wrong job - pair it with (or replace it with) a model-based upscaler instead. The other thing to watch: at extreme factors (well above 4 or well below 0.2) you can end up with dimensions that downstream nodes choke on, particularly anything expecting sizes divisible by 8 or 64 for VAE encoding - round your target size to a sane multiple if you're feeding the result back into a sampler.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| original | IMAGE | — | |
| upscale_method | COMBO | 3 options: nearest-exact, bilinear, area | |
| factor | FLOAT | 2.00.1–8 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |