Nodes/ComfyUI-TinyBee/Random Entry
ComfyUI Node

Random Entry

Pick a random item from your list, reproducibly or not

By TinyBeeman·Created about a year ago·Updated about a month ago· 1
Random Entry
    • Entry
    seed-1
    string_list

    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 - -1 for 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.

    Category🐝TinyBee/Lists

    Inputs (2)

    NameTypeDefaultDescription
    seedINT-1-1–18446744073709550000
    string_listSTRING

    Outputs (1)

    NameTypeDescription
    EntrySTRING