Nodes/Powder Nodes/Powder Prompt Wildcard
ComfyUI Node

Powder Prompt Wildcard

One line, one prompt, zero fuss

By E2GO·Created 7 months ago·Updated 4 months ago· 0
Powder Prompt Wildcard
    • positive_prompts
    • negative_prompts
    positive_text
    negative_text
    prefix_text
    suffix_text

    The Powder Prompt Wildcard is the node for when your prompts live in a text file or a paste buffer instead of a nice structured UI. Its rule is dead simple: every non-empty line is one prompt. Paste a list of 50 subjects, hit queue, and the whole Powder Lora Loader / Powder Conditioner chain fans out across all of them. If Powder Prompt List is the curated, toggle-per-slot option, this is the bulk-paste-and-go option.

    How it works

    The node reads positive_text and splits it into lines. Lines starting with # are treated as comments and skipped, empty lines are skipped, everything else becomes one prompt. A single global negative_text is replicated to match the number of positive prompts, so you get aligned positive/negative lists out.

    Two optional inputs, prefix_text and suffix_text, let you wrap every line with a common base - useful when all your subjects share "masterpiece, best quality" or a camera setup. For each line the output is <prefix>, <line>, <suffix>, with missing parts dropped. If positive_text is empty but a prefix or suffix is set, the node emits one prompt with just the base.

    The list-based output is the important part for batch work: like the Prompt List, it outputs positive_prompts and negative_prompts as STRING lists, so it plugs into the Lora Loader and Conditioner without any adaptation.

    The file-loading UI

    The node adds a Wildcard file combo that lists .txt files from two places:

    • e2go_nodes/wildcards/ - package-local, created on first upload (shown with an [e2go] prefix).
    • <ComfyUI>/wildcards/ - the shared folder other packs use (shown as [comfy]).

    Selecting a file fills positive_text with its contents (it asks before overwriting non-empty text). There's also a + Load file... button that opens a local file picker and uploads the chosen .txt into the package's wildcards folder, and × Clear buttons that wipe each text field. Newly added files show up after the node is recreated or the page reloads.

    The inputs that matter

    • positive_text - one prompt per line. This is the star.
    • negative_text - the global negative applied to every line.
    • prefix_text / suffix_text - optional common base prepended/appended to every line.

    Outputs: positive_prompts (one per non-empty line) and negative_prompts (the negative, repeated to match).

    Installation

    Same as the rest of the pack - one install, all eight nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/E2GO/e2go-comfyui-nodes.git e2go_nodes
    

    Restart ComfyUI, or search e2go_nodes / E2GO in ComfyUI Manager. No extra pip dependencies; targets ComfyUI 0.17+.

    Common issues

    The trap is the # comment rule being stricter than you expect. A line that starts with # is a comment; a line where # appears mid-line is not - so a hashtag inside a sentence (say, "cinematic #mood") is passed through as part of the prompt. If your text file was written for another wildcard system that handles # differently, scan for that before pasting.

    Second, remember the one-line-one-prompt rule has no tokenization awareness. If a single subject spans two lines (you wrapped the text at a sentence boundary), you'll generate two broken prompts. Keep each prompt on one line and let the file picker handle bulk.

    And if a file you just dropped into wildcards/ isn't in the combo: the README says newly added files appear after the node is recreated or the page reloads - it's not broken, it's cached UI. The package-local folder is gitignored, so files you load there won't be committed if you share the pack's repo.

    It's a small node with a one-sentence job, and it does it exactly that well. For batch generation from a plain text list, there's nothing to configure and nothing to fight.

    Categorye2go_nodes

    Inputs (4)

    NameTypeDefaultDescription
    positive_textSTRING
    negative_textSTRING
    prefix_textoptSTRING
    suffix_textoptSTRING

    Outputs (2)

    NameTypeDescription
    positive_promptsSTRING
    negative_promptsSTRING