Combo Auto List
Try all 47 samplers in one queue run
- combo
Every ComfyUI node with a dropdown is secretly a list. "Combo" is just what the UI calls an enumerated widget - samplers, schedulers, clip types, resize methods, upscale model names. The engine can hand those options out one at a time so the downstream node runs once per value. The frontend even prints a little stack-of-lines glyph next to outputs that do this, which is about as much documentation as the feature ever got.
Combo Auto List is the pack's take on it: point it at any dropdown and get a list of everything in it, minus whatever you exclude. That's the whole node. It's also marked experimental in the source, and you should believe that label a little.
What it's for
Sampler shopping. You have a prompt and a seed you like, you want to know whether euler_ancestral beats dpmpp_2m_sde, and you're not going to reload a workflow eleven times to find out. Connect the dropdown, let the list drive it, end in a Save Image, queue once, come back to eleven files.
Same trick works for schedulers, and for the upscale-model selector in this same pack - sweep every upscaler in your folder against one image without editing anything.
How it works, honestly
The node has a combo input which you wire from the dropdown you want to copy, and a values field holding that widget's option list as JSON. The combo input is display-only - the author's own tooltip says so - while execute() parses values, filters it, and outputs the survivors as a list.
The filtering is the interesting bit: exclude takes comma-separated patterns and matches them with shell-style wildcards. So *_cfg kills the CFG-variant samplers, *sde* kills the other half, euler kills exactly that one. You can build a shortlist without touching a single other node.
If nothing matches, or the list arrives empty, you get an empty list out - which reads downstream as "nothing happens", not as an error. Worth remembering when you're staring at a queue that produced zero images.
Inputs and outputs
combo- the dropdown you're harvesting. Display only.exclude- comma-separated values to skip, wildcards supported, e.g.euler,*_cfg,*sde*.values- the option list as JSON. You normally never type in here; the frontend fills it from the connected combo widget. This is the part that makes the node experimental.
One output: combo, a list of the surviving values. It goes into the dropdown you're sweeping.
Installing it
Search Nifty Nodes in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Stibo/comfyui-nifty-nodes
Restart after. The pack pulls color-matcher and imageio-ffmpeg when installed through Manager; nothing extra is required for this node. It's authored against ComfyUI's V3 node API, so a source with no NODE_CLASS_MAPPINGS is expected rather than suspicious. The README notes the pack is tested against frontend 1.39 and untested on Nodes 2.0 - relevant here, because a widget-reading node is exactly the kind of thing a frontend rewrite can break.
This is a tiny pack. There is no forum thread history to fall back on if it misbehaves; the source is the spec.
Where people get burned
- Connect it, then check the list. Because
valuesis populated by the frontend rather than by you, a stale or empty list is a silent no-op. Disconnect and reconnect the combo wire if the output looks wrong. - Every item is a full generation. 47 samplers at 25 steps is 47 renders. Trim the list with
exclude, or test at low steps and short side first, then re-run the two finalists properly. - Names that don't round-trip. Filtering to a name the receiving widget doesn't accept gives you a validation error mid-run, after some images have already been saved. Copy exact names from the dropdown rather than typing them.
- Save whatever comes out. Without a save node at the end you get the loop's final item and no record of the rest - and the filename won't tell you which sampler made which image unless you also write that value into the filename. That's where Bundle To String and this pack's save node earn their keep.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| combo | COMBO | All the combo values from the connected combo widget. Only for display purposes, no functionality. | |
| exclude | STRING | Comma-separated values to skip, supports * wildcards (e.g. euler,*_cfg,*sde*). | |
| values | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| combo | * | — |