Multi Note (One Select)
Multi Note (One Select)
- selected_text
Multi Note (One Select) is the sibling of the "Combine All" note node in ComfyUI-M-Nodes, and it exists for one job: holding several competing prompt ideas where only one is live at a time. Flip the toggle on "cyberpunk alley" and "golden hour beach" goes off by itself. It's a radio button group for prompt clauses, instead of a pile of nodes you keep bypassing.
It's from oMo.Studio's small utility pack, MIT licensed, with the same "grows as you type" UI as its sibling. If you've been juggling three versions of a style prompt by muting and un-muting CLIP Text Encode nodes, this is the tidier version of that habit.
How it works
Same dynamic mechanics as M_Multi_Note: start with one block (toggle, title, text), type in the last text box and a new triplet appears. The difference is exclusivity. Flip a toggle on and the node's JS sweeps every other enable_N switch to off - so at most one block can be enabled. The backend then does exactly what the README says: it returns the first enabled block's text and nothing else, under the output name selected_text.
That "first enabled" rule matters more than you'd think. The exclusivity is a front-end convenience; the Python side just picks the first block whose toggle is true and whose text isn't blank. So if a saved workflow ever loads with two blocks enabled (say, saved from an older version before the exclusivity logic), the one at the top wins, silently.
The inputs that matter
enable_1(and the dynamically addedenable_N) - the radio buttons. Only one can be on at a time.title_1/title_N- labels. "Style A", "Style B", "Lighting test" - not part of the output.text_1/text_N- the prompt content for each option.
One output: selected_text (STRING). Wire it straight into a CLIP Text Encode (or into the same pack's Random Prompt Selector if you want a random pick among your options).
Why you'd reach for it
- Style trials. Keep three full style prompts for the same subject and flip between them. Changing a variable costs one click, not a graph edit.
- Lighting setups - morning / night / neon, same composition, same seed. A classic use case straight from the README.
- Keeping history. Unlike deleting and re-typing, your rejected options stay in the node, so you can always go back.
The trade-off versus its Combine All sibling is obvious: Combine All merges everything active; One Select gives you one thing. If your goal is a layered prompt (subject + pose + environment), use Combine All. If your goal is "which of these three styles do I want this run," use this one.
Installing it
It's part of ComfyUI-M-Nodes, so one install gets you all five nodes in the pack. ComfyUI Manager: search "ComfyUI-M-Nodes". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/oMoStudio/ComfyUI-M-Nodes
Restart after cloning. No requirements.txt, no model downloads - it's a lightweight utility, which makes it one of the safer and faster installs in the ecosystem.
Where people get burned
- Nothing enabled = empty string. Turn a block on, or
selected_textcomes out"". Your sampler won't error, it'll just generate from an empty prompt, which is confusing when it happens. - Exclusivity is UI-only. As noted, the backend picks the first enabled block. Trust the toggle state you see.
- It's a prompt string, not a condition. The output is raw text; if you're on a 2026-era distilled model where prompts are wrapped in a chat template, treat it exactly like you would any other prompt string - the node doesn't transform your text, it just routes it.
If you're tired of bypassing whole nodes to test one idea, this is the smallest, least fussy way to get that workflow. It won't wow you, but it will quietly stop a whole class of graph clutter.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| enable_1 | BOOLEAN | true | — |
| title_1 | STRING | Title 1 | — |
| text_1 | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| selected_text | STRING | — |