Factory Prompts Negative (Categorized)
Build your negative prompt from category switches instead of a preset
- negative_prompt
The plain FactoryPromptsNegative node makes you pick a preset and live with it. This one throws the presets away and puts the categories on the front panel as booleans, which is exactly what you want once you realize "standard" isn't quite right - you need anatomy and text removal, but the default's hair and clothing lists are fighting your character design. FactoryPromptsNegativeCategorized is the fine-control version of the same generator, and it's the one I'd actually reach for on a real workflow.
How it works
Same machinery as its sibling: a hard-coded dictionary of negative tag categories in the pack's Factory_negative_generator.py, concatenated, deduplicated, and joined into one STRING. Nothing random, no files to load, fully deterministic. What changed is the interface - every category is now an on/off switch instead of being bundled into a preset.
Six switches sit in the required section and default to on: base_quality, enhanced_quality, anatomy_control, non_realistic_style_control, composition, and text_removal. (The seventh required switch, realistic_style_control, defaults to off.) That combination is basically the pack's "standard" preset made explicit. Everything else - unwanted_mediums, color_control, background_control, clothing_control, expression_control, hair_control, technical_artifacts, nsfw_filters, violence_filters - is optional and off, so you add them deliberately.
Two switches deserve a closer look because they're the ones people get wrong:
non_realistic_style_control(on by default) addssource_cartoon,source_furry,anime_style,cel_shading, and friends. That's the "don't drift into a different art style" guardrail.realistic_style_control(off by default) adds the opposite direction -3d,photorealistic,render,real_person. If your base is anime, leaving it off keeps your negative from fighting itself. If your base is a realism model, flip it on and probably turn off the non-realistic one. Both at once means you're telling the sampler to avoid every style on Earth.
The rest of the useful bits: custom_negatives is the multiline box for your own tags, comma-separated - put your Pony score_5, score_4, score_3 or your personal pet peeves in there. strength_boost wraps the five critical terms (bad_anatomy, bad_hands, bad_face, worst_quality, low_quality) in (term:1.2) emphasis, which is a nice touch if your sampler is weak at paying attention to negatives. nsfw_filters and violence_filters bolt on the content-safety lists.
Output is a single negative_prompt STRING, straight into the negative input of a CLIPTextEncode node.
Install
Identical to the rest of the pack - zero dependencies, no models:
cd ComfyUI/custom_nodes
git clone https://github.com/HWDigi/Factory-Prompts_comfyui
# restart ComfyUI
Or via ComfyUI Manager, searching "Factory Prompt Generator", under the "Prompt Factory" category.
The honest caveat
Like everything in this pack, the output is booru-style tags for the SDXL lineage. On Pony, Illustrious, or NoobAI at normal CFG it does real work. On Flux or any guidance-distilled model at CFG 1, the negative prompt field is inert no matter how many switches you flip - the KB's own corpus data shows negative prompting only holds its ground because the SDXL lineage is still everywhere. Also expect long negatives to cost you a bit of speed; the base_quality list alone is seventeen tags. Turn off categories you don't need and you'll trim the output meaningfully. That's the whole point of having the switches.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| base_quality | BOOLEAN | true | — |
| enhanced_quality | BOOLEAN | true | — |
| anatomy_control | BOOLEAN | true | — |
| non_realistic_style_control | BOOLEAN | true | — |
| realistic_style_control | BOOLEAN | false | — |
| composition | BOOLEAN | true | — |
| text_removal | BOOLEAN | true | — |
| unwanted_mediumsopt | BOOLEAN | false | — |
| color_controlopt | BOOLEAN | false | — |
| background_controlopt | BOOLEAN | false | — |
| clothing_controlopt | BOOLEAN | false | — |
| expression_controlopt | BOOLEAN | false | — |
| hair_controlopt | BOOLEAN | false | — |
| nsfw_filtersopt | BOOLEAN | false | — |
| violence_filtersopt | BOOLEAN | false | — |
| technical_artifactsopt | BOOLEAN | false | — |
| strength_boostopt | BOOLEAN | false | — |
| custom_negativesopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| negative_prompt | STRING | — |