ArtificialGuyBR

Home / Blog / Prompting and control

Negative Prompts by Model: What Actually Works

Negative prompts work on SD 1.5 and SDXL but do nothing on Flux dev, SDXL-Turbo and Pony by default. See what steers each model family.

12 sources cited Prompting and control

Negative Prompts by Model: What Actually Works

TL;DR

What is a negative prompt, and why does it only work with CFG?

A negative prompt is text you want the model to avoid. On CFG-trained models, the sampler compares a prompt-conditioned pass with an empty-string "unconditional" pass each step; the negative prompt replaces that empty string, so the sampler steers toward your prompt and away from the negative.

The AUTOMATIC1111 webui implements it exactly that way: "The way negative prompt works is by using user-specified text instead of empty string for unconditional_conditioning when doing sampling," and the sampler "will look at differences between image de-noised to look like your prompt... and an image de-noised to look like your negative prompt... and try to move the final results towards the former and away from latter" (A1111 wiki).

The guided step is a linear combination: (1 + w)·ε_conditional − w·ε_unconditional, where w is the guidance weight (Ho & Salimans, Classifier-Free Diffusion Guidance). The negative term is multiplied by w, so if w is zero, the negative contributes nothing — the exact reason distilled and guidance-distilled models ignore negatives. SD 1.5 was trained for this: its card notes "10 % dropping of the text-conditioning to improve classifier-free guidance sampling" (SD 1.5 card), and SDXL uses the same mechanism with two text encoders (SDXL card). For the broader picture, see our CFG scale explainer.

A negative prompt steers, it does not forbid. "Watermark" in the negative does not guarantee a watermark-free image; it pushes the sample away from watermark-like outputs.

Do negative prompts work on Flux?

No, not by default. Flux dev is guidance-distilled: the conditional-and-unconditional combination was baked into one model during training, leaving no separate unconditional pass for a negative prompt to fill. The negative_prompt argument is ignored unless you explicitly switch on true CFG.

The diffusers docs are explicit. Flux dev's guidance_scale is "Embedded guiddance scale," where "Guidance-distilled models approximates true classifer-free guidance for guidance_scale > 1," and the negative_prompt argument is "Ignored when not using guidance (i.e., ignored if true_cfg_scale is not greater than 1)" (diffusers Flux docs). The distillation paper explains the mechanism: "we first learn a single model to match the output of the combined conditional and unconditional models," with the guidance value "fed as an input to the student model" (Meng et al., On Distillation of Guided Diffusion Models). One model, one pass, no slot for the negative.

The ComfyUI single-file Flux dev checkpoint reflects the same default: "Make sure you set CFG to 1.0 when using it" (ComfyUI Flux examples). For wiring this up in a node graph, see our ComfyUI Flux setup guide.

What is true_cfg_scale in Flux?

true_cfg_scale re-enables real classifier-free guidance on Flux. It defaults to 1.0 (off); the docs state "True classifier-free guidance (guidance scale) is enabled when true_cfg_scale > 1 and negative_prompt is provided" (diffusers Flux docs). Setting it above 1 reintroduces a genuine second, negative pass — at the cost of the extra inference compute that distillation was meant to remove. For most Flux dev workflows, skip the negative and lean on the prompt.

Two numbers float around Flux dev: diffusers recommends guidance_scale=3.5 while ComfyUI says "CFG to 1.0." They are not in conflict. In diffusers, guidance_scale is the embedded-guidance value fed to the distilled model; in ComfyUI, the sampler's "CFG" is the true-CFG weight, which must be 1.0 because Flux dev has no real unconditional branch. They parameterize different things.

Flux schnell is the timestep-distilled sibling and is stricter still: its docs require guidance_scale to be 0 (diffusers Flux docs). With no guidance weight, there is nothing to multiply the negative by.

Do negative prompts work on SDXL-Turbo and other distilled models?

No. SDXL-Turbo and SD-Turbo both disable guidance entirely with guidance_scale=0.0. Since the negative term is weighted by the guidance value, with no guidance there is nothing to apply the negative — use the non-distilled parent model when you need negative steering.

Both cards state it outright. SDXL-Turbo (distilled from SDXL 1.0 via Adversarial Diffusion Distillation) and SD-Turbo (distilled from SD 2.1) share the same sentence: "SDXL-Turbo does not make use of guidance_scale or negative_prompt, we disable it with guidance_scale=0.0" (SDXL-Turbo card; SD-Turbo card). With guidance_scale = 0, the guidance term that would weight the negative is absent, so the negative is never applied.

The LCM-SDXL card takes a middle path, recommending you "either disable guidance_scale or use values between 1.0 and 2.0" for its 2–8-step regime (LCM-SDXL card). Whether negatives meaningfully steer at that low guidance is not documented by the card, so test before relying on it.

What negative prompt should I use for SD 1.5 vs SDXL?

Both run true classifier-free guidance, so the same short, scene-specific approach works on either. SDXL's real differences are resolution (1024px) and dual text encoders, not the negative mechanism. No official card prescribes a canonical keyword list.

Community lists for SD 1.5 commonly include "deformed," "bad anatomy," "extra limbs," "watermark," and "out of frame," but these are practitioner guidance, not spec. Keep negatives short and scene-specific: a giant copy-pasted block fights your positive, especially when a term appears in both fields. The same token in positive and negative both enter the guided score and partially cancel, so the net pull is reduced or contested rather than the generation "failing." For weighting individual tokens, see our prompt weighting guide.

SDXL also ships a separate refiner that processes "the 1024×1024 SD-XL image near completion" (A1111 wiki); the refiner takes its own prompt and negative. For working with the base+refiner pair, see our SDXL refiner guide.

Does Pony Diffusion need a negative prompt?

No — by design. Pony V6 XL uses score tags (score_9, score_8_up, ...) for quality steering and was built to need no negative prompt. Negatives still technically work since it is an SDXL finetune, but they cannot reliably remove training-baked artifacts like pseudo-signatures.

The card is explicit: the model "is designed to not need negative prompts in most cases and does not need other quality modifiers like 'hd', 'masterpiece', etc.," and supplies a template of score_9, score_8_up, score_7_up, score_6_up, score_5_up, score_4_up, just describe what you want, tag1, tag2 (Pony V6 XL card). The score tags carry the aesthetic steering a generic SDXL user would otherwise chase with negatives.

Pony exposes a hard limit of negative prompting: training-baked artifacts. The card warns the model "will sometimes generate pseudo signatures that are hard to remove even with negative prompts, this is unfortunately a training issue," and suggests V5.5 or inpainting instead (Pony V6 XL card). Two setup notes often mistaken for "negatives not working": Pony requires clip skip 2 or you get "low quality blobs," and the recommended base settings are Euler a, 25 steps, 1024px (Pony V6 XL card).

Settings by model family

ModelNegative works by default?Guidance / CFGNotesSource
SD 1.5YesTrue CFG (card evaluates 1.5–8.0)Trained with 10% text-drop for CFGSD 1.5 card
SDXL baseYesTrue CFG1024px, dual encoders, optional refinerSDXL card
Pony V6 XLWorks, but unneededTrue CFGUse score tags; clip skip 2; Euler a, 25 steps, 1024pxPony V6 XL card
Flux devNo (ignored unless true_cfg_scale > 1)Embedded guidance, 3.5Set true_cfg_scale > 1 + negative to enable true CFGdiffusers Flux docs
Flux schnellNo0 (required)Timestep-distilled, 4 stepsdiffusers Flux docs
SDXL-TurboNo0.0 (disabled)ADD-distilled, 1–4 stepsSDXL-Turbo card
SD-TurboNo0.0 (disabled)ADD-distilled from SD 2.1SD-Turbo card
LCM-SDXLPartially1.0–2.0 or disabled2–8 steps; negative effect undocumentedLCM-SDXL card

Common errors and fixes

SymptomCauseFixSource
Negative has no effect on Flux devGuidance-distilled; negative_prompt ignored unless true_cfg_scale > 1Set true_cfg_scale > 1 and supply a negative (adds compute)diffusers Flux docs
Negative has no effect on SDXL-Turbo / SD-TurboADD-distilled, guidance_scale=0.0; no guidance term weights the negativeUse the non-distilled parent (SDXL / SD 1.5) when negatives are requiredSDXL-Turbo card
Pony V6 outputs "low quality blobs"clip skip not set to 2Set clip skip = 2 (or −2)Pony V6 XL card
Pony V6 keeps producing pseudo-signatures despite a "signature" negativeTraining-baked artifact; negatives are weak against itUse V5.5 or inpaintingPony V6 XL card
Result drifts oddly when a word is in both promptsBoth terms combine in the guided score; the net pull is reduced or contestedRemove the term from one field; negatives steer, they do not forbidA1111 wiki

FAQ

Do negative prompts work on Flux? Not by default. Flux dev is guidance-distilled, so its negative_prompt argument is ignored unless you also set true_cfg_scale above 1, which re-enables true classifier-free guidance at extra compute cost. Flux schnell requires guidance_scale=0, so negatives have no weight to act through there at all.

Why does my negative prompt do nothing on SDXL Turbo or Flux dev? Both disable the guidance term that multiplies the negative. SDXL-Turbo runs at guidance_scale=0.0 by design, and Flux dev has no separate unconditional pass for the negative. Switch on true CFG (Flux) or use a non-distilled model (Turbo) to make negatives work.

What negative prompt should I use for SD 1.5 vs SDXL? Both run true CFG, so the same short, scene-specific approach works on either. SDXL's differences are resolution (1024px) and dual text encoders, not the negative mechanism. No official card prescribes a canonical list; community staples like "deformed," "extra limbs," and "watermark" are guidance, not guarantees.

Does Pony Diffusion need a negative prompt? No. Pony V6 XL was designed to need no negative prompt and uses score tags (score_9, score_8_up, ...) for quality steering instead. Negatives still technically work since it is an SDXL finetune, but they cannot reliably remove training-baked artifacts like pseudo-signatures.

What is true_cfg_scale in Flux? It switches Flux from embedded guidance to real classifier-free guidance. Defaults to 1.0 (off); setting it above 1 with a negative_prompt enables a genuine second, negative pass. Use it only when you need negative steering — it adds inference cost.

Do I need a negative prompt with distilled or Turbo models? No — and on SDXL-Turbo and SD-Turbo the negative is explicitly disabled with guidance_scale=0.0. Distilled few-step models trade the guidance mechanism away for speed. If negative steering matters to your result, use the full parent model rather than the distilled variant.

What does clip skip 2 mean for Pony? It tells the loader to stop reading the CLIP text encoder two layers early. Pony V6 XL requires it — without clip skip 2 the model produces "low quality blobs." It is a configuration requirement, not a negative-prompt setting, but it is often mistaken for "negatives not working."

Sources