๐ฆ RS Upscaler
Upscale model + resize in one node, without nuking your VRAM
- image
- IMAGE
Upscaling in stock ComfyUI is two nodes: Load Upscale Model, then Image Upscale With Model - and the moment you want an exact target factor that isn't a clean multiple of the model's output, you add a third (ImageScale) to fix the size. RS Upscaler merges all of that into one compact node with a custom UI: pick the upscale model, set your target factor, and it runs the neural model and then resizes to the exact scale you asked for, using tiled_scale internally so big images don't blow your VRAM. It's the "just upscale it" node.
How it works
The key design decision is two-stage upscaling. A 4x ESRGAN model always outputs exactly 4x - it can't give you 2.3x. This node first runs the neural upscale model, then resizes the result to your exact upscale_x using an interpolation method you choose. So you get the detail-add from a trained model and an exact target size in one shot, no extra ImageScale node.
The inputs:
image- what you're upscaling.upscale_model- the dropdown of models in yourmodels/upscale_modelsfolder. Tested against the usual suspects:4x-UltraSharp.pth,4x_Foolhardy_Remacri.pth,RealESRGAN_x4plus.pth.upscale_method- the interpolation for the second stage:nearest-exact,bilinear,area,bicubic, orlanczos. Lanczos is the usual pick for the resize step.upscale_x- the final target factor, 0.1x to 8x. Set it to 4 for a clean 4x, or 2.5 because your canvas layout demands exactly that.
The single output is IMAGE - wire it to a save node, or feed it onward for a detail pass.
Which upscale model should you load?
The KB's upscaling guidance applies here directly. If the source already has the detail you want and you just need pixels, the classic ESRGAN-family models are the right answer - 4x-UltraSharp for general use, Remacri when you want a cleaner, less crunchy result. Those run in milliseconds and can't hallucinate content. What this node is not is a generative restorer like SUPIR or SeedVR2 - it won't invent pores or repair heavy compression damage. For "my 1024 render needs to be a 2048 render," it's exactly right.
Common issues
- The
upscale_modeldropdown is empty - you don't have any upscale models inmodels/upscale_models/. Download a.pthlike4x-UltraSharp.pthinto that folder and refresh; ComfyUI picks them up on restart. - VRAM overflow on huge images - the node tiles internally, which handles most of it, but a 4K source at 4x is still a lot of pixels. Lower
upscale_xor upscale in stages. - Upscaling is the wrong tool - if the image is soft or out of focus, no ESRGAN model will recover detail that isn't there. Clean sources only; that's the honest division of labor in this space.
Installing it
Part of the RaykoStudio pack. ComfyUI Manager โ search ComfyUI_RaykoStudio โ install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Raykosan/ComfyUI_RaykoStudio
Restart ComfyUI. Dependencies (pycairo, opencv-python, scipy, Pillow>=10) come via Manager; a manual clone needs pip install -r requirements.txt. Apache 2.0, tested on ComfyUI 0.15+, Python 3.10+, Torch 2.8+.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | โ | |
| upscale_model | COMBO | 0 options: | |
| upscale_method | COMBO | nearest-exact | 5 options: nearest-exact, bilinear, area, bicubic, lanczos |
| upscale_x | FLOAT | 2.000.1โ8 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | โ |