Dynamic Diffusion Model Selector
Build a list of models to compare in one run
- STRING
- LIST
Third of this pack's "Generator" family, after the sampler and scheduler versions - same mechanism, this time for diffusion model checkpoints. All three exist for the same reason: ComfyUI has no built-in way to run a workflow across a set of values and compare the outputs, so this pack builds the list-assembly half of that pattern by hand, one node per axis you might want to sweep.
What it does
Ten dropdowns, diff_model_1 through diff_model_10, each defaulting to none and populated from whatever's in your diffusion_models folder. Pick up to ten model files you want to compare, leave the rest on none, and the node filters out the untouched slots and gives you back a comma-separated STRING of your picks and a LIST of the same values.
The output is filenames, not loaded models - this node doesn't do any loading itself, it just aggregates which files you selected. To actually use the result, you feed the LIST into a loop and, inside it, an actual model loader (ComfyUI's own UNETLoader or equivalent) that turns each filename into something a KSampler can run against. Think of this node as the "which checkpoints am I comparing" step, not the "load the checkpoint" step.
Installing it
ComfyUI Manager: search DemonAlone-nodes-ComfyUI, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/DemonAlone/SimpeStringGenerator_ComfyUI
No extra dependencies or model downloads bundled with the pack itself - obviously you'll need the actual diffusion model files already sitting in your diffusion_models folder for the dropdowns to show anything.
Where people get burned
Leave all ten on none and both outputs come back empty - nothing to compare. And because this hands you filenames rather than loaded models, remember there's a real loading step still ahead of you per iteration: swapping between full diffusion models in a loop is also the most expensive kind of comparison sweep you can run in ComfyUI, since each iteration pays the full cost of loading a different multi-gigabyte checkpoint into VRAM rather than reusing one that's already resident. If you're comparing ten models, budget for ten full model loads, not ten cheap parameter tweaks.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| diff_model_1 | COMBO | none | 1 options: none |
| diff_model_2 | COMBO | none | 1 options: none |
| diff_model_3 | COMBO | none | 1 options: none |
| diff_model_4 | COMBO | none | 1 options: none |
| diff_model_5 | COMBO | none | 1 options: none |
| diff_model_6 | COMBO | none | 1 options: none |
| diff_model_7 | COMBO | none | 1 options: none |
| diff_model_8 | COMBO | none | 1 options: none |
| diff_model_9 | COMBO | none | 1 options: none |
| diff_model_10 | COMBO | none | 1 options: none |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |
| LIST | LIST | — |