Random Entry
Pick a random item from your list, reproducibly or not
- Entry
Random Entry reaches into a list and pulls out one item at random. It's the node behind "surprise me" workflows - random prompts from a curated list, random reference images, random anything - and the seed input means you can have that randomness be a total coin flip or a perfectly repeatable pick.
Why you'd reach for it
Most ComfyUI workflows are deterministic on purpose, and that's exactly why a random node is useful: it's the one deliberate source of chaos. Feed it a list of prompts from String To List and it picks one to feed your KSampler, so a batch run explores different prompts without you re-typing anything. The seed gives you the best of both worlds - lock a seed to reproduce an exact pick, or set -1 to roll fresh every run.
How it works
The node takes its seed and calls random.seed() with it, then random.choice() on the list. Two details matter:
- seed
-1(the default) means "don't seed at all" - Python seeds from time/entropy, so every execution picks something different. The node also signals this to ComfyUI's caching by reporting "always changed", forcing a re-run each time. - any other seed makes the pick deterministic: same seed, same list, same entry, every time.
The node is declared INPUT_IS_LIST, so the input is a real list. Empty list? You get an empty string back rather than a crash.
The inputs that matter
- seed -
-1for true randomness, anything else for reproducible picks. - string_list - the list to choose from. Needs to come from a list-producing node.
One output:
- Entry - the chosen item, as a STRING.
Installing it
Pack install: ComfyUI Manager → Install Custom Nodes → search "ComfyUI-TinyBee", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/TinyBeeman/ComfyUI-TinyBee
It's under 🐝TinyBee/Lists. Stdlib only, no dependency fuss.
Common issues
The biggest trap is feeding a single string instead of a list - you'll get that one string back every time and wonder why "random" never changes. Also note that determinism depends on the order of the list: the same seed picks a random index, so if the list order changes, the pick changes. And if you're hunting for a bug, remember seed -1 is intentionally non-reproducible; if you need to compare runs, pin a real seed and use Iterate Seed to step through controlled variations instead.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | -1-1–18446744073709550000 | — |
| string_list | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Entry | STRING | — |