Load Upscale Model
Load an ESRGAN model for upscaling
- UPSCALE_MODEL
This is the little node that loads an upscale model off disk so another node can use it. On its own it does nothing visible - it reads a .pth file from your upscale_models folder and hands out an UPSCALE_MODEL object. It's the first half of the standard ESRGAN upscaling pair; ImageUpscaleWithModel is the half that actually touches your image.
Worth saying up front: even though you landed here from a custom-pack listing, UpscaleModelLoader is a core ComfyUI node. Its python_module is comfy_extras.nodes_upscale_model, so it ships with ComfyUI out of the box. In the menu it's Load Upscale Model, under model/loaders. Nothing to install.
How it works
There's exactly one input: model_name, a dropdown (COMBO) populated from whatever files sit in ComfyUI/models/upscale_models/. Pick one, and the node outputs a single UPSCALE_MODEL wire. That's the entire node. You drag that output into ImageUpscaleWithModel's upscale_model slot and you're done.
Because it's a loader, ComfyUI is smart about it - the model gets loaded once and cached, so re-running a workflow doesn't re-read it from disk every time.
Getting models into the dropdown
If the dropdown is empty or missing the model you want, that's a file-placement thing, not a node thing. Upscale models are trained super-resolution networks - the ESRGAN / Real-ESRGAN family, mostly - and you download the .pth yourself. The ones the community actually reaches for:
- 4x-UltraSharp - the general-purpose default. Clean without over-sharpening.
- Remacri and 4x_NMKD-Siax_200k - other well-regarded 4x general models.
- RealESRGAN_x4plus_anime_6B / 4x-AnimeSharp - for anime and line art.
OpenModelDB is the usual catalog. Drop the file in ComfyUI/models/upscale_models/, then either restart or hit refresh so the dropdown picks it up.
One thing to note: the "4x" in the name is the scale factor, and it's fixed. The model always multiplies by its native factor - this loader doesn't change that, and neither does the node it feeds. If you need a different final size you resize afterward.
Where it fits
This node is pure plumbing for the pixel-upscaler path - the fast, non-generative "just make it bigger" route. That's the correct tool when your image already has the detail you want and you only need more resolution. If the source is soft or damaged, no ESRGAN model recovers detail that was never captured; that's a generative-restoration job (SeedVR2, SUPIR) and a completely different part of the graph. Don't expect a loader-plus-model pair to fix a blurry photo - it'll just give you a bigger blurry photo.
Common issues & troubleshooting
Dropdown is empty. No files in ComfyUI/models/upscale_models/. Download a .pth, drop it there, refresh.
Model shows up but errors on load. Not every .pth labeled "upscaler" is an ESRGAN-architecture model this node understands. Stick to standard ESRGAN / Real-ESRGAN / SwinIR-family weights; exotic architectures may need their own custom loader.
Changed the file but the old one still loads. ComfyUI caches loaded models. Restart, or reload the workflow, to force a fresh read.
It loaded fine but nothing upscaled. This node only loads - it doesn't process anything. You need ImageUpscaleWithModel downstream to apply it to an image.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| UPSCALE_MODEL | UPSCALE_MODEL | — |