π CR Upscale Image
The one-node upscaler in Comfyroll's Essential set
- image
- IMAGE
- show_help
Comfyroll's upscale system has a stacking version - CR Multi Upscale Stack plus CR Apply Multi Upscale, for chaining several models and resize steps in sequence - and this is the simpler sibling for when you just need to make one image bigger with one model or one target size. It lives in the pack's "Essential" category for exactly that reason: it's the node most people actually reach for first.
Set expectations before you use it: this is pixel upscaling, not a generative restorer. It resamples and enlarges with a trained model; it doesn't invent detail that wasn't in the source the way SUPIR or SeedVR2 do. On an already-sharp image that's the right and cheap tool. On a soft or degraded source, it'll just give you a bigger version of the same softness.
How it works
Two modes decide how the target size gets set. rescale multiplies the input by rescale_factor (0.01β16, default 2) - straightforward, scale-relative sizing. resize instead targets resize_width directly (1β48000, default 1024); there's no separate height field, because the node computes height automatically to preserve the source's aspect ratio, then snaps the final dimensions to a clean multiple using rounding_modulus (default 8) so downstream nodes don't choke on odd sizes.
upscale_model picks which trained model actually does the enlargement - it's a dropdown populated from whatever you've dropped into your models folder, so it's empty until you've added at least one. resampling_method (lanczos, nearest, bilinear, bicubic) controls the resampling algorithm used alongside the model step; lanczos is the sharp general default, nearest is for hard-edged pixel art you don't want smoothed. supersample (true/false) renders larger internally before scaling down for a cleaner result, at the cost of more compute.
The inputs that matter
image- the picture to enlarge.upscale_model- your chosen model, read from the models folder.mode-rescale(multiply by a factor) orresize(target a specific width).rescale_factor/resize_width- whichever matches your chosen mode.resampling_method- lanczos, nearest, bilinear, or bicubic.supersample- quality/compute tradeoff toggle.rounding_modulus(default 8) - keeps final dimensions clean; leave it unless something downstream needs a specific alignment.
Output: the upscaled IMAGE, plus show_help.
How to install it
ComfyUI Manager - search "Comfyroll Studio", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
then restart. The node itself needs no extra dependencies, but you do need actual upscale model files - ESRGAN-family .pth files like 4x-UltraSharp or Remacri are the common picks - dropped into ComfyUI/models/upscale_models before upscale_model has anything to select.
Common issues
upscale_model dropdown is empty. This is expected until you've put at least one .pth file into ComfyUI/models/upscale_models and restarted or refreshed. There's no bundled model.
Output looks bigger but not actually better. That's the pixel-upscaling ceiling - it can sharpen and enlarge, but it can't add detail that wasn't in the source. A soft or genuinely damaged source needs a generative restorer instead; this node isn't the wrong tool exactly, just the wrong job for that source.
Out of memory on a high rescale_factor. The range goes up to 16x, but that's a ceiling, not a sane target - a large source image at even 4x can blow past a modest card's VRAM. Scale to the size you actually need, and consider resize mode with an explicit target width if you want tighter control.
If the pack fails to load entirely, check your ComfyUI console for Comfyroll Studio: Failed to load ... nodes - commonly a Pillow version conflict from another custom node - and reinstall Pillow or update Comfyroll through Manager.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| upscale_model | COMBO | 0 options: | |
| mode | COMBO | 2 options: rescale, resize | |
| rescale_factor | FLOAT | 2.000.01β16 | β |
| resize_width | INT | 10241β48000 | β |
| resampling_method | COMBO | 4 options: lanczos, nearest, bilinear, bicubic | |
| supersample | COMBO | 2 options: true, false | |
| rounding_modulus | INT | 88β1024 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |
| show_help | STRING | β |