Powder Prompt Wildcard
One line, one prompt, zero fuss
- positive_prompts
- negative_prompts
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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| positive_text | STRING | — | |
| negative_text | STRING | — | |
| prefix_textopt | STRING | — | |
| suffix_textopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive_prompts | STRING | — |
| negative_prompts | STRING | — |