Model Switch
Swap diffusion models on the fly, no re-downloading
- Model_1
- Model_2
- Model
- Selection
Model Switch is the two-in, one-out router for MODEL tensors - the actual denoiser that turns noise into your image. Load two checkpoints, pick which one does the sampling with a 1-or-2 flip. It's the node for "I want to see what this prompt does on two different models without building the graph twice."
Why you'd reach for it
The MODEL is the heavyweight: the UNet or DiT that does the actual denoising work. Its sister concepts - CLIP (text encoder) and VAE (latent codec) - are separate objects in ComfyUI, and this pack gives you a switch for each. Model Switch is the one you use when the generator is what you're comparing: two checkpoints that share a VAE and prompt style, a base model vs its distilled turbo version, or two finetunes of the same family.
The practical win is that you can keep both models loaded and wired, then A/B test by flipping one dropdown instead of reloading and reconnecting. That's real convenience if you're sampling the same prompt across models to pick a winner. If you're on SDXL-family finetunes, the sampler pair that's good for one is usually good for the other, so the comparison stays apples-to-apples.
How it works
The standard switch pattern:
case 1: return (Model_1, Selection,)
case 2: return (Model_2, Selection,)
Inputs:
- Selection - 1 or 2. An INT, so a Logic Compare or random seed can drive it.
- Model_1 and Model_2 - MODEL objects from checkpoint loaders or LoRA-loaded chains.
Outputs:
- Model - the chosen model, into your KSampler.
- Selection - passed through so downstream can tell which model ran.
Where people get burned
Model_2 is optional, same trap as every switch here - pick 2 with nothing wired and you'll hand a None to the sampler, which fails ungracefully. Wire both loaders.
And the big one for this node specifically: the unselected model still loads and occupies VRAM. Both branches are computed, and both checkpoints sit in memory for the whole run. On a tight GPU that can be the difference between "it works" and an OOM crash that has nothing to do with your actual model choice. If memory is tight, switches across models are not your friend - load one model at a time instead.
Also worth stating: switching models doesn't change your sampler settings or prompt encoding. Those come from other nodes. Model Switch only decides which denoiser does the work.
Installing it
ComfyUI Manager → search "HavocsCall" → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes
Restart, find it under HavocsCall/Switches. No requirements.txt, no model files to fetch - the only "models" involved are the checkpoints you load yourself.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| Selection | INT | 11–2 | — |
| Model_1 | MODEL | — | |
| Model_2opt | MODEL | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Model | MODEL | — |
| Selection | INT | — |