Nodes/Sage Utils/Pony Prefix
ComfyUI Node

Pony Prefix

Builds the score_9 incantation so you don't have to memorize it

By arcum42·Created 2 years ago·Updated 18 days ago· 32
Pony Prefix
    • string
    add_scorefalse
    score_start9
    score_end4
    ratingnone
    sourcenone

    There's a weird little piece of AI history baked into every Pony Diffusion prompt, and this node exists to spare you from typing it by hand. Pony V6 XL was trained with a quality-rating system: images were hand-scored 1–5 by AstraliteHeart, an aesthetic classifier learned those preferences, and the whole training set got captioned with score tags. The intent was graded control - "give me everything score_8 and up." What actually happened, per the team's own admission, is a training quirk where the model learned the entire concatenated string as the signal, not the individual tags. So instead of a clean modular system, you're stuck typing out score_9, score_8_up, score_7_up, score_6_up, score_5_up, score_4_up more or less verbatim if you want the quality boost to land. This node builds that string for you, plus the related rating and source tags, so you don't have to keep a cheat sheet open.

    Where it matters and where it doesn't

    This is important: score tags only mean anything on Pony V6 XL and its derivatives. They're inert on Illustrious, NoobAI, base SDXL, Flux, Chroma - anywhere else. And even within the Pony ecosystem the practice is fading - community data shows people actually writing out the full score prefix has dropped roughly 75% year over year, even though talk about the tags has barely declined, because a lot of what's left is retrospective complaint and boilerplate pasted onto models where it does nothing. Pony V7 kept the vocabulary in a weaker, non-concatenated form and its own model card concedes the tags underperform V6's. So: reach for this node on a V6-family checkpoint, skip it everywhere else, and don't paste its output into your default negative/positive template out of habit.

    Inputs and outputs

    • add_score - off by default. Toggles whether the score portion (the score_9, score_8_up… string) is included at all.
    • score_start / score_end - default 9 and 4, matching the model card's own recommended range. Rarely worth changing from the defaults.
    • rating - a combo, default none. Picks a rating_ tag (rating_safe, rating_questionable, rating_explicit per the model's own convention) to steer content rating.
    • source - a combo, default none. Picks a source_ style tag (source_anime, source_furry, source_cartoon, source_pony) that switches which of the model's trained aesthetics you're drawing from - a common trick is putting your desired source in the positive prompt and the unwanted ones in your negative.

    Output is a single string - the assembled prefix, meant to sit at the front of your positive prompt, ahead of your actual subject description.

    Installing it

    ComfyUI Manager: search Sage Utils, install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arcum42/ComfyUI_SageUtils
    cd ComfyUI_SageUtils
    pip install -r requirements.txt
    

    Restart ComfyUI. Nothing model-specific to download for this node - it just builds a string.

    Common issues

    The number one mistake is using this on a non-Pony model and being confused when it does nothing - it won't hurt anything, but it also won't help, and it'll eat a chunk of your prompt's token budget for no return. Second: if you're not seeing the quality lift you expect even on a genuine Pony V6 checkpoint, remember the mandatory string is what got trained in, not the individual tags - turning add_score off, or trimming the range, defeats the whole mechanism. And if you're on Pony V7 specifically, temper expectations: the model's own documentation admits the tags "have much weaker performance compared to V6" - this node will still build a syntactically correct string, it's the model underneath that's less responsive to it.

    CategorySage Utils/text/prompt/pony

    Inputs (5)

    NameTypeDefaultDescription
    add_scoreBOOLEANfalseInclude a generated score string in the prefix.
    score_startINT9The starting score for the prefix score range.
    score_endINT4The ending score for the prefix score range.
    ratingCOMBOnoneThe rating to include in the prefix.
    sourceCOMBOnoneThe source type to include in the prefix.

    Outputs (1)

    NameTypeDescription
    stringSTRINGThe generated Pony prefix string.