fbpx

How to use positive and negative prompts in Stable Diffusion

The most effective way to make the AI do what you want is to put the important words at the beginning of the prompt.  This cannot be overstated. This wins every time.

Your second best way Positive and Negative prompts, which generally speaking can go anywhere, because they arm your words with weight, or take weight away from visual elements in the picture.

Some fundamentals first

For example, if I want to see a beautiful woman, I can of course prompt:

(beautiful woman)

and that is stronger than without the parenthesis, as explained in the cheat sheet at the top of the guide. But we can also add what don’t want to see to make our request even clearer:

(a beautiful woman) [ugly, hideous, nasty, foul, grandma]

The square brackets are negative prompts. You can beautify a photo by helping the AI with guiding words to get the result you want.  Generally speaking, AI is hilariously bad at figuring out things like human anatomy so you’ll often see negative tags that close the gap, like:

(a beautiful woman) [mutated fingers, two heads, five legs, credit card debt]

Where to put negative prompts

You can type them right in this box or after /render. If your editor looks like this, you’re in the easy mode section of our site.  Use the symbols you learned to write everything in one line.  If you prefer two boxes, we also have that.

Alternatively, you can hit the “advanced” in the web UI to split the prompt box into two sections (shown below)

You can also use shorthand syntax of (positives, like this) and [negatives, like this] and add more brackets to boost the effect.

FAQ: Where’s the difference between weighting a prompt like this:
(((prompt))) and using parser:new this: (prompt:1.5)

Cheat sheet:

a (word) – increase attention to word by a factor of 1.1
a ((word)) – increase attention to word by a factor of 1.21 (= 1.1 * 1.1)
a [word] – decrease attention to word by a factor of 1.1
a (word:1.5) – increase attention to word by a factor of 1.5
a (word:0.25) – decrease attention to word by a factor of 4 (= 1 / 0.25)
a \(word\) – use literal () characters in prompt

Example of a prompt without positives and negatives:

Let’s try that again by emphasizing beer by typing ((((beer))))

Syntax (web and Telegram)

Put words in [square brackets] to de-emphasize them in the output. Use this to remove unwanted items, or shift the focus of the subject slightly.

/render Seamonster [ocean]

You can use any number of square brackets to further push down a prompt, but it only works to a certain point.

/render Seamonster [[[[[ocean]]]]]

With it, you can definitely achieve results with negative prompts that are impossible otherwise.

Use case demonstration:

Positive Prompts

Inversely, you can make a concept more pronounced with positive prompts using parenthesis. Let’s compare the results:

/render a sandal made of bread

Not quite what we were going for, so let’s add more emphasis:

/render a (sandal) made of (bread)

That’s more like it!

 

What happens when you mix [[negatives(with positives)]]

In a word, don’t.

If your prompt reads like a push and pull, it begins to add artifacts.  For example if you’re saying (((((((((this))))))))) [[[[[[[[[[[[also this]]]]]]]]]]]]]]]]] and those things are similar or clash, it will result in blotches. This is especially true for LoRAs, which are small files “overtrained” to only do one thing. You can’t get a LoRA to bend as much as a well-made base model. Avoid getting into a shouting match by being as clear with your request and organizing your most important words at the start of the prompt.

If you want something to be something more important, add the positive type parenthesis brackets.  If something is less important, the square ones.

But here’s an example of how they cancel out.

Very important red, white slightly not important.  Blue not important at all, black important. The image greatly prefers red, because it’s at the start of the prompt, and because positives tend to outweigh negatives. Consider this prompt by community member Hampsteri to test the theory:

/render /seed:42 /guidance:9 ((( red [ white ] ))) [[[ blue ( black ) ]]] <dreamlike>

Same prompt, in <lofi> — a model best known for color accuracy, same result:

A common mistake most of us make when starting on Stable Diffusion is correlating quality with long prompts.  This is overwhelmingly not the case.

Long prompts become long because they are created with small measured steps. Go for little wins. Start small, add a little, see what happens, then add some more. If you start right away with a giant block of text and it results in artifacts or the wrong pose, adding more positives and negatives is only going to make you more hopeless when it doesn’t work the second and third time. Don’t set yourself up for failure.

Start small, write clear and organized prompts in order of priority, and build from there little by little.

What to do when the AI is stubborn

Trying to render a painting of a man walking in the rain without an umbrella is hard. Think about it. All of the training data with people walking in the rain will have some sort of hat or rain cover or umbrellas, because the AI models aren’t trained on dramatic film moments where people aren’t bothered with catching the flu. So in this case, even this will not work.

A woman definitely not carrying an umbrella [[[[[[[umbrella]]]]]]]]]

Stick to your fundamentals.  Putting the negative umbrella as the first word in the prompt will fix it.  But a few umbrellas still snuck in. So what to do?

/render a man standing in the pouring rain ((nothing above his head at all)), looking at the viewer [[[[[[[[[[rain hat, hat, umbrella, parasol, raincoat, canopy, sunshade, parapluie, rainshade, gamp, bumbershoot]]]]]]]]]] <level4>

Strategy: the absence of space is easy to understand. If there is nothing above a man’s head as the first word of the prompt, the umbrella will rarely appear.

The umbrella may also be understood with slang or other words or kinds of things like hats, so to be super thorough you can kill those too with negatives.

But this suddenly went full MATRIX so the best answer was somewhere in between.  Take your time and use /steps:wayless to get nine ideas back fast.

Before typing a wall of text to make a correction, think about it from a different perspective! The prompt doesn’t have to be long.