DaSiWa Wildcard & Preset Prompt Builder
Roll the dice on your prompt — and be able to reroll the exact same roll
- positive_prompt
- negative_prompt
Wildcards are old A1111 tech that most people who arrived after 2024 never learned: {red|blue} car means the prompt randomly becomes "red car" or "blue car" each run. The DaSiWa Wildcard & Preset Prompt Builder takes that idea, bundles a full wildcard library, and adds the thing that makes randomization actually usable in ComfyUI - reproducibility. The whole point of this node is that you can roll fresh options, get a result you like, and reproduce that exact prompt later instead of wondering what the dice gave you.
Most wildcard setups in ComfyUI are a two-node affair: a picker node and a downstream text router. This one builds both positive and negative prompts from a bundled dual-style library, so it outputs positive_prompt and negative_prompt strings ready to feed a sampler's conditioning - no separate picker needed.
How it works
The library lives in one editable JSON file - data/wildcards_and_presets_dual.json inside the pack - organized into 24 categories in prompt-friendly order (quality/style first, then subject, character, clothing, scene, NSFW, negatives last). You select subjects on the node UI; each selection has a weight; each side (positive and negative) is assembled independently.
The key mechanism is the seed plus reroll pairing. seed makes the wildcard choices deterministic, and reroll is a counter that advances the selection. Same seed + same reroll = same {A|B|C} choices, always. The New Picks button advances the reroll value; the Random Select button replaces your whole selection with a secure-random 1–10 subject draw. There's also a New picks on every queue toggle that deliberately breaks reproducibility when you want variety on every run.
The inputs that matter
style-Booru(tag-style, for Illustrious/Pony/NoobAI-type checkpoints) orNatural Language(phrases, for Flux/Wan-era models). The library carries both vocabularies per subject, so switching style switches the whole prompt dialect. This matters: tag models understand Danbooru tags much better than sentences, and vice versa.token_budget(default 200) - the node estimates token count locally and drops complete enabled subjects, lowest weight first, until the prompt fits. Positive and negative get independent budgets.seedandreroll- the reproducibility pair above. Set seed once, and reroll is your "different but traceable" button.
The optional positive_input / negative_input STRING sockets prepend your own existing prompt to each generated side - handy if you have a fixed scene line and only want the wildcard part to vary.
Outputs
positive_prompt and negative_prompt - plain STRINGs. Wire them into whatever CLIPTextEncode setup your checkpoint uses. Non-1.0 weights emit ComfyUI emphasis syntax ((cinematic lighting:1.2)), and weights of 1.0 emit plain text, so the output is ordinary ComfyUI prompt text.
Installing it
ComfyUI Manager (search DaSiWa-Nodes), or:
cd ComfyUI/custom_nodes
git clone https://github.com/darksidewalker/ComfyUI-DaSiWa-Nodes
pip install -r requirements.txt
then restart. It's a text node - no models to download, no GPU requirement beyond ComfyUI itself.
Where people get burned
- Editing the library and seeing nothing change. The JSON is read at node load, not on every queue. Restart ComfyUI after editing
data/wildcards_and_presets_dual.json. - Updating the pack clobbers your library. The bundled file is ordinary JSON with no checksum or version pin, which is great for customization and bad for updates - keep a backup of your custom file, because a package update may replace it.
- Contradictory selections. The builder won't stop you selecting "1girl" and "5girls" at once, or mixing a species you don't want. The character-count presets are fixed (selecting "3 Girls" always emits
3girls), so the randomness is only where the wildcards are. - "Why did my prompt change?" - that's
auto_rerollor the every-queue toggle. If you want stable output, leave both off and rely on seed + reroll.
It's a niche node - the kind you add when you're bored of hand-tuning prompts and want a structured way to explore. But it's also the rare wildcard tool where you can actually chase a good roll back to its exact inputs.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| style | COMBO | Booru | 2 options: Booru, Natural Language |
| seed | INT | 00–4294967295 | — |
| token_budget | INT | 2001–10000 | — |
| selection_state | STRING | {} | — |
| reroll | INT | 00–2147483647 | — |
| auto_reroll | BOOLEAN | false | — |
| positive_inputopt | STRING | — | |
| negative_inputopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |