One great image is luck; fifty images that clearly belong together is a system. This chapter builds that system — first with recipes you write down and freeze, then by teaching the model your style from your own samples.
You've spent three chapters learning the machine: static and a seed (Ch.1), the knobs that shape it (Ch.2), the patches that bend it toward a look (Ch.3). Here's what it was all for — making images that don't just look good one at a time, but clearly belong to each other.
The gap between "I got a lucky one" and "I can produce a matching set on demand" isn't talent. It's bookkeeping. Everything you already know becomes an ingredient you write down and freeze — and when prompts alone can't carry the look, you teach the model your style from your own pictures.
A great image once is a screenshot. A matching set on demand is a recipe: every choice that affects the look gets written down and frozen, so tomorrow's image can rhyme with today's. Nothing here is new — it's the whole book, promoted from "things you understand" to "ingredients you pin."
The plot of this chapter: recipes first — squeeze consistency out of what you already have, no training. Then, when recipes hit their ceiling, train your own LoRA so the model actually knows your style.
The cheapest consistency trick there is: a style block — a chunk of words you append to every prompt, unchanged. It carries the look; the subject is the only thing you vary.
… — watercolor and ink, muted teal and rust palette, soft morning light, thick paper texture
Write "a lighthouse", "a fox", "a train station" — then paste that same block after each. The subject changes, the block never does. Keep it in a notes file and paste it exactly: "soft light" and "gentle lighting" are near-synonyms to you, but the text encoder from Ch.1 turns them into different numbers, so they land measurably differently. Verbatim is the whole point.
This is the Chapter 2 payoff. Once a project has a look, the dials stop being a playground: one sampler, one step count, one guidance value — forever, per project. Every time you change a knob "just to try", you introduce a variable, and variables are exactly what a consistent set can't afford.
Seeds get the same discipline, with a twist. Run a seed sweep — same everything, seeds 1 through 20 — and keep a shortlist of the winners in your notes. Remember from Ch.1: a seed is a composition. A good seed, reused across different subjects, gives you a family that shares framing and pose — reuse is the point, not fresh randomness.
And the negative prompt is part of the recipe too. Same avoid-list, every single time. It's not decoration; it's a frozen ingredient like all the others.
sampler=DPM++ 2M · steps=28 · cfg=7 · seeds=[42,128,777]. Boring on purpose — boring is what reproducible looks like.So far every image started from pure static (Ch.1). img2img starts somewhere else: you hand it an existing image, it adds some noise on top of that instead of starting from scratch, then denoises as usual. The output inherits the input's palette and composition, steered by your prompt.
There's one dial that matters — strength, i.e. how much noise gets piled on:
Recipe use: take your best on-style image and feed it back as the anchor for a new subject. The new picture arrives already sharing composition and colour with the old one — cheap consistency, zero training. DiffusionBee has img2img built in.
Recipes rent a style — from clever prompts and other people's LoRAs. That takes you a long way. But sometimes you need the model to genuinely know your look: your sketchbook, your brand's palette, the specific way you draw. Renting won't get you there. You have to train.
That means training your own LoRA — the same small patch from Chapter 3, except learned from your images instead of downloaded. The plain version: show the model 15–30 pictures in your style, let it work out what they all share, and it stores that shared thing as a patch you can dial in later.
One reality check before we go further, because it trips everyone up:
.safetensors file, which you then import into DiffusionBee exactly like the downloaded LoRAs from Ch.3 — same weight dial, same trigger word. Realistic options, and they change fast: kohya_ss (the community-standard local trainer — powerful, but needs setup and patience, and on a Mac it's the roughest path); Civitai's on-site trainer (upload images, pay a little, download the file — the easiest on-ramp); or a cloud notebook/service renting a GPU. Treat any specifics as "true as of recent versions."Here's the thing nobody tells you: the trainer is almost an afterthought. Your 15–30 images decide everything. Get the set right and mediocre settings still work; get the set wrong and no amount of tuning saves you. What makes a set good:
mystl3 — rare enough that the model has no prior opinion about it — goes in every caption, so the style binds to that one word.Try it. Below is a candidate set with all 16 images selected. Your job is a code review: prune it down to something that would actually train a style.
With the set ready, here's what the trainer actually does — and it's pure Chapter 1, run in reverse gear. Over and over it: noises one of your images (Ch.1's forward process), asks the patched model to guess the noise, and nudges the patch when the guess is wrong. Do that thousands of times and the patch slowly becomes "whatever makes these images likely."
Two ways it goes wrong, and they sit on either side of a sweet spot:
The fix is built in: trainers save a checkpoint every epoch. Generate test images from several of them and pick the best — which is almost never the last one. Drag the slider to the pocket and watch the samples; then bookmark the checkpoint you'd keep.
Training is Chapter 1's loop with the gears reversed — and your dataset rules are just a validation function that runs before you spend a GPU-hour. One step: noise a sample, let the patched model guess, nudge the patch toward the error. Flip between the languages — the shape is identical.
LoRA isn't the only way to teach a model something. It's the middle child of three, and knowing the siblings tells you why LoRA is usually the right call:
And here's the payoff — the full consistent-style pipeline, every ingredient from this chapter in one recipe. Build it below and copy it into your notes file:
That's the machine, the dials, the patches — and finally a patch that's yours. You now know how DiffusionBee turns static into a picture, how to steer it, how to bend it with a downloaded LoRA, and how to make the model learn your own hand. Go make a matching set.