Nodes/scorpiov-nodes/Scorpiov Wildcard Prompter πŸ“
ComfyUI Node

Scorpiov Wildcard Prompter πŸ“

Wildcard resolution as a plain string, no model or clip required

By scorpiovΒ·Created 3 months agoΒ·Updated 9 days agoΒ· 2
Scorpiov Wildcard Prompter πŸ“
    • processed_text
    β—„textmasterpiece, {girl|boy}, __hairstyles__β–Ί
    β—„moderandomβ–Ί
    β—„seed0β–Ί
    β—„serial_start_line1β–Ί

    If Scorpiov Wildcard Processor is the "do everything" wildcard node, this is the pared-down version that does the one essential thing: resolve __wildcards__ and {a|b|c} groups into a plain string, and hand it over. No model, no clip, no LoRA loading, no conditioning - just a template in, a resolved processed_text string out. It's the node you reach for when you want to build your prompt text first and decide what to do with it later.

    That "decide later" framing is more useful than it sounds. Because the output is a plain STRING, you're free to feed it into a standard CLIPTextEncode, pipe it into the pack's Lora Tag Loader so <lora:...> tags ride along, merge it with other fragments in the Prompt Combiner, or dump it to a Save Image's prompt inputs. The README's typical chain sums it up: Wildcard Prompter β†’ Lora Tag Loader β†’ CLIPTextEncode (or two, for positive and negative). Separating "what does the prompt say" from "how do I encode it" gives you flexibility the all-in-one Processor doesn't have - especially when one wildcarded text needs to become both a positive and a negative prompt.

    Inputs and output

    The schema is tiny, and it's the same wildcard engine as its big sibling:

    • text - the template, with __filename__ references and inline {option_a|option_b} groups (nested allowed). Default is the friendly masterpiece, {girl|boy}, __hairstyles__ so you can test the node before writing your own.
    • mode - random (seeded) or serial. Serial tracks position per node and wildcard file and loops, which is exactly what the Batch Prompt Runner depends on to iterate line by line.
    • seed - controls random picks.
    • serial_start_line - which line serial mode starts from (1 = first), applied to all wildcards in the prompt.

    One output: processed_text - the resolved string. That's it. Same comment support as the Processor (# to end of line, C-style /* ... */ blocks), and the same 🎨 Highlighted Preview that color-codes groups, weights, and comments as you type.

    Where it shines

    The killer combination is serial mode + the Batch Prompt Runner. The Runner requires exactly one Wildcard Prompter in the graph, insists its mode is serial, needs a __wildcard__ token in the text, and then walks the file line by line across every checkpoint you've configured - naming each output {line:03d}-{checkpoint_tag}. Without this text-only node, that whole automation story falls apart, because the all-in-one Processor is too busy encoding to be a clean string source.

    Two details from the source are worth filing away. IS_CHANGED returns NaN, so the node re-runs on every queue - necessary for random mode to actually roll. And each resolution is printed to the server console, which helps debugging but gets chatty under heavy batching. Missing wildcard files degrade to their literal __name__ text with a warning - the classic silent failure, so check the preview before you queue a 200-image batch.

    Installing

    Part of scorpiov-nodes. Install via ComfyUI Manager (search "scorpiov-nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vikramudyawar/scorpiov-nodes
    

    Restart ComfyUI after. No extra Python dependencies, no model downloads - the wildcard .txt files are yours to supply, dropped into the pack's wildcards/ folder (hit "πŸ”„ Refresh Wildcards" after adding any). If you just need wildcard variety with a clean string output you can route anywhere, this is the lightest node in the pack that delivers it.

    CategoryScorpiov/Prompt

    Inputs (4)

    NameTypeDefaultDescription
    textSTRINGmasterpiece, {girl|boy}, __hairstyles__β€”
    modeCOMBOrandom2 options: random, serial
    seedINT00–18446744073709550000β€”
    serial_start_lineINT11–9999Serial mode: which line to start from (1 = first). Applies to all wildcards in this prompt.

    Outputs (1)

    NameTypeDescription
    processed_textSTRINGβ€”