⛔ Generate Negative Prompt
The author told you not to install this. Here's what it does anyway
- negative_prompt
Most node pages oversell. This one does the opposite, and I'm going to quote it because it's the most useful thing on the page:
"This node is highly experimental, and does not produce any useful result right now. It also requires you to download a specially trained model for it. It's just not worth the effort."
MNeMoNiCuZ has marked this one Caution in the pack README for exactly that reason. So: what is it, and why would anyone touch it?
⛔ Generate Negative Prompt is a small GPT-2 text model fine-tuned on a pile of Civitai negative prompts. You give it a positive prompt (input_prompt), and it generates a negative prompt that theoretically complements it. The packaging is honest - the node description says the model is "quite weak and random", that it mostly regurgitates generic Civitai-style negative prompts, and that NSFW words may appear in the output regardless of what you asked for.
The extra install step nobody expects
This is the only node in the batch with a manual model download:
- Get
weights.ptfrom huggingface.co/mnemic/NegativePromptGenerator. - Drop it, unrenamed, into
ComfyUI/custom_nodes/ComfyUI-mnemic-nodes/nodes/negativeprompt/. - Restart ComfyUI.
Put it anywhere else and the node won't find it. That's a real friction point - you can't stash it with your other models in models/, because the code looks in its own subfolder.
Inputs
Beyond input_prompt, everything is sampling control for the little language model: max_length (token cap, default 100), num_beams (beam search width - higher is more "accurate" and slower), temperature (default 1.0), top_k (default 50), top_p (default 0.92), and blocked_words for words you never want to see. Lower temperature or top_p makes the output more deterministic and more repetitive; that's the tradeoff, and there isn't a setting that makes it clever.
One small trap: blocked_words ships with guidance text as its default value ("Blocked words, one per line, remove unwanted embeddings or words"). Clear the field before typing, or you're blocking those literal words. Single output: negative_prompt, a STRING you wire into your negative conditioning.
The bigger problem with the premise
Even if the model were good, a generated negative prompt is a solution looking for a problem. A negative prompt isn't a filter and doesn't remove anything - classifier-free guidance already runs an unconditioned pass, and your negative text just replaces the empty string in it. Two consequences follow:
- It does nothing at CFG 1, and nothing at all on models designed to run there: Flux Dev, Flux Schnell, the Turbo/Lightning family, Z-Image Turbo. ComfyUI skips computing that pass entirely. If you're on one of those checkpoints, this node can generate beautifully and change absolutely nothing about your image.
- Generic quality boilerplate is the contested part. The
worst quality, low quality, bad anatomy, extra fingerswall has been argued about since 2022 and mostly doesn't survive a fixed-seed A/B test. Naming the specific defect you can actually see in your output works; a random 40-word list from a GPT-2 fine-tune is a coin flip.
If you want a good generated negative prompt, the sane route in 2026 is a modern LLM node - Groq's free tier, a local abliterated 8B, whatever you already have - with an explicit instruction. The ⛔ node exists, the author is upfront that it's a work in progress he's sharing rather than a tool, and it's worth taking him at his word.
Install (such as it is)
cd ComfyUI/custom_nodes
git clone https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes
Restart, then add the weights.pt file as above. The pack's requirements include transformers and torch, which this node does need - so for once the heavyweight install is actually load-bearing.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| input_prompt | STRING | The positive prompt you want to generate a negative prompt for. | |
| max_length | INT | 1001–1024 | Maximum token length of the generated output. |
| num_beams | INT | 11–10 | Number of beams for beam search. Higher values improve accuracy. |
| temperature | FLOAT | 1.00.1–2 | Sampling temperature. Lower values make the output more deterministic. |
| top_k | INT | 500–100 | Limits how many of the most likely words are considered for each choice. For example, top_k=50 means the model picks from the top 50 most likely words. A lower value narrows the choices, making the output more predictable, while a higher value adds diversity. |
| top_p | FLOAT | 0.920–1 | Limits the pool of words the model can choose from based on their combined probability. Set it closer to 1 to allow more variety in output. Lowering this (e.g., 0.9) will restrict the output to the most likely words, making responses more focused. |
| blocked_words | STRING | Blocked words, one per line, remove unwanted embeddings or words | Words to exclude from the output. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| negative_prompt | STRING | The generated negative prompt |