Wildcard Picker (Arctenox's Essentials)
Grab one random option from a wildcard file, no prompt surgery
- picked_value
- seed_used
Wildcards are the cheap way to get prompt variety: drop __hair_color__ into a prompt and every run picks a random line from hair_color.txt. The Wildcard Picker is the inverse operation - instead of resolving a wildcard inside a prompt, it picks a single random entry from a wildcard file and hands it to you as a plain STRING. You decide what to do with it.
The dropdown (wildcard_name) is the neat part: it's auto-populated from every .txt file found in the pack's two wildcard directories, so you're not typing filenames from memory. There's a seed input too - -1 means a fresh pick every execution, and any fixed number gives you the same pick for that seed, which is the difference between "I want surprise" and "I want this exact variant reproducible."
Outputs are picked_value (the chosen line, as a STRING) and seed_used (the actual seed, so you can log or replay it).
The classic use is character-consistency work: keep a characters.txt with one character description per line, pick one, wire the STRING into your prompt builder, and batch. Same character, different seed each run - no training involved. It's the same trick as the old A1111 {option|option} bracket syntax, just with the pick surfaced as data you can route through switches, concatenate with other segments, or feed into a normalizer before it reaches the CLIP encoder.
Where the wildcard files live matters, because that's the #1 thing that trips people up:
ComfyUI/custom_nodes/Arctenoxs-Essentials_ComfyUI/wildcards/ ← pack's own
ComfyUI/wildcards/ ← your global one
The pack ships a couple of examples (hair_color.txt, plus main/Arctenox_Expansion_Randomized.txt), but you'll want your own files there. A few notes from how the resolver behaves in the source:
- Lines starting with
#are comments and get ignored. Use them as headers. - If a file has no usable lines, the node returns an empty string and logs a note to the console.
- If you have no wildcard files at all, the dropdown shows a placeholder "(no wildcards found)" and the node guards against picking it. That's a deliberate fix in the code, so you shouldn't see a crash - just silence.
One thing to watch: the dropdown is populated when ComfyUI loads. Add a new .txt file and you'll need to refresh the page (or restart) before it shows up in the list.
Install. Part of Arctenox's Essentials - ComfyUI Manager → search "Arctenox's Essentials", or:
cd ComfyUI/custom_nodes/
git clone https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI
Then restart. Dependencies are just torch, numpy, and optional psutil - nothing extra to hunt down, and the pack's autocomplete API (which serves wildcards to the browser) runs in-process. The README marks the pack deprecated in favor of a remastered successor, but the wildcard files themselves are portable, so your wildcards/ folder survives any move.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| wildcard_name | COMBO | Select a wildcard file to pick from | |
| seed | INT | -1-1–2147483647 | -1 = random each execution |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| picked_value | STRING | — |
| seed_used | INT | — |