Upscale Select
Use the Dropdown
- upscale_name
If your upscale chain starts with you hand-typing 4x-UltraSharp.pth into a loader, you're two keystrokes from a typo that silently ruins the run. Upscale Select (class PgUpscaleSelect) is a one-trick dropdown that lists every upscale model ComfyUI can see and passes your pick downstream. That's all it does, and honestly that's the point.
It belongs to PG Nodes by Piotr Gredka (GizmoR13), a small MIT-licensed utility pack the author started building two months into learning ComfyUI to fix things that annoyed him. It's not an ecosystem pillar like rgthree or Impact Pack - the Select suite is the quietly useful part of a personal toolbox, and this node is the most reliable member of it. No inference, no VRAM, no model files to download: just plumbing.
Why a dropdown beats a text field
ComfyUI loaders take model filenames as plain strings, and nothing stops you typing them wrong. "Which upscaler am I using this run?" is a real decision you make constantly, because the answer genuinely depends on your source: a sharp image just wants more pixels (4x-UltraSharp, Remacri), an anime image wants a model trained for it (RealESRGAN_x4plus_anime_6B, 4x-AnimeSharp), and a soft or damaged image wants a whole different, generative class of upscaler that this node won't help with at all. A dropdown means you click, not remember spelling.
There's a distinction worth stating: this node picks the model file, not the method. Choosing between "4x-UltraSharp" and "Lanczos" is a different control, and the two do different jobs - plain pixel upscalers add no content and can't hallucinate, while generative upscalers invent detail and will happily rewrite a face. The dropdown just makes the first, safer kind easy to swap around.
How it works
At import time the node asks ComfyUI's folder_paths registry what upscale models exist - it tries the upscale_models, upscale, upscalers and realesrgan keys to be tolerant of how other packs name things - and builds the dropdown from what it finds. Its process() function then does nothing but hand the string back. You get the filename you picked, exactly as it appears on disk, which is the whole benefit: the string is guaranteed correct because ComfyUI generated it.
The input and output that matter
There's exactly one of each, both named upscale_name. The dropdown in, the filename string out.
Wire that output into the upscale_model input of ComfyUI's Upscale Model Loader, or into the "Upscale model" slot of PG Nodes' own Unified Loader, and you're done. Drop a new upscaler into your models folder, pick it in the dropdown, rerun.
Installing it
Same steps as the rest of the pack - no extra dependencies, nothing to download besides ComfyUI itself.
ComfyUI Manager → search "PG Nodes" → Install → Restart
Or, manual:
cd ComfyUI/custom_nodes
git clone https://github.com/GizmoR13/PG-Nodes
# restart ComfyUI, then search for "Upscale Select" under the PG/Select category
The upscaler files themselves are on you: put them in ComfyUI/models/upscale_models/ and the dropdown will see them.
Where people get burned
The dropdown is built once, at startup. Drop a new .pth into upscale_models mid-session and it won't appear until you refresh the page or restart ComfyUI - don't go hunting for a refresh button, just reload. And if the dropdown is empty entirely, your files aren't in a folder ComfyUI scans; they need to live under models/upscale_models, not anywhere you feel like. One more: the plain PgUpscaleSelect has no "none" option. If you need an off position - the none choice that skips upscaling - grab the "Upscale Select (Uni)" variant, which exists for the Unified Loader. For a filename-picking node, that's the whole troubleshooting list.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| upscale_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| upscale_name | — |