Nodes/ComfyUI_Eclipse/Image Upscale w/wo Model
ComfyUI Node

Image Upscale w/wo Model

Upscale with a model, without a model, and sharpen on the way out

By r-vage·Created 10 months ago·Updated a day ago· 31
Image Upscale w/wo Model
  • image
  • image
model_nameNone
upscale_by0.00
resamplinglanczos
resolution_steps8
sharpen_enabledfalse
sharpen_amount5.0
sharpen_ratio0.5
noise_radius7
preserve_edges0.75

The v2 of Eclipse's one-node upscaler is what the first one should have been if you need anything beyond "make it bigger." It takes the same Load Upscale Model + Upscale Image Using Model + Upscale Image By fusion, then adds three things: a no-model path (plain resampling when you don't pick an upscale model at all), VAE-safe dimension rounding, and a built-in Smart Sharpen. If you've ever upscaled a 4× result and immediately noticed the pixels got soft, the sharpening stage is the feature that pays for itself.

The "w/wo Model" thing, decoded

The name is the feature. model_name defaults to None, which means the node runs as a pure resampling upscaler - nearest, bilinear, bicubic, lanczos - with no model involved at all. That's the "without model" mode: cheap, instant, no hallucination risk, useful when the source already has the detail and you just need pixels. Pick a real upscale model from models/upscale_models/ and it runs the model path instead, exactly like the plain v1 node. Same upscale_by semantics too: 0 = the model's native scale (4× for a 4× model), anything else = an exact target multiplier applied with the resampling filter.

Why the resolution_steps input exists

resolution_steps (default 8) rounds the final width and height to the nearest multiple of that number. This is a VAE-compatibility thing: SDXL and most models want multiples of 8, and some architectures demand 64. If you've ever upscaled to a weird dimension and watched the next VAE encode throw an error, this is the guardrail. Leave it at 8 unless you know your model wants 64.

The sharpen stage

When sharpen_enabled is on, the node runs a "Smart Sharpen": bilateral filtering for noise reduction plus a kornia sharpness pass, blended by sharpen_ratio (1.0 = purely sharpened, 0.0 = purely blurred), with preserve_edges deciding how much edge detail survives the noise reduction and noise_radius controlling the bilateral blur radius (set to 1 to skip the blur entirely). The defaults - amount 5, ratio 0.5, radius 7, preserve 0.75 - are sane starting points; you'll most likely just nudge sharpen_amount.

One real gotcha the source is upfront about: the sharpen stage imports kornia, and kornia is not in the pack's requirements.txt. If you enable it without kornia installed, the node raises an ImportError with an install hint. The fix is one line:

pip install kornia

into the same Python environment that runs ComfyUI (for a portable install, python_embeded\python.exe -m pip install kornia). Everything else - upscale models in models/upscale_models/, the rest of the pipeline - is the same as v1.

When to reach for which

Honestly, most people want v2, not v1. The plain v1 is a fine minimal node, but v2 does everything v1 does plus the sharpening and dimension rounding for the same install cost - they're in the same pack. The only reason to prefer v1 is if you want the absolute least number of knobs on screen. And if you're thinking "shouldn't I be using a generative upscaler for this?" - remember the split: model/resampling upscalers add pixels, generative restorers add invented detail. This node is the fast, safe, ESRGAN-family end of that spectrum.

Install

Ships with the whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_Eclipse

or search ComfyUI_Eclipse in ComfyUI Manager, then restart. Drop .pth/.safetensors upscale models into models/upscale_models/. Output is an IMAGE list, ready to feed a VAE encode, a Save node, or the next stage of your pipeline.

Category🌒 Eclipse/ Image/Transforms

Inputs (10)

NameTypeDefaultDescription
imageIMAGE
model_nameCOMBONoneUpscale model from models/upscale_models/. Models run at their native scale (e.g. 4× for RealESRGAN x4).
upscale_byFLOAT0.000–16Target output multiplier relative to the original input size. 0.0 = keep the model's native output (e.g. 4× for a 4× model). Any other value rescales the model output to the exact target dimensions.
resamplingCOMBOlanczosResampling filter used for the optional post-model rescale step. Only applied when upscale_by > 0 and target size differs from model output.
resolution_stepsINT81–256Round target width and height to the nearest multiple of this value. VAE compatibility requires multiples of 8; some models/architectures require 64.
sharpen_enabledBOOLEANfalseEnable post-upscale Smart Sharpen filter (using bilateral filtering and contrast sharpness).
sharpen_amountFLOAT5.00–25Amount of sharpness enhancement to apply.
sharpen_ratioFLOAT0.50–1Blending ratio between the sharpened image and bilateral-blurred image (1.0 = purely sharpened, 0.0 = purely blurred).
noise_radiusINT71–25Bilateral filter noise reduction radius. Set to 1 to disable noise reduction blur.
preserve_edgesFLOAT0.750–1Edge preservation threshold (higher = keep more sharp edges during noise reduction).

Outputs (1)

NameTypeDescription
imageIMAGE