ACB PPP Send-To-Negative Options
The original reason this pack exists — negative-prompt plumbing
- options
Before Prompt PostProcessor was a whole prompt toolkit, it was sd-webui-sendtonegative - a tiny extension that moved bits of your positive prompt into the negative prompt. The ACB PPP Send-To-Negative Options node is the settings knob for that feature, and it's the part of the pack a lot of wildcard users came for in the first place.
What it does
Here's the use case that sells it: you have a hair-color wildcard, and one option is "strawberry blonde." You don't want strawberries in every image, but only when that option wins. In the wildcard file:
blonde
strawberry blonde <ppp:stn>strawberry<ppp:/stn>
brunette
When the strawberry-blonde branch is chosen, PPP pulls strawberry out of the positive and appends it to the negative prompt - so the bad part never conditions the positive, and the correction is only active when the option is active. It's conditional negative prompting, computed from your own choices rather than a fixed block of negatives. Attention weights even carry over: (red apple<ppp:stn>round shape<ppp:/stn>:1.4) becomes (round shape:1.4) in the negative. You can also target positions with <ppp:stn s>, <ppp:stn e>, or numbered insertion points.
This node just tunes that behavior. It has exactly two inputs:
- separator - the glue used when content is added to the negative prompt. Default
", ". Harmless to leave. - ignore_repeats - default on. Skips content already present in the negative so the same term doesn't stack up across multiple
stncommands.
Wire its options output into the stn_options input on ACB Prompt Post Processor. If you never change the defaults, you don't need this node at all - the main node's built-in behavior is fine.
Install
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. No model files, no heavy deps (lark, numpy, ruamel.yaml, pydantic). Cross-platform, MIT-licensed, maintained by acorderob since 2023.
Where people get burned
The honest caveat from the wider prompt discourse: the negative prompt only matters when CFG actually uses it. On distilled models at CFG 1, ComfyUI's sampler skips the unconditional pass entirely and your beautifully routed negatives do nothing. On SDXL-lineage (Pony, Illustrious, and friends), negative prompting is alive and well - which is where this pack's audience mostly lives.
Also worth knowing: the pack deliberately does not build AND/BREAK constructs when relocating content - it just appends to the negative with your separator. And if you're reading old tutorials, the pre-2023 format <!...!> is gone; it's <ppp:stn> now. Finally, if you wire ignore_repeats off and use many wildcards that all dump the same phrase, expect a negative prompt that looks like a broken record - that's the setting doing what you asked it to.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| separatoropt | STRING | , | Separator for the content added to the negative prompt |
| ignore_repeatsopt | BOOLEAN | true | Ignore repeated content added to the negative prompt |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| options | PPP_OPTIONS_STN | — |