Nodes/WAS Node Suite v3/Noodle Soup Pick
ComfyUI Node Runs on cloud

Noodle Soup Pick

The pantry browser behind your __wildcard__ prompts

By WASasquatch·Created 3 years ago·Updated 4 days ago· 1,844
Noodle Soup Pick
    • entries
    • text
    • count
    • yours
    picked
    limit0
    term

    Noodle Soup Pick is the front door to WAS Node Suite's word pantry: you tick words in a browser panel and it hands them out as a list, as text, and as a count, ready to be joined into a prompt. It's the curated, browsable cousin of the raw __animals__ wildcard syntax - where a wildcard pulls a random word from a whole category at generation time, this node lets you actually choose which words, how many, and in what order, then feed them to a prompt, a batch loop, or the suite's Text Random Line for one random draw per run.

    It's part of the WAS Node Suite terminology family (WAS Suite/Text/Terminology), the v3 system built around a stored pantry of roughly 17,500 words across 84 terminologies - animals, artists, styles, settings - kept in the suite's state database next to your config.yaml.

    How it works

    The core of the node is the picked box, which takes one pick per line:

    • artist: Greg Rutkowski - one specific word, spelled as the pantry holds it.
    • artist: * - the whole terminology, expanded in pantry order.
    • artist on its own - same thing: take the whole terminology.

    Blank lines and lines starting with # are ignored, a word named twice goes out once, and line order is output order. So the box is a small editing language, not a free-text field: you're composing a selection, and the pantry browser above it exists to fill those lines without you memorizing spellings. The optional term input appends one terminology wholesale - it exists so the term output of Noodle Soup Term Edit can wire straight in.

    limit caps how many words go out, counting from the first; 0 is everything. That matters because terminologies get big - artist alone holds over 2,000 words, and you rarely want all of them in one prompt.

    The outputs

    • entries - the picked words as an ARRAY, in picked-box order. Text List to Text joins them with a comma into prompt fodder.
    • text - the same words, one per line, for feeding back into Term Edit or into Text Random Line when you want one word per run.
    • count - how many went out after limit cut the list.
    • yours - how many of them were added by you (from a node or an import) rather than supplied by the published pantry. Handy when you want to check your own additions actually made it into a selection.

    There's a useful fallback behavior hiding in here: with nothing picked, the terminology names go out instead of the words. That's how you read the pantry's structure - which terminologies exist and are stored - when you just want an inventory.

    Why you'd reach for it

    Where the classic wildcard convention ({blond|brunette|redhead} or __term__) gives you randomness, Noodle Soup gives you a human-curated middle ground: the pantry's terminologies are organized word lists, and this node is the browser that makes them easy to compose with. Batch runs become "pick a different artist each iteration" by drawing from the artist terminology instead of typing ten alternatives.

    Installing it

    Part of WAS Node Suite v3:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
    

    or ComfyUI Manager → "WAS Node Suite v3", restart. ComfyUI 0.14.0+, Python 3.10+. The pantry itself comes bundled in the suite's state; refreshing it from the published list is the separate Pantry Refresh node, which needs features.network on in config.yaml.

    Where people get burned

    Spelling is the subtle one: artist: greg matches nothing because picks take words as the pantry spells them - greg rutkowski won't resolve to Greg Rutkowski. The browser panel exists precisely to copy the exact spelling, so use it. Second, limit silently truncates from the front of the list, so artist: * with limit 50 gives you the first 50 artists in pantry order, not a random fifty - if you wanted a random subset, draw from the text output with Text Random Line instead. And an empty picked box doesn't error - it returns the terminology names, which reads as "nothing selected" if you weren't expecting the fallback.

    CategoryWAS Suite/Text/Terminology

    Inputs (3)

    NameTypeDefaultDescription
    pickedSTRINGOne pick per line, as `term: word`. `artist: Greg Rutkowski` takes one word, spelled as the pantry holds it; `artist: *` takes the whole terminology, and so does a line naming one on its own. Blank and `#` lines are ignored, a word named twice goes out once, and line order is output order.
    limitINT00–100000How many words go out at most, counting from the first. 0 = every one; 50 = the first 50. `artist` alone holds over 2000.
    termoptSTRINGOne terminology taken whole, added to what is picked above, for wiring the term output of Noodle Soup Term Edit straight in. Eg: `my-animals`. Empty takes only what is picked.

    Outputs (4)

    NameTypeDescription
    entriesARRAYThe picked words, in the order the picked box lists them, a `*` line expanded in pantry order. With nothing picked, the terminology names. Text List to Text joins them with a comma.
    textSTRINGThe same words, one per line. Feeds the entries box of Noodle Soup Term Edit, and Text Random Line for one word a run.
    countINTHow many words went out, after limit cut the list.
    yoursINTHow many of them were added from a node or brought in from a file rather than supplied by the published pantry.