Multi Model Picker
Pick one model bundle out of a pile — by number
- model_template
- model_info
Here's a genuinely fiddly ComfyUI task that doesn't get enough love: choosing which model to use from a list, at runtime. Most people solve it by stacking a pile of selectors and muting them, or by editing the workflow every time. Multi Model Picker is Sage Utils' cleaner answer - you give it several model_info bundles, it gives you a list, and an index selects which one flows through. Change the index, get a different model.
It's a selector's selector: a node for choosing between model bundles the way a switch chooses between values.
How it works
The node has an autogrowing input area - you start with a model_template slot and add more as you need them (the schema allows up to 100, though you'll run out of screen first). Each slot accepts a model_info bundle from anywhere in the pack's ecosystem: a single-model selector, a multi-selector, or a model-info-carrying loader. Then the index input (0-based, default 0) picks which one gets returned as the model_info output.
Under the hood it's simple - it looks up model_<index> in the list and passes it through - but the packaging makes it useful. And it validates the index: ask for a model that isn't in the list and you get a clear "index out of range" error rather than a silent empty output, which is exactly the kind of feedback you want when a batch loop feeds the index.
The inputs that matter
model_template- the growable list ofmodel_infoinputs. Add one slot per candidate model.index- which entry to select, 0-based. This is the input you'll actually drive programmatically.
Output: model_info, the selected bundle - feed it straight into Load Models.
Where it shines
Two patterns. First, A/B testing: wire three or four model bundles into the picker, flip the index, and compare outputs without rebuilding the graph. Second - the more interesting one - batch workflows that iterate over models. Because the index is just an INT, you can drive it from a loop counter or a scheduled value: run a batch that renders the same prompt through model 0, then model 1, then model 2, collecting all three without touching the graph between iterations. That's the workflow that makes this node worth installing.
Installing
It's part of Sage Utils:
cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils.git
cd ComfyUI_SageUtils && pip install -r requirements.txt
Restart ComfyUI, or pull "Sage Utils" from ComfyUI Manager. No models of its own - it only rearranges the ones you hand it.
The honest caveat
It picks by position, not by name. Nothing in the node tells you that model_2 is your photorealism checkpoint - that knowledge lives in your head (or a comment node). If you're building a shared workflow, label the inputs clearly or someone will flip the index and wonder why everything looks different. Also note the index is 0-based: the first slot is index 0, and a fresh picker defaults there. Minor stuff, but it's the kind of thing that bites in a loop where you're computing i + 1 out of habit.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| index | INT | 00–100 | 0-based index into provided model list |
| model_template | COMFY_AUTOGROW_V3 | Input value for model_template. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_info | MODEL_INFO | Selected model_info output from the provided model list. |