Choose Upscale Model
Switch between two upscalers with one boolean
- upscale_model_1
- upscale_model_2
- upscale_model
A purpose-built switch for upscale models. You load two upscalers, feed it a boolean, and it hands the chosen one downstream - true picks model 1, false picks model 2. It's the same "route one workflow two ways" idea as the pack's switches, narrowed to the specific case of swapping upscalers without rebuilding your graph.
Why a dedicated node instead of a generic switch? Because upscaler choice is one of the most common A/B decisions in a finishing workflow. Different models suit different content - a clean model like one of the RealESRGAN family for photos, something sharper or anime-tuned for illustration, a face-oriented model for portraits. Being able to flip between two candidates from a single toggle makes comparing them painless.
How it works
Two UPSCALE_MODEL inputs - upscale_model_1 and upscale_model_2 - each fed from a normal Load Upscale Model node. A boolean use_model_1 (default true) picks between them. The output is a single upscale_model you wire into your Upscale Image (using Model) node. True sends model 1, false sends model 2.
The natural companions are this pack's boolean nodes: drive use_model_1 from Boolean Basic for a clean labeled toggle, or from Boolean Reverse if you want it to track the inverse of some other decision in the graph.
The inputs and outputs that matter
upscale_model_1/upscale_model_2- your two loaded upscalers.use_model_1- the picker. True = model 1, false = model 2.upscale_model- the chosen model, out to your upscale node.
How to install it
ComfyUI Manager → search ControlAltAI Nodes → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/gseth/ControlAltAI-Nodes
then restart. The node has no dependencies, but the upscale models themselves are separate downloads - grab whatever ESRGAN-style .pth models you want from a source like OpenModelDB and drop them in ComfyUI/models/upscale_models.
Common issues
Both model inputs are required, so wire two loaders even if you mostly use one - leaving the unselected slot empty can error when the graph tries to resolve it. The use_model_1 mapping is the other thing to keep straight: true is model 1, so if your outputs look like the wrong upscaler ran, check the toggle first. Beyond that it's just a selector - it doesn't upscale anything itself, it only chooses which model your actual upscale node receives.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| upscale_model_1 | UPSCALE_MODEL | — | |
| upscale_model_2 | UPSCALE_MODEL | — | |
| use_model_1 | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| upscale_model | UPSCALE_MODEL | — |