The Diffusion Guide · ch.2 · the knobs
🎨 Chapter 2 · The knobs

Same prompt, different knobs

The exact same words can come out dreamy, faithful, or deep-fried. None of that difference comes from the prompt — it comes from five sliders most people nudge at random and never learn to drive on purpose.

In Chapter 1 you learned the trick: seeded static, guessed noise, subtract a bit, repeat, decode. That whole machine is a pure function of its settings — which means the settings are where all your control lives.

This is the hands-on chapter. Five knobs, one habit. By the end you'll know what each slider actually trades, why "turn everything up" is the wrong instinct, and a repeatable way to find your own taste instead of copying someone's blog-post numbers.

1The knobs are style controls, not quality controls

Here's the reframing that changes everything. Almost everyone treats Steps and Guidance as "make it better" dials — crank them and the picture improves. That's not what they do. There is no "quality" slider hiding in DiffusionBee. Every knob trades one kind of image for another:

  • loose vs literal — how tightly the result hugs your exact words.
  • soft vs crunchy — dreamy and desaturated, or sharp and over-cooked.
  • fast vs converged — how long the sculptor works before you call it done.

Once you stop asking "which setting is best?" and start asking "which trade do I want?", the whole panel gets calmer. The rest of this chapter is: what each knob trades, and a scientist's habit for finding the settings you like.

💡
An FP way to hold it: a render is render(knobs): Image — a pure function. You're not improving an image, you're picking a point in a parameter space and reading off what's there. Same knobs, same pixel — every time.

2Steps: how long the sculptor works

Steps is the loop count from Chapter 1 — how many times the app guesses the noise and subtracts a slice. The work isn't spread evenly: early steps set the big decisions (composition, pose, layout), late steps only polish texture and edges.

Which means the returns fall off a cliff. Going 20 → 30 steps is a real, visible upgrade. Going 50 → 150 mostly heats up your MacBook. For most samplers the sweet spot is 25–40. And critically: more steps does not make the image obey your prompt harder — that's the next knob's job entirely. Drag through it:

Interactive · the diminishing-returns curve Drag the slider or the chart · toggle ancestral
30 steps · 95% converged · ~18s on a MacBook

The shaded band is the zone where you get nearly all the payoff for a fraction of the wait. Notice the render-time line just keeps climbing in a straight line while the quality curve has already flattened — that gap is pure wasted battery. (Flip the ancestral toggle and watch the quality line refuse to settle; we'll unpack why in the next-but-one section.)

3Guidance scale: how hard the prompt grabs the wheel

Recall the clever bit from Chapter 1: every step the model makes two noise guesses — one with your prompt, one with nothing — and pushes along the difference between them. Guidance (labeled CFG in most tools) is simply how much it multiplies that push. That's the whole knob.

  • Low (1–4) — the model daydreams. Loose, soft, desaturated, only prompt-adjacent. It wanders off toward whatever it finds pretty.
  • Mid (6–9) — the usual home base. The prompt steers firmly without strangling the picture.
  • High (12+) — over-literal and over-amplified. Saturation blown out, edges crunchy, halos and posterization everywhere. The community calls this deep-fried, and once you've seen it you cannot un-see it.

This is the single most style-altering slider in DiffusionBee. Crank it and watch a calm scene turn into a neon deep-fry:

Interactive · the guidance dial Slide from daydream to deep-fried
guidance 7.5 · zone: balanced
4 7.5 12
🍟
Deep-fried is a CFG problem, not a steps problem. If your image matches the prompt yet looks harsh, washed-out and oversaturated at the same time, don't add steps and don't touch the seed — drop guidance back toward 7–8. Adding steps to a deep-fried image just deep-fries it more slowly.

4Samplers: different routes down the mountain

Every sampler solves the exact same problem — get from static to image — but each takes a different numerical route to do it. The names are alphabet soup (Euler, DDIM, DPM++ 2M Karras, and a dozen cousins), and staring at them is a great way to waste an afternoon. In practice only two properties matter:

  • How few steps it needs to converge. Some samplers get a clean image in 20 steps; others want 40+ for the same result.
  • Whether it's ancestral. An ancestral sampler re-injects a little fresh noise on every step (that's the "a" in Euler a). So the image never fully settles — it keeps drifting even as you add steps. Great for variety, terrible for reproducibility, and the reason that wiggling line in the steps widget never flattens.

The practical advice is boring and correct: pick one non-ancestral sampler, learn where its sweet spot is, and stop switching. Sampler-hopping feels productive and teaches you nothing, because you're changing the route and the step count and your expectations all at once.

🧭
A fine default to commit to: DPM++ 2M Karras at ~25–30 steps. Non-ancestral, fast to converge, reproducible. Learn that before you go collecting samplers.

5The seed: your reproducibility anchor

From Chapter 1: same seed + everything-else identical = the same image, pixel for pixel. That fact isn't trivia — it's the foundation of every good tuning workflow, and it gives you the one rule that makes this whole chapter usable:

freeze the seed · move exactly one knob · look

If you want to learn what a knob does, lock the seed and change that knob only. The composition stays put, so any difference you see is caused by the thing you moved. Change two things at once and you've learned nothing — you can't tell which one did what.

Second habit: keep a little notes file (or lean on DiffusionBee's built-in history) of the seeds you loved. A good seed is a reusable composition — a pose and a layout you can come back to and re-dress with a new prompt. Seed-locking is also step one of holding a character steady across a whole set of images, which is exactly where Chapter 4 picks up.

6Negative prompts and resolution

Two smaller knobs worth a minute each.

Negative prompt — steer away from a list

Remember the "guess with nothing" branch from the guidance section? A negative prompt swaps that "nothing" for a list of things you specifically don't want, so the push now points firmly away from them: blurry, extra fingers, watermark, text. It's subtraction, not magic — a way to say "…but none of that." It works best sparingly; stuff twenty words in there and you start carving away things you actually wanted.

Resolution — stay near the model's home turf

Every model has a native training size. Classic Stable Diffusion lives around 512×512; SDXL-class models around 1024. Render far from that size and the model tiles what it knows — you get stretched subjects, or twinned ones: two heads, a cloned torso, a landscape that repeats. Generate near the native size, then upscale afterward if you want it bigger. Cheaper, and no extra limbs.

👯
Two-heads bug? That's almost always resolution, not a cursed seed. You asked for a shape much taller or wider than the model was trained on, so it drew its subject twice to fill the space. Pull the dimensions back toward native and generate again.

7The scientist's workflow: change one thing

Here's how people who are actually good at this learn parameter taste — not from blog posts, from looking. The tool is the X/Y grid: fix the seed, put one knob on each axis, render the grid, and study it side by side. The picture that emerges is worth more than any table of "recommended settings."

Lock the seed and vary one axis — the composition holds still while only the appearance shifts, so you can see exactly what that knob costs. Try it: switch the axes, lock the seed, and click any cell to read its settings.

Interactive · the X/Y grid explorer Change the axes · lock the seed · click a cell
click a cell to see its settings

DiffusionBee may not render a grid for you natively — a batch plus your notes file does the same job. The habit is the point: freeze everything, vary one thing, compare. That's the entire scientific method, applied to a slider.

Once the knobs are tamed, there's a bigger lever left: changing the artist. Instead of tuning how the current model behaves, you can patch the model itself with a small style file. That's LoRA, and it's next.

8A generation is a pure function of its config

All of this rests on one fact: a render depends only on its knobs. Bundle them into a value, and generating is just applying a function to it — which is precisely why a grid works. An X/Y grid is a nested loop over one changing field. Flip the languages; the shape is the same.