Nodes/Comfyui FOCUS nodes/⚜️ FOCUS Upscale
ComfyUI Node

⚜️ FOCUS Upscale

Your upscale model's native scale, resized to what you actually asked for

By DJ-Tribefull·Created 2 years ago·Updated 2 years ago· 7
⚜️ FOCUS Upscale
  • image
  • IMAGE
upscale_model
scale_factor2.00
resampling_method

Upscale models don't take a "please upscale by 2x" request - they were trained at a fixed multiplier, usually 4x, and that's what they output no matter what you actually wanted. Normally that means two nodes: an upscale-by-model step, then a separate resize to get back to the number you actually needed. FOCUS Upscale folds both into one.

How it works

Straight from the README: "Scale_factor is based on the resolution of the input image, so if your upscale model wants to 4x it, this node will first do the upscale then downscale it to 2x (if you have the scale_factor set to 2)." It runs your loaded model at whatever its native multiplier is, then resizes the result down to hit your actual scale_factor using your chosen resampling method. One node, the arithmetic handled for you.

What it is, taxonomically

This sits squarely in the non-generative pixel-upscaling tier: ESRGAN-family models, no diffusion pass, adds no content, can't hallucinate detail, and runs fast. That's a real, distinct category from generative restorers like SUPIR or SeedVR2, which repaint detail that was never in the source. If your image is already sharp and you just need more pixels, this tier - and this node - is the right tool. If your source is soft, damaged, or you want the model to invent texture that isn't there, you want something generative instead.

That distinction actually answers a question that went unanswered in the pack's own launch thread on r/comfyui, where someone asked whether FOCUS Upscale is any different from Ultimate SD Upscale. It is, and substantially: Ultimate SD Upscale tiles the image and re-runs diffusion on each tile - it's generative, needs a checkpoint and sampler, and adds detail. FOCUS Upscale is a plain model-upscale-then-resize with zero diffusion involved anywhere in the pipeline.

Inputs and outputs that matter

  • image - the image to upscale.
  • upscale_model - an enum reading whatever's already installed in your models/upscale_models folder. This pack doesn't ship a model of its own.
  • scale_factor - your actual target multiplier, 0.01 to 16 in steps of 0.25, default 2. Independent of whatever multiplier your loaded model was trained at.
  • resampling_method - lanczos, nearest, bilinear, or bicubic, used for the downscale step. This is doing real work here, not just cosmetic resizing, since it's the step reconciling your model's native output size with what you asked for.

Output is a single IMAGE.

Installing it

Via ComfyUI Manager: search Comfyui FOCUS nodes, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes

Restart ComfyUI. You'll need an actual upscale model file - the community favorite for general use is 4x-UltraSharp - dropped into models/upscale_models. The pack itself ships no weights.

Common issues & troubleshooting

upscale_model dropdown is empty. No models installed. Grab one and restart; this node reads the same folder ComfyUI's stock upscale nodes do.

Result looks softer than expected. You're downscaling from the model's native output, so resampling_method matters more here than in a typical resize - lanczos is generally the sharpest of the four options and worth trying first if detail feels lost.

You expected it to add detail and it didn't. Correct behavior, not a bug - this is the non-generative tier. For a source that needs real restoration rather than just more pixels, that's a different class of tool entirely.

Category⚜️ Focus Nodes/Image/Upscaling

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
upscale_modelCOMBO0 options:
scale_factorFLOAT2.000.01–16
resampling_methodCOMBO4 options: lanczos, nearest, bilinear, bicubic

Outputs (1)

NameTypeDescription
IMAGEIMAGE