Negative Prompt Source
Negative Prompt Source
- STRING
This is the smallest node in comfyui-prompt-library-nodes, and honestly it's the one that makes the pack's workflow shape work. It's a single source of truth for your negative prompt: pick a preset, add your own terms, and a finished negative string comes out the other side into your negative CLIPTextEncode. No more retyping the same ten garbage words into every workflow, and no more chasing a negative prompt that's drifted across a dozen saved graphs.
How it works
The node has exactly two widgets. preset offers standard and none. Standard injects a solid, generic cleanup block:
censored, worst quality, low quality, displeasing, ugly, grainy, bad anatomy, jpeg artifacts, poorly drawn, signature, bad hands, mutated hands, missing fingers, fused fingers, too many fingers
That's a Danbooru-flavored quality negative tuned for the tag-based checkpoints this pack is clearly built around - Illustrious, NoobAI, Pony-style models where the negative is mostly about quality and anatomy rather than objects. none skips it entirely for minimal prompts.
Then it appends two more things automatically: any entries in your JSON library whose folder is one of the negative folders (负面词, 负面, negative, Negative - the loader recognizes the Chinese and English spellings), and finally whatever you type in negative_terms. Everything is deduplicated and comma-formatted by the same sanitizer the rest of the pack uses.
Output is a single STRING. Wire it to the negative CLIPTextEncode text input and you're done. There's nothing else - no seed, no random, no sockets. If you want a bigger switchboard-style negative picker, this isn't it; this is the "set it once per project" node.
Installing it
Same story as the whole pack: zero dependencies, no model files, no requirements.txt. ComfyUI Manager → search "comfyui-prompt-library-nodes" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/2223290690z-hue/comfyui-prompt-library-nodes.git
Restart and find Negative Prompt Source under Prompt Manager.
Using it in practice
- Standard cleanup - set
presettostandard, leavenegative_termsempty, connect the output. That's the whole setup. - Project-specific mess -
standardplus your project's terms innegative_terms. This is where the node earns its keep: project terms live in one place instead of in every workflow you've ever saved. - Minimal negatives -
noneplus only what you need. On a lot of modern distilled checkpoints the community wisdom is a short, restated-positively negative beats a wall of tags, and this node makes the minimal path painless.
The one thing that bites people
The negative preset is baked into the node, not into the library. If you don't like it - and a generic censored/worst quality block is not what every model wants - you can't edit it through the UI. Set preset to none and lean on negative_terms or your library's negative folder. It's a small freedom cost for the convenience of not re-pasting a 30-term negative everywhere.
Given how much time people burn maintaining negatives across workflows, this node is a quiet quality-of-life win. Nothing flashy, but it removes a whole category of "why is this workflow's negative different from that one" confusion.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 2 options: standard, none | |
| negative_terms | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |