Skip to content
Image prompts

Stable Diffusion Prompt Generator

Build keyword prompts, weights and negative prompts for SDXL and SD 1.5 in seconds.

Stable Diffusion prompt generator building a keyword prompt with weighting and a negative prompt for SDXL
Stable Diffusion Prompt Generator
Build keyword prompts, weights and negative prompts for SDXL and SD 1.5 in seconds.

Runs entirely in your browser. Your text is never uploaded.

Stable Diffusion does not read a prompt the way a chatbot does. It tokenizes your text, turns it into an embedding, and uses that embedding to steer every denoising step from static noise toward an image. A polite English sentence spends most of its budget on words that carry no visual signal. A tight stack of nouns and modifiers spends all of it on pixels.

The generator above is our image prompt generator preset for Stable Diffusion, so it hands you comma-separated tags plus a matching negative prompt instead of prose. It runs entirely in your browser. Nothing gets uploaded, nothing is stored, and there is no account to create.

Write in keywords, not sentences

Put these side by side:

  • "A beautiful photograph of an old fisherman who is standing on a dock at sunset"
  • "old fisherman, weathered face, standing on wooden dock, sunset, golden hour, 85mm, highly detailed"

Same idea. The second version gives the model a dozen usable visual anchors instead of three. Three habits carry most of the improvement:

  • Lead with the subject. Early tokens tend to dominate composition, so bury the subject at the end and it gets treated as an afterthought.
  • Separate with commas. Each comma-separated chunk behaves like a tag the model can latch onto independently.
  • Delete adjectives that describe nothing visible. "amazing", "perfect" and "stunning" burn tokens without moving a single pixel.

A block order that holds up across checkpoints: subject, subject details, pose or action, setting, lighting, camera or medium, art style, quality tags.

neon-lit ramen stall, rain-slick alley, Tokyo at night, steam rising, reflections on wet asphalt, cinematic lighting, 35mm, shallow depth of field, film grain

Thirteen chunks, zero filler. If you are new to describing images this precisely, the guide to writing image prompts walks through each block with before-and-after examples.

Weighting: tell the model what actually matters

Most Stable Diffusion front-ends (AUTOMATIC1111, Forge, ComfyUI, InvokeAI) support attention weighting. Wrap a term in parentheses with a number and you scale how hard the sampler pulls toward it.

  • (red scarf:1.3) — roughly 30% stronger than default
  • (background:0.7) — pushed back, less insistent
  • ((crown)) — the legacy nested form, about 1.21x; the explicit number is easier to reason about

Stay inside 0.6 to 1.5. Past about 1.6 you start seeing colour bleed, duplicated limbs, or a subject that eats the whole frame. When two concepts fight each other, lower the one you care less about instead of raising the one you want. Turning things down deforms the image far less than cranking things up.

Tip: Change one weight at a time and keep the seed fixed. If you edit the weight, the wording and the sampler in the same run, you learn nothing about which change did the work.

Negative prompts matter more here than anywhere else

Midjourney and DALL-E give you almost no control over what to avoid. Stable Diffusion gives you a full second prompt, and it is not a filter bolted on afterward. Every step, the sampler runs the model twice: once conditioned on your prompt, once conditioned on the negative, then pushes the result away from the negative. Leave that field blank and it silently uses the empty string, which is why blank-negative images so often look soft and muddy.

portrait of an old fisherman, weathered face, salt-crusted beard, golden hour, harbour in background, 85mm, highly detailed Negative prompt: blurry, low quality, extra fingers, deformed hands, watermark, text, jpeg artifacts, oversaturated, cartoon

Keep your negative honest. A 60-token wall of everything you have ever seen recommended will flatten style along with the flaws. Start with anatomy fixes, compression artifacts and watermarks, then add terms only when you actually see the problem. Our negative prompt generator builds a starting list from the subject you are shooting, which beats copying someone else's block from a forum.

CFG, steps, sampler and seed in plain language

  • CFG scale decides how literally the model obeys your text. Around 3 it improvises. Around 7 it follows you while keeping natural texture. Above 12 it over-commits: crunchy contrast, fried colours, mangled hands. Photorealism likes 5 to 8. Illustration tolerates 7 to 10.
  • Steps is how many denoising passes it runs. Modern samplers land clean images by 20 to 30. Going to 80 mostly buys you a longer wait and a slightly different picture, not a better one.
  • Sampler is the algorithm that removes noise. DPM++ 2M Karras is the safe default. Euler a is non-deterministic in a useful way and shifts noticeably with step count. Pick one and stop touching it while you tune the prompt.
  • Seed is the starting noise pattern. Same seed plus same prompt plus same settings equals the same image, every time. That reproducibility is the single most useful thing Stable Diffusion has that closed tools do not.

SDXL and SD 1.5 want different prompts

SDXL has a much stronger text encoder, so it handles short natural phrases that would confuse 1.5. You can write "a woman reading a letter by candlelight, seventeenth century Dutch painting" and get something coherent. It also needs far fewer quality tags. Chains like "masterpiece, best quality, 8k, ultra detailed, trending on artstation" were crutches for 1.5's weaker encoder; on SDXL they mostly add a generic sheen.

SD 1.5 rewards the opposite: dense tags, explicit weighting, longer negatives, and heavy leaning on community checkpoints. It was trained at 512x512, so asking for 1024x1024 directly tends to produce two heads or a doubled torso. Generate at 512x768, then upscale.

SDXL was trained at 1024x1024 and handles 832x1216 or 1216x832 comfortably. Feed it a 512px canvas and quality drops instead of improving. Whatever base you use, keep dimensions as multiples of 64.

Checkpoints and LoRAs change what your words mean

The same prompt produces wildly different results on different checkpoints, because a checkpoint is a fine-tune with its own vocabulary. Anime models expect Danbooru-style tags. Photoreal merges expect camera language. A model trained on captioned art responds to artist and movement names. Browse what a checkpoint's author wrote on Hugging Face before assuming your prompt transfers, and check Stability AI for what each base release was actually trained on.

LoRAs sit on top and are invoked with syntax like <lora:filmgrain_v2:0.7>. That trailing number is strength. Two or three LoRAs at 1.0 each will fight and produce mush; 0.5 to 0.8 usually blends better. Many LoRAs also need a trigger word in the prompt to do anything at all.

Iterate with a fixed seed

This is the workflow that separates people who get what they want from people who reroll for an hour.

  1. Generate a batch of four to eight on random seeds until one composition looks close.
  2. Copy that seed and lock it.
  3. Change exactly one thing — a weight, one tag, CFG by a single point.
  4. Regenerate and compare. The composition stays put, so the difference you see is the difference you made.
  5. Once the prompt is right, set the seed back to random and batch out variations.
architectural photograph, brutalist concrete library, (morning fog:1.2), low angle, wide shot, cold overcast light, ultra wide 16mm lens, sharp detail Negative prompt: people, cars, warm tones, blurry, distorted perspective, low resolution

Same discipline applies to text models, and the reasoning behind it is laid out in prompt engineering fundamentals. Writing for other image models is a different dialect: see the Midjourney prompt generator for parameter-driven syntax, or the DALL-E prompt generator if you want full descriptive sentences instead of tags.

FAQ

Frequently asked questions

Yes, completely. There are no credits, no trial limit and no paid tier gating the output. GetEasyPrompt runs the generator in your browser, so we are not paying per request and have nothing to meter.
No. There is no sign-up, no login and no API key. Your prompt text stays on your device and is never sent to a server, which also means nothing you type here is logged or stored.
A negative prompt is a second list of terms the sampler actively steers away from at every denoising step, not a filter applied at the end. Leaving it empty is why so many images come out soft or muddy. Start with anatomy and artifact terms like extra fingers, deformed hands, watermark and jpeg artifacts, then add more only when you see a specific problem.
CFG 5 to 8 with 20 to 30 steps covers most photorealistic work, and 7 to 10 suits illustration and stylised output. Above CFG 12 the image gets fried: crunchy contrast, blown colours, broken hands. More than about 40 steps rarely improves anything with modern samplers like DPM++ 2M Karras.
Yes. SDXL has a stronger text encoder, so short natural phrases work and long quality-tag chains like masterpiece, best quality, 8k mostly add a generic sheen. SD 1.5 wants dense comma-separated tags, explicit weighting and a longer negative prompt. Resolution differs too: generate around 512x768 on 1.5 and 1024x1024 or 832x1216 on SDXL.
The prompts you generate here are yours to use however you like, with no attribution required. Whether the resulting images are safe commercially depends on the model licence, so check the terms of the specific checkpoint or LoRA you loaded, since many community fine-tunes on Hugging Face carry non-commercial or attribution clauses that the base Stability licence does not.

Write your next prompt in seconds

Turn a rough idea into a clear, structured prompt any AI can follow. Free, private, and no account needed.

Open the Prompt OptimizerSee all tools