Tag Preset
Type one tag, get a whole preset back
- positive
- negative
Tag Preset is the pack's "expand the shorthand" node: you type a comma-separated list of trigger tags, and it looks each one up in a config file, returning the positive and negative strings those tags expand to. Type t-shirt and if you've defined a t-shirt preset you get whatever tags that preset means on the positive side and (in the shipped default) print shirt on the negative side - the point being to push "don't print a logo on it" style negative hints down into a reusable definition.
It's a sibling of Model Preset and the character/style presets, all feeding the big Prompt (full-pipe) node, and it's the one you'd use standalone when you have a growing vocabulary of shorthand you keep retyping. Think of it as a poor man's dynamic prompt: your own tag dictionary, driven by a JSONC file you edit, no wildcard parser in sight.
How it works
It lowercases and splits the text input on commas, then iterates your config/tags.jsonc presets. If a preset's trigger tag appears anywhere in the input list, its positive and negative strings get collected. All matched positives are comma-joined into the positive output, all matched negatives into negative. No match → empty strings, no error.
The matching is deliberately loose: substring, not exact token. t-shirt matches if the text contains t-shirt anywhere, and case doesn't matter. That's convenient (your trigger fires even mid-phrase) but it means a short trigger like cat will match inside scratched, category, anything. Keep triggers distinctive, or keep them exact-ish.
Inputs and outputs
- text - multiline string, the tag list to expand. (Yes, multiline for a comma list - handy when you're pasting from a notes file.)
- Outputs: positive and negative, both strings.
The default config ships with exactly one example (t-shirt → negative print shirt), so this node is a shell until you define presets. The Preset Manager web UI (button next to the Manager button, added by the pack) is the intended way to edit them.
Installing
Part of the mudknight utils pack. ComfyUI Manager → search comfyui-mudknight-utils, or:
cd ComfyUI/custom_nodes
git clone https://github.com/mudknight/comfyui-mudknight-utils
Restart. No model downloads.
Gotchas
- Empty outputs forever - you haven't defined any tags in
config/tags.jsonc. The default file is essentially an example, not a library. - False positive matches - substring matching bites.
hairmatcheshairstyleandeyebrow. If you're getting presets you didn't ask for, that's why. - Mystery negative tags in the Prompt (full-pipe) node - that node processes tag triggers itself and calls this under the hood. Same config, same matching, same surprises.
A small, honest utility in a zero-impression pack: it only does what you teach it, but once you've taught it your vocabulary, it removes a lot of retyping.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | STRING | — |
| negative | STRING | — |