PonySwitch
One switch to stop pasting score_9 into every prompt
- Positive
- Negative
PonySwitch is a boring little node that solves a boring, annoying problem: it prepends your Pony score tags to the prompt when a toggle is on, and passes the prompt through untouched when it's off. That's the whole job, and it does it in about forty lines of pure Python. There's no model, no API, no key, no dependency - just string concatenation with a switch on top.
Why it exists
Pony V6 is finicky about its quality tags. The model was trained on a rating system where the whole concatenated string score_9, score_8_up, score_7_up... became the trigger for good-looking output - a training quirk, not a design feature. Miss the prefix and your images come out worse. But those tags are Pony-specific. Feed them to base SDXL, Illustrious, or Flux and they're inert noise.
So if you swap between a Pony checkpoint and a plain SDXL one - say, Pony for stylized character work and SDXL for something else - you're stuck either editing the score tags out of every prompt or keeping two copies of everything. The author hit exactly that wall and made this node so a single boolean can flip between "Pony mode" and "normal mode" mid-graph.
How it works
The mechanism is embarrassingly simple, which is the point. When Toggle Switch is on, the node splits your tag list on newlines, strips whitespace, joins it back with spaces, and prepends it to each prompt followed by two newlines:
score_9, score_8_up, score_7_up,
your actual prompt here
When the toggle is off, the prompts come through bit-for-bit unchanged. Nothing is cached, nothing is batched, no text encoder is touched - it's just a smarter text-join that sits in front of your CLIP Text Encode node.
The inputs that matter
There are five inputs and all of them are strings or a boolean, so there's no learning curve:
- Toggle Switch - the whole reason the node exists. On = pony tags get prepended, off = pass-through.
- Positive Pony Tags - defaults to
score_9, score_8_up, score_7_up,(note the trailing comma, more on that below). Edit it to whatever your checkpoint's incantation is. - Negative Pony Tags - defaults to
score_4, score_5, score_6, the usual negative-side quality tags. - Positive / Negative - your actual prompts. Wire these from your existing prompt text.
The two Positive and Negative outputs are plain STRINGs that plug straight into CLIP Text Encode (Prompt)'s text inputs. That's the entire loop: prompt text → PonySwitch → CLIP Text Encode → your sampler.
Installing it
Zero dependencies, zero model downloads. Either route:
cd ComfyUI/custom_nodes
git clone https://github.com/ImmortalPie/ComfyUI-PonySwitch
then restart ComfyUI. Or open ComfyUI Manager, search "PonySwitch", and hit Install. The README also offers dropping the single .py file into a custom_nodes folder - that works, but the clone keeps it updatable, so just clone it.
Where people get burned
The trap isn't the node, it's the tags you feed it. If you flip your checkpoint to an Illustrious or SDXL model and leave the toggle on, you're now sending score_9 to a model that doesn't understand it. Harmless - but it won't do what you're paying for. Get in the habit of treating the toggle as part of your checkpoint swap: Pony on, everything else off.
Two minor quirks worth knowing. The default positive tags end in a trailing comma (score_7_up,), and since the node splits on newlines, not commas, that comma gets glued to your prompt. Cosmetic, and harmless for Pony, but if you're obsessive clean up the default. Also, the toggle is per-node, not per-checkpoint - there's no way to bind it to your model loader automatically, so you set it on the graph.
One honest caveat: this node is binary, and binary is a good fit for exactly one split - Pony vs. not-Pony. If you juggle three model families (Pony, SDXL, and Flux, which wants completely different prompting anyway), you'd want a multi-option switch node instead. But for the single most common juggling act in the SDXL era, this is the one I'd reach for: it's the smallest tool that does the job, and it does the job in a way you can read at a glance when you open an old workflow six months later.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| Toggle Switch | BOOLEAN | — | |
| Positive Pony Tags | STRING | score_9, score_8_up, score_7_up, | — |
| Negative Pony Tags | STRING | score_4, score_5, score_6 | — |
| Positive | STRING | — | |
| Negative | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Positive | STRING | — |
| Negative | STRING | — |