Umi Prompt Profile
Score Tags, Prose, and the Node That Knows Which Model You're Talking To
- prompt
- negative_prompt
- warnings
- profile
Different model families want different prompts, and the advice for one is actively harmful on another. Umi Prompt Profile is a small node that encodes that: pick a family, and it prepends the quality or source tags that family was trained with, merges its default negatives, and then warns you when the prompt looks wrong for the target - too short, missing the tags the model expects, or written as a tag list on a model that wants sentences.
The mechanism
prompt and profile are required, negative_prompt is optional. On a run, the node loads the named entry from prompt_profiles.yaml in the pack folder, splits your prompt into tags on commas, and merges: profile positives first, then your tags. Duplicates are dropped, order is otherwise preserved. Same for the negative - the profile's negatives go in front of yours.
The shipped profiles:
- Illustrious -
masterpiece, best quality, very aesthetic, absurdres; negatives likeworst quality, low quality, bad anatomy, bad hands, text, watermark; expects at least 10 words. - Pony -
score_9, score_8_up, score_7_up, source_anime; negatives are the low scores; also 10 words minimum. - SDXL -
high quality, detailed, sharp focus, 16-word minimum, prose-or-tags. - Flux - deliberately empty. No positives, no negatives, 24-word minimum, prose style.
- None - passthrough, but it still warns if your prompt is under a dozen characters.
The fourth output, profile, echoes the resolved profile name so you can confirm which one actually applied - worth wiring to a preview while you're switching between checkpoints.
Getting quality tags in front matters
Earlier keywords carry stronger attention, which is why quality tags belong at the start rather than stapled on the end. That's the whole justification for a node that merges rather than appends: the profile's tags land in the position the model actually weighs.
The honest caveat
Quality tags are a CLIP-era tool. On Illustrious, Pony, NoobAI and their finetunes they're trained in and they help - that lineage is where the score_9, score_8_up formula came from, and where masterpiece, best quality is still standard practice. On the LLM-encoded, guidance-distilled 2026 models (Z-Image, Flux 2 Klein, ERNIE, Anima's LLM path) they don't just fail, they waste the ~75–100 effective tokens your real description wanted. Pony score tags on Anima are genuinely contested in the community; the least you can say is don't bolt them onto a model whose encoder never saw them.
So: use Illustrious or Pony for the booru-trained anime family, use SDXL for SDXL finetunes, and on a distilled model use Flux (which adds nothing and nags you about prose) or None. A profile that stuffs quality tags into an LLM-encoded prompt is doing damage while looking helpful.
Same story with profile negatives: they do nothing at CFG 1, which is where most distilled models run by default, because there's no unconditional pass for a negative to steer. On a real-CFG model (SDXL lineage, Pony, Illustrious at CFG 5-ish) they earn their place.
warnings is a newline-joined list and it's the part I'd actually keep wired: it tells you when the prompt is short for the target, when the profile's expected positive tags are absent, when the negative has none of the profile's negatives, when a tag-style prompt was handed to a prose profile, and when a <lora:...> tag is present but no LoRA info came back - which usually means a filename typo or the model/clip sockets aren't connected upstream.
Install
Core node, no separate install. ComfyUI Manager (search the pack title) or clone into ComfyUI/custom_nodes and pip install -r requirements.txt - pyyaml is the only requirement, and it's the one you can't skip, since the profiles live in YAML. Restart, then find it under UmiAI/prompt.
Editing prompt_profiles.yaml is supported and encouraged: change min_words, add tags, tune style to prose or anime_tags. The dropdown is built when the node definition is read, so a brand-new profile name needs a page reload or restart before it appears in the widget.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| profile | COMBO | None | 5 options: None, Illustrious, Pony, SDXL, Flux |
| negative_promptopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| negative_prompt | STRING | — |
| warnings | STRING | — |
| profile | STRING | — |