Nodes/ComfyUI-mnemic-nodes/πŸ“ Wildcard Processor Advanced
ComfyUI Node

πŸ“ Wildcard Processor Advanced

Same engine, six outputs, two you'll use

By MNeMoNiCuZΒ·Created 3 years agoΒ·Updated a day agoΒ· 105
πŸ“ Wildcard Processor Advanced
    • processed_text
    • seed
    • extracted_tags_string
    • extracted_tags_list
    • raw_tags_string
    • raw_tags_list
    β—„wildcard_stringβ€”β–Ί
    β—„seed0β–Ί
    β—„multiple_separator β–Ί
    β—„recache_wildcardsfalseβ–Ί

    What it is

    It's the same node as the πŸ“ Wildcard Processor with the lid off. Both are built on the same class - same syntax, same file matching, same inside-out resolution loop - and the Advanced variant exists for one input and five extra sockets. Nothing here generates images; it turns one prompt template into one concrete prompt, and every generation you run draws a different combination.

    Worth knowing if you're choosing: the lighter node is the default recommendation, and Advanced is what you graduate to when you specifically want to join multiple picks with a comma, or want the seed sitting on a wire.

    The one input that changes things

    multiple_separator is the only input the lightweight version doesn't have, and it's the reason to switch. A block like {3$$red|green|blue|yellow|purple} picks three items and used to glue them together with a single space; here you decide, and ", " is the useful value.

    For tag-ordered models, comma-joining is exactly right - the 2026 anime and booru-style checkpoints want a comma-separated tag block, not prose, and this is how you get 1girl, red hair, blue eyes out of one short block instead of hand-writing the list. For natural-language prompts like Flux or Z-Image, keep the default space. Set it to ", " and write prose anyway and you get stray commas mid-sentence, which models mostly ignore but reads badly in your metadata.

    A per-block separator written into the template overrides this input entirely - {1-3$$ and $$__clothing__} joins those picks with " and " regardless of what the node is set to. Node-level setting for your default, inline form for the override. The other three inputs and the resolution mechanics - wildcard_string, the recursive folder scan, subfolder-priority scoring, fuzzy matching that's off unless you enable it, the nesting pass limit - are identical to the lighter node.

    The outputs

    processed_text is the resolved prompt; send it to the positive CLIP Text Encode (Prompt) as usual.

    seed is the one worth wiring. It's the integer that produced this resolution, and it's the same value you passed in - because the node seeds Python's RNG with it, same seed plus same template equals the same prompt every time. Feed that socket into your KSampler's seed and the prompt draw and the noise stay locked together: reroll the seed widget once and you get a different prompt and the noise that suits it, rather than a new prompt on top of recycled noise.

    Then there are the four tag outputs - extracted_tags_string, extracted_tags_list, raw_tags_string, raw_tags_list. They're empty right now. The author's own help page says it plainly: tag extraction is inactive in the UI, the delimiter input that used to drive it was pulled, and the sockets were left on the node so existing workflows don't lose their wiring. The code still reads that setting, it just never receives a value, so extraction short-circuits and you get empty strings and empty lists.

    So don't build a workflow on those four. If you need to yank a chunk out of a template - an artist name, a style word - do it after the fact with the pack's String Text Splitter or String Text Extractor, which are deterministic and unsurprising.

    Install

    Same pack, same install, whether you use this node or the lightweight one. ComfyUI Manager β†’ search ComfyUI-mnemic-nodes β†’ install β†’ restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes
    

    No model files. The pack's dependency list (colorama, groq, transformers, tiktoken, opencv-python, …) installs for the whole pack, and the nodes were migrated to ComfyUI's V3 API, so an old ComfyUI build won't load them. If a workflow from an older pack version complains about missing nodes, let it load - the pack ships a legacy id map for the old emoji-style node names.

    Gotchas specific to this one

    Multi-picks don't repeat themselves. {2$$a|b|c} draws two distinct options; if you ask for more than you have ({5$$red|green}) it loops the list in repeated passes until the count is filled - no warning, and no guarantee the entries alternate. Ranged counts {1-3$$...} roll the count first, then pick, so your prompt length varies batch to batch. Fine for variety, annoying if you're counting tokens.

    And the same trap that catches everyone on the lightweight node applies here: a wildcard name that doesn't match anything is left in the text verbatim. __animalz__ goes to the sampler as the literal string. Turn on Settings β†’ ⚑MNeMiC Nodes β†’ Wildcard Processing β†’ Console Logging to see candidate files per lookup, and remember that both the file list and file contents are cached - recache_wildcards on, run once, off again, whenever you add or edit a file.

    Bottom line

    Reach for Advanced when you want comma-joined multi-picks or the seed on a wire, and ignore the tag outputs until the author re-enables them. Otherwise the plain Wildcard Processor does the identical job with two fewer things to wonder about.

    Category⚑ MNeMiC Nodes

    Inputs (4)

    NameTypeDefaultDescription
    wildcard_stringSTRINGThe text prompt to process. Supports multiple features: File Wildcards: Use __filename__ to insert a random line from filename.txt in one of the supported wildcard directories. Lines starting with # are treated as comments and are ignored. Inline Choices: Use {a|b|c} to randomly choose between a, b, or c. Example Input: A photo of a {red|green|blue} car. Example Output: A photo of a green car. Weighted Choices: Use {5::black|green|red} to make black 5 times more likely to be chosen than green or red. Weights are normalized to 100% based on the sum of all weights in the block (e.g. {5::red|4::green|7::blue|black} sums to 17, giving red ~29%, green ~24%, blue ~41%, black ~6%). Select Multiple Wildcards: Use {2$$a|b|c|d} to output a specific number of items from the result. Example Input: My favorite colors are {3$$red|green|blue|yellow|purple}. Example Output: My favorite colors are blue, yellow, purple. Ranged Select Multiple: Use {1-3$$red|green|blue|yellow|purple} to select a random number of 1-3 items within a range. Custom Separator: Use {1-3$$, $$red|green|blue|yellow|purple} to join the selected items with a custom separator (here, ", ") instead of the default. Variables: Define a variable to reuse a value. Can be defined directly, or using a wildcard Example Input: ${animal=!__animals__} The ${animal} is friends with the other ${animal}. Example Output: The cat is friends with the other cat.
    seedINT00–18446744073709550000The seed for the random number generator. Using the same seed with the same prompt will produce the same output.
    multiple_separatorSTRING The separator used when selecting multiple items from a single wildcard. Example: - Prompt: {2$$red|green|blue} - Separator: ", " - Output example: "red, green"
    recache_wildcardsBOOLEANfalseForce a reload of all wildcard files from disk. Can be disabled again after you have ran it once.

    Outputs (6)

    NameTypeDescription
    processed_textSTRINGThe final text after all wildcards and tags have been processed.
    seedINTThe seed value used for this generation.
    extracted_tags_stringSTRINGA single string containing all extracted and processed tag content, joined by '|'.
    extracted_tags_listSTRINGA list of strings, where each item is one piece of extracted and processed tag content.
    raw_tags_stringSTRINGA single string containing all raw, unprocessed tags, including their delimiters, concatenated together.
    raw_tags_listSTRINGA list of strings, where each item is one raw, unprocessed tag, including its delimiters.