ACB PPP Wildcard Options
Tune how wildcards roll, without touching the main node
- options
The ACB PPP Wildcard Options node is a settings bundle for the wildcard half of Prompt PostProcessor. On its own it does nothing - it just emits an options object that you wire into the wc_options input of ACB Prompt Post Processor. You only need it when the defaults aren't right, which is most of the time once you have a real wildcard collection.
What it controls
Wildcards here use the Dynamic Prompts vocabulary: __name__ and {choice|choice} constructs, with PPP's own extras like weights, filters, and conditions on top. This node decides where those definitions come from and what happens when something doesn't resolve.
- folders - comma-separated list of folders to scan for wildcard files (txt, yaml, json). Leave it empty and PPP falls back to what's configured for the pack, which is the cleaner setup.
- definitions - inline wildcard definitions in YAML/JSON. This is the sneaky useful one: you can embed a small wildcard set right in the workflow so it travels with the workflow file instead of living in a folder only you have.
- if_wildcards - the trap door. Defaults to
stop: if the main node finishes and any wildcard is still unresolved, generation stops. Because PPP is meant to run last, any leftover wildcard is treated as invalid rather than ignored. You can switch it to ignore, remove, or add a visible warning instead. If you're disabling wildcard processing and letting another extension handle it, set this to ignore. - choice_separator - the default glue when a construct selects multiple choices (
", "by default). - keep_choices_order - when a construct selects several choices, return them in the order they appear in the wildcard rather than shuffled.
How to use it
Drop it in the graph, set what you want, and connect options → wc_options on the main node:
[ ACB PPP Wildcard Options ] --options--> [ ACB Prompt Post Processor ].wc_options
You can also skip this node entirely - the main node has sane defaults. Reach for it when you want a shared wildcard library path (so you don't retype folders into every workflow) or when unresolved wildcards are quietly turning into literal __text__ in your generations.
Installing it
Same pack as the main node. ComfyUI Manager → search "Prompt PostProcessor", or:
cd ComfyUI/custom_nodes
git clone https://github.com/acorderob/sd-webui-prompt-postprocessor
Restart ComfyUI. The only real dependency is the pack's own requirement file (lark, numpy, ruamel.yaml, pydantic) - no model downloads, nothing heavy. If you want the shared-folder setup, add a ppp_wildcards entry to your extra_model_paths.yaml pointing at your wildcard directory.
Common issues
The classic confusion: wildcards in the prompt come out literally (__clothes__ in the image) because the main node's process_wildcards is off or because the wildcard name doesn't match a file. The if_wildcards setting is your diagnostic - set it to add_visible_warning and it will paste an obvious warning into the prompt instead of failing silently. Also note the folder path is resolved relative to your ComfyUI model dirs, and if folders here is empty but you expected it to pick up your library, check that the ppp_wildcards extra-model path is actually set - an empty folder string doesn't magically scan your whole disk.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| foldersopt | STRING | Comma separated list of wildcards folders | |
| definitionsopt | STRING | Wildcards definitions in yaml/json format | |
| if_wildcardsopt | COMBO | stop | How to handle invalid wildcards in the prompt |
| choice_separatoropt | STRING | , | Default separator for selected choices |
| keep_choices_orderopt | BOOLEAN | true | Keep the order of the choices in the prompt |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| options | PPP_OPTIONS_WC | — |