easy wildcards
Dynamic prompts and inline LoRAs in one text box
- text
- populated_text
This is the node people actually mean when they say "how do I get A1111-style dynamic prompts in ComfyUI." It's a text box that understands wildcards (__color__ picks a random line from your color.txt), inline alternation ({red|blue|green} picks one), and inline LoRA syntax (<lora:add_detail:0.8> loads that LoRA at that strength). Type a template once, and every queue gives you a different, structured prompt. When someone on r/StableDiffusion asks how to run a list of prompts the way Forge does, "the prompt wildcard from comfyui-easy-use" is a stock answer - because it just works.
Why you'd reach for it
Because writing fifty variations of a prompt by hand is miserable and you'll do it badly. Wildcards let you describe the space of prompts instead: a __animal__ wearing a __color__ hat, {photo|painting|3d render}, and let the seed roll the dice. It's how you generate a varied batch, how you stress-test a checkpoint, and how you build a dataset of diverse-but-coherent images. The inline-LoRA half means you can also stop dragging LoRA Loader chains across your canvas - drop <lora:x:1> right in the text and it's applied. That combination, prompt variety plus in-line LoRA, is the whole reason this node has fans.
How it works
At queue time it populates the template: every __wildcard__ is replaced by a random line from the matching .txt file, every {a|b|c} collapses to one option, and any <lora:...> tags are stripped out of the text and applied to the model/CLIP instead. The choices are driven by the seed, so a fixed seed gives you a reproducible prompt and a random seed keeps rolling. The two dropdowns ("Select to add LoRA" / "Select to add Wildcard") are just convenience - pick one and it inserts the correct syntax into the box for you, so you don't have to remember the exact spelling.
Worth knowing: Lora Block Weight support (the LBW=... syntax) leans on ComfyUI-Inspire-Pack - install that too if you want per-block LoRA weighting. Wildcard .txt files live in the pack's wildcards folder (and it'll also read the shared wildcard collections other packs use).
The inputs and outputs that matter
text- your template. This is the node.seed- controls which random choices get made. Fix it to lock a result, randomize to vary.multiline_mode- when on, treats lines as separate prompts rather than one blob (added in v1.1.3), which is the setting you want for "run this whole list."
Two outputs: text (your template as written) and populated_text (the resolved prompt after wildcards/alternation are rolled). Wire populated_text into your CLIP Text Encode - or into a Show Text node first if you want to see what it rolled before committing.
Installing it
ComfyUI Manager, search ComfyUI Easy Use, install, restart. Or cd ComfyUI/custom_nodes && git clone https://github.com/yolain/ComfyUI-Easy-Use, install requirements (install.bat / pip install -r requirements.txt), restart. For Lora Block Weight, also install ltdrdata/ComfyUI-Inspire-Pack.
Where people trip
The recurring bite is a LoRA that silently doesn't load - historically this happened when the <lora:...> tag wasn't spelled out completely, and the fix (shipped in v1.0.9-era updates) means you should use the dropdown to insert the tag rather than hand-typing it. Second: if a wildcard "doesn't work," it's almost always that the .txt file isn't where the node looks, or the name doesn't match - __hair_color__ needs a hair_color.txt. Third: put a Show Text node on populated_text while you're building, because debugging a template you can't see is guesswork.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| Select to add LoRA | COMBO | 1 options: Select the LoRA to add to the text | |
| Select to add Wildcard | COMBO | 2 options: Select the Wildcard to add to the text, __example__ | |
| seed | INT | 00–1125899906842624 | — |
| multiline_mode | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| populated_text | STRING | — |