ComfyUI Node

Item Pool

One list, many rolls — the pool behind the random pickers

By Ckrest·Created 8 months ago·Updated 4 months ago· 0
Item Pool
    • pool
    • items_list
    itemsitem1 item2 item3
    pool_namemy_pool

    Item Pool is the data layer of the comfyui-easy-randomize pack. On its own it does nothing - it just holds a list of strings - but every selector in the pack eats from it. You define your options once here, name the pool, and then Random Selector, Smart Selector, or any other pool consumer draws from it. Think of it as a named wildcard list with the wildcard engine pulled out and made explicit: instead of __clothing__ hidden inside a prompt, you have a visible node you can edit without touching your prompt text.

    How it works

    The mechanism is almost insultingly simple. The items field is a multiline string, one option per line, and the node splits it, strips whitespace, and throws away blank lines and anything starting with #. That last bit is the feature: comment an item out with a # and it stops being selectable, without deleting it. Toggle items on and off as you iterate - no retyping.

    red shirt
    blue pants
    #green hat       <- currently disabled
    yellow shoes
    

    It outputs a pool (the pack's custom POOL type) and an items_list string of the live items for display or debugging. The pool_name is mostly a label - it doesn't do much in the current code, but it keeps your graph readable and is the kind of thing that will matter once the pack grows tracking features.

    The two inputs that matter

    • items - your list, one per line. This is the whole node.
    • pool_name - a label. "character_clothing" beats "my_pool" when you have six of these in a graph.

    The catch you'll hit in week one

    POOL is a custom type. It only plugs into the pack's own selector nodes - you can't wire it into a generic string input. If you want the actual text somewhere else, use the items_list output instead, or let a selector do the joining. Also, comments are # only here; Smart Selector is the node that also honors //.

    How to install

    Same pack, same easy install - no dependencies beyond ComfyUI itself, no models:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Ckrest/comfyui-easy-randomize.git
    

    Restart ComfyUI, or install "comfyui-easy-randomize" via ComfyUI Manager. The node lives under Local Custom/Selection (the README says "Easy Randomize," but that category doesn't exist in the shipped code).

    Where it fits

    The workflow the pack is built around: create a few Item Pools (clothing, backgrounds, lighting), wire each to a Random Selector, combine the picks into a prompt, and freeze the combinations you like. Because the pool is separate from the picker, you can have several selectors rolling from the same pool, or edit the pool mid-run and re-roll without touching anything else. If you only need one slot of randomness and want the whole thing in a single node, skip the pool and use Smart Selector instead - but if you want options defined once and reused, this is your foundation.

    CategoryLocal Custom/Selection

    Inputs (2)

    NameTypeDefaultDescription
    itemsSTRINGitem1 item2 item3
    pool_nameSTRINGmy_pool

    Outputs (2)

    NameTypeDescription
    poolPOOL
    items_listSTRING