Nodes/TA-ComfyUI-Nodes-Pack/🧠 TA Unified Model Switcher
ComfyUI Node

🧠 TA Unified Model Switcher

One dropdown to switch models without rebuilding the workflow

By tmode-1960Β·Created 11 months agoΒ·Updated 5 months agoΒ· 5
🧠 TA Unified Model Switcher
  • model_1
  • clip_1
  • vae_1
  • model_name_1
  • model_2
  • clip_2
  • vae_2
  • model_name_2
  • model_3
  • clip_3
  • vae_3
  • model_name_3
  • model
  • clip
  • vae
  • active_model
β—„model_choiceZ-Image Diffusionβ–Ί

The fastest way to break a shared workflow is to tell someone "replace the checkpoint node with a different one." TA Unified Model Switcher exists so nobody has to: you build the graph once with three model slots, and a single dropdown picks which slot is live. Everything else - the sampler, the text encoders, the save nodes - stays wired to the switcher's outputs and never changes.

The model_choice dropdown (edited via the browser UI at http://localhost:8188/ta_model_choices/ui) lists the configured options - the shipped defaults read "Z-Image Diffusion", "Z-Image GGUF", "Qwen Diffusion", "FLUX Diffusion", and "Checkpoint", which is a pretty honest map of the modern model menu. Each choice maps to one of three input slots, and each slot takes the standard four wires: model, clip, vae, and model_name (the pack's TA_MODEL_NAME string type). Outputs mirror those - model, clip, vae, and active_model - so whatever slot you pick flows out on the same four wires.

The mechanism is where it stops being a simple switch and starts being clever: lazy evaluation. check_lazy_status tells ComfyUI which inputs the active slot actually needs, and ComfyUI only executes the loaders behind those inputs. Switch from slot 1 (Z-Image diffusion) to slot 2 (Z-Image GGUF) and the slot-1 loader is skipped entirely - no wasted model loads, no VRAM juggling of models you're not using. That's the difference between a switcher and a three-way merge that loads everything at once.

Why this pattern matters for real workflows: you get one graph that can generate with a distilled turbo model when you're iterating fast and a bigger model when you're after final quality - just flip the dropdown. The active_model output feeds the pack's filename generator, so your output files name themselves after whatever model the switcher is currently routing. It pairs naturally with the pack's preset system: model presets define what each slot loads, and the switcher decides which slot is live.

Install. No Python dependencies; pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/tmode-1960/TA-ComfyUI-Nodes-Pack

or ComfyUI Manager (search "TA ComfyUI Nodes Pack"), restart, under TA Nodes/loaders. The choice editor lives at http://localhost:8188/ta_model_choices/ui.

Gotchas. Each slot is just a set of input wires - you still need loaders behind them, and if slot 2's GGUF choice requires ComfyUI-GGUF and you haven't installed it, switching to slot 2 errors even though slot 1 works fine. The lazy-evaluation skip only applies to inputs that are genuinely unneeded, so wire each slot to its own loader and let the switcher prune. And the v2.x breaking change: TA v1 workflows must be rebuilt before any of this will load.

CategoryTA Nodes/loaders

Inputs (13)

NameTypeDefaultDescription
model_choiceCOMBOZ-Image DiffusionEditor: http://localhost:8188/ta_model_choices/ui
model_1optMODELβ€”
clip_1optCLIPβ€”
vae_1optVAEβ€”
model_name_1optTA_MODEL_NAMEβ€”
model_2optMODELβ€”
clip_2optCLIPβ€”
vae_2optVAEβ€”
model_name_2optTA_MODEL_NAMEβ€”
model_3optMODELβ€”
clip_3optCLIPβ€”
vae_3optVAEβ€”
model_name_3optTA_MODEL_NAMEβ€”

Outputs (4)

NameTypeDescription
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
active_modelTA_MODEL_NAMEβ€”