How exclusion actually works
A diffusion model already computes two predictions per step, one conditioned on your text and one unconditioned, then amplifies the gap between them. Filling the negative field swaps the unconditioned side for a second real conditioning. Instead of pushing away from nothing in particular, the model pushes away from what you wrote there.
Two facts fall straight out of that. First, the effect scales with guidance: at guidance 1 there is no gap to amplify, so the field does nothing at all. Second, the push is global. It moves the entire image away from a region of the model's space, which is why it is excellent at removing a look and poor at removing the vase on the left.
What earns a place in it
Keep it to things you have actually seen this model do wrong. A working list is three to six terms, not thirty.
- Artefacts you keep getting. extra fingers, deformed hands, watermark, text, jpeg artifacts
- A medium you did not ask for. Add illustration, 3d render, cgi when a photographic prompt keeps coming back as artwork
- A style bias in the checkpoint. Many models drift toward anime, oversaturated, or heavy bokeh, and naming that drift is the cheapest correction available
- Composition habits. cropped, out of frame, close-up when the model insists on tightening your framing
The negative prompt examples above are deliberately short. Write yours the same way: add one term, regenerate on a fixed seed, and keep it only if you can see what changed.
Why the giant pasted list does nothing
The hundred term lists that circulate were assembled for SD 1.5 in 2023 and get copied forward without testing. Two things are wrong with them.
Most terms are inert. If the model never produces mutated limbs on your prompt, listing them changes nothing except your token budget. And the ones that are not inert are often working against you: quality words like low contrast and grain quietly strip the film look people spend the positive prompt asking for. Negative prompting is subtraction, and subtracting things at random makes images flatter, greyer, and more generic.
The honest test takes two minutes. Generate once with your full inherited list, once with it empty, same seed. If you cannot tell which is which, you were carrying it for nothing.
Video, and where the field disappears
In video the terms worth naming are temporal, not anatomical: flicker, jitter, morphing, warping, sudden cut, camera shake. These are the failures that actually recur, and they respond better than object level exclusions do.
On many hosted models there is no field to fill. That is not a downgrade so much as a different design: newer text encoders read sentences well enough that the positive prompt carries more of the load, and edit passes handle the rest. If you find yourself wanting a negative prompt on a model that has none, the usual answer is to shorten the positive prompt until the unwanted element stops being implied by it.