EmAySee Random String SelectorThreeChoice
Random from three strings, because sometimes a coin isn't enough
- RANDOM_SELECTED_STRING
The three-way version of the pack's string roulette. Three string inputs, a random.randint(0, 2) roll, and whichever string wins comes out the single output. It's the middle child of the family: two choices felt too small, four feels like overkill, three is exactly the "morning/afternoon/evening lighting" or "cute/serious/epic" sort of pool.
How it works
string_input_1, string_input_2, string_input_3 in, RANDOM_SELECTED_STRING out. Each run picks a random index 0–2 and returns the matching string with a clean 1-in-3 probability each. Wire the output into a CLIP Text Encode, a filename template, or anything string-shaped.
What it doesn't have
No seed input, so no reproducibility - every run rolls fresh, and you can't replay a specific pick. If you need "same answer for same seed," the pack's 20-slot selector (EmAySee_RandomStringSelector) is the seeded one. For straight variety runs, that's not a problem at all; it's the least-configuration way to get a three-way random split in a graph.
Naming gotcha
The display name in the add-node menu is "EmAySee Random String SelectorThreeChoice" - no space before "ThreeChoice." The same goes for the FourChoice sibling. It's cosmetic, but it makes them easy to mix up when you're searching the menu, and since this pack's random-string nodes all look alike, double-check you grabbed the 3-input one and not the 2 or the 4.
Installing it
Same pack as the rest: ComfyUI_EmAySee_CustomNodes. ComfyUI Manager → search the pack title → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes
# restart ComfyUI
Under EmAySee_Utils, no dependencies.
Bottom line
Three choices, one roll, zero config. If you need more than three, the FourChoice node is literally the same code with one more input - so pick the size that matches your pool and move on.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| string_input_1 | STRING | Input String 1 | — |
| string_input_2 | STRING | Input String 2 | — |
| string_input_3 | STRING | Input String 3 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| RANDOM_SELECTED_STRING | STRING | — |