The Diffusion Guide · ch.4 · a style of your own
🎨 Chapter 4 · A style of your own

A style of your own

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.

1Consistency is a workflow, not luck

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 model — the artist doing the sculpting (Ch.1).
  • The seed — the marble block; a good one is a reusable composition (Ch.1–2).
  • The knobs — sampler, steps, guidance: the same dial settings every time (Ch.2).
  • A LoRA + weight — a patch nudging the look, held at a fixed weight (Ch.3).
  • Prompt scaffolding — a block of words you paste verbatim, subject swapped in.

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.

💡
Think of it exactly like a build: pin your versions, check them into a notes file, and the output stops drifting between runs. Consistency is just a locked dependency graph for pictures.

2The style block

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.

⚠️
Don't paraphrase your own block between runs. To CLIP, a reworded block is a different prompt — and different prompts break the family resemblance you're working to build.

3Freeze the knobs

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.

🎲
Your notes file ends up looking like a lockfile: sampler=DPM++ 2M · steps=28 · cfg=7 · seeds=[42,128,777]. Boring on purpose — boring is what reproducible looks like.

4img2img: the compositional anchor

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:

  • Low (~0.3) — "repaint this in my style." Keeps the layout almost exactly, changes the surface.
  • High (~0.8) — "loosely inspired by this." Keeps only a rough echo of the original.

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.

5When recipes aren't enough: teach it your style

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:

⚠️
DiffusionBee generates with LoRAs — it does not train them. Training happens in an external tool. The result is a .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."

6The dataset is the whole game

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:

  • One style, many subjects. The model learns whatever stays constant across the set. If every image is a cat, you've trained a cat LoRA, not a style LoRA. Make style the only thing they share — vary the subjects wildly.
  • Clean images. Decent resolution, no watermarks, no stray text. Anything ugly and repeated becomes part of the patch.
  • Captions describe the content, not the style. Caption "a lighthouse on a cliff", never "in my watercolor style." Whatever you don't mention gets absorbed into the patch — and the style is exactly what you want absorbed, so you leave it unspoken.
  • A made-up trigger word. An unusual token like 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.

Interactive · grade my dataset Click a thumbnail to include / exclude · prune to an A

7The training run

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:

  • Undertrained — stopped too early. The patch is weak; your style barely shows.
  • Overfit — trained too long. The patch stops learning your style and starts memorizing your 20 images. Every output becomes a warped clone of one of them, whatever you prompt. Variety dies.

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.

Interactive · the training run Slide through epochs, or press Play
⏱️
Typical style-LoRA training is minutes to a couple of hours on a rented GPU — not days. It's cheap enough to run twice with different settings and keep the better patch.

The same idea, in code

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.

8The family tree, and your full pipeline

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:

  • Textual inversion — teaches a new word for something the model can already almost do. Tiny file (kilobytes), weakest effect. Great for "this exact object", weak for a whole style.
  • LoRApatches the weights themselves. The sweet spot: small (a few MB), strong, and composable with other LoRAs. This is what you'll train.
  • DreamBoothre-trains the whole model. Strongest and most flexible, but it's a multi-gigabyte file and a heavy job. Overkill for a style.

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:

Interactive · your recipe card Tweak the fields · copy the result

        
every field above is a frozen ingredient

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.