Nodes/comfyui-mudknight-utils/Combined Upscale (Model + Scale)
ComfyUI Node

Combined Upscale (Model + Scale)

A model upscaler that lands on an exact target size

By mudknight·Created 8 months ago·Updated 2 months ago· 1
Combined Upscale (Model + Scale)
  • image
  • IMAGE
upscale_model_name
scale_factor1.0
upscale_method

Upscaling models have a quirk that annoys everyone eventually: they upscale by a fixed factor. A 4× ESRGAN model takes your 1024×1024 to 4096×4096 - and only that. If what you actually wanted was a 2× image for a detail pass, or a specific print size, you're stuck doing a model upscale followed by a resize to get back down. Combined Upscale (Model + Scale) is the one-node version of that two-step dance, and it's built around a useful subtlety: the target size is computed from the original image, not the model's output.

The mechanism, straight from the source: it loads your upscale model, runs ImageUpscaleWithModel on the input, then rescales that result to original_width × scale_factor by original_height × scale_factor using your chosen upscale_method. So with scale_factor at 0.5, a 4× model becomes a clean 2× upscale - the model does the heavy lifting of adding detail, and the resize brings it back to a usable size. It's the difference between "bigger" and "bigger, but exactly as big as I asked for."

The inputs that matter

  • upscale_model_name - dropdown from your ComfyUI/models/upscale_models/ folder. The usual ESRGAN-family suspects (4x-UltraSharp, 4x_NMKD-Siax for anime, RealESRGAN variants) all work; the node handles both the standard and module.-prefixed state dict formats.
  • scale_factor (default 1.0, range 0.1–16) - the multiplier against the original dimensions. Below 1.0 you're effectively downscaling the model output; above 1.0 you're combining model detail with additional scaling.
  • upscale_method - the resize algorithm for the final rescale (lanczos, bicubic, bilinear, area, nearest-exact). Lanczos is the usual default for clean results.

Output is a single IMAGE.

When you'd reach for it

The KB's upscaling guide splits the job into "more pixels" vs "more detail" - this node is firmly in the detail camp, letting a generative model invent plausible detail at a resolution you control. The natural use is detail-pass prep: upscale a small render to 2× with a model, feed that to a detailer, and the result stays under your VRAM budget instead of exploding to a 4× canvas. It's also the answer when a workflow gives you a "scale by factor" widget but your upscale is model-based.

Installing it

In mudknight-utils - ComfyUI Manager (search comfyui-mudknight-utils) or:

cd ComfyUI/custom_nodes
git clone https://github.com/mudknight/comfyui-mudknight-utils

No extra node packs; you need the upscale model file itself in models/upscale_models/.

Where people get burned

The trap is forgetting that model upscaling is generative in the "more detail" sense: it will happily invent or alter fine structure, and on faces that means the identity can drift - the upscaling KB is blunt that every generative rung rewrites faces, so give recognisable faces their own pass afterward. And if you pick scale_factor 1.0 with a 4× model expecting a no-op, you'll get exactly one 4× pass then a downscale back to 1× - that's detail-for-nothing, usually worth it, but know that's what's happening.

Categorymudknight/upscaling

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
upscale_model_nameCOMBO0 options:
scale_factorFLOAT1.00.1–16
upscale_methodCOMBO5 options: nearest-exact, bilinear, area, bicubic, lanczos

Outputs (1)

NameTypeDescription
IMAGEIMAGE