✦ The Diffusion Guide · ch.7 · character consistency
🎨 Chapter 7 · Character consistency

The same hero, every panel

The model has no memory β€” every generation re-rolls your character's face from scratch. This chapter is how to pin an identity down anyway, all the way to a finished comic page.

You've collected every steering wheel the model has: the loop (Ch.1), the knobs (Ch.2), LoRA patches (Ch.3), a style that's yours (Ch.4), pictures and poses (Ch.5), and a well-built prompt (Ch.6). This chapter spends all of it on one stubborn goal β€” and it's the one you actually asked about: how do I make a comic book?

A comic is the same character, recognizably one person, across dozens of panels. That's the hardest thing to ask a memoryless model for. So we'll climb a ladder β€” cheap tricks first, the real tool last β€” then wire the whole guide together into a page-by-page pipeline.

1Why characters are the hardest brief

Chapter 4 already solved one kind of consistency: style. Fifty images that share a look β€” same inks, same palette, same light. That's a texture you can pin with a style block and a frozen recipe.

Identity is a harder animal. You want the same face β€” the jawline, the hair, the scar, the jacket β€” recognizably one person across poses, scenes, and moods. And here's the plain fact that makes it hard: the model has no memory. Type "young woman, red jacket, short black hair" and every generation hands you a brand-new stranger who happens to match the words. Description isn't identity. A police sketch fits a thousand people.

The fix is a ladder. Each rung holds the identity a little tighter than the last β€” and costs a little more to set up. Watch the difference the top rungs make: six renders "from the same brief," under three regimes.

Interactive Β· identity drift, three ways Flip the mode Β· Reroll for a new brief
plain prompt Β· 6 renders, 6 strangers

Plain prompt: six strangers. Add a character block and the costume and silhouette lock, but the faces still wander. Add a character LoRA and it's one person in six moments β€” only pose, expression, and background move. Everything below is how you climb from the first panel to the last.

2Rung one: the character block

The cheapest rung is a specialization of Chapter 6's prompt anatomy: a character block β€” a frozen, verbatim chunk of description you paste into every prompt. Two rules make it work:

  • Distinctive beats generic. Give the character an invented name and use it consistently β€” "Mara Voss" β€” then pin 4–6 concrete features: asymmetric black bob, scar through the left eyebrow, brass goggles on the forehead, patched teal flight jacket. Specific hooks the model can grab, not "pretty woman, cool outfit."
  • Never paraphrase. Copy-paste the exact same words every time. "Short black hair" one panel and "dark cropped bob" the next are two different briefs to the model β€” synonyms drift the look.

Be honest about what this buys you: the block won't lock the face, but it will lock the silhouette and costume β€” often enough for wide shots and backgrounds where the face is small. Pair it with the seed family trick from Chapter 2: when a seed produces an on-model face, note it, and reuse it for similar shots. A shortlist of good seeds plus a frozen block gets you surprisingly far before you spend a minute training anything.

πŸ“Œ
Keep the block in a text file and paste it verbatim. It's the same discipline as Chapter 4's frozen style block β€” except now the constant you're protecting is a person, not a look.

3Rung two: the character sheet

Before you can lock an identity, you have to choose one. Don't decide face-by-face across a hundred panels β€” decide once, on a sheet. Generate a turnaround: prompt something like "character sheet, front view, side view, back view, same character, neutral background." Models render multi-view sheets surprisingly well, because artist reference sheets are all over the training data.

Reroll until you love someone. That sheet becomes your anchor asset β€” the single source of truth every downstream step points back to: the img2img source, the inpaint reference, and the seed of your LoRA dataset. Spin up a hero below:

Interactive Β· one character, four views Reroll Β· change expression & outfit
This one sheet is your anchor β€” the source for img2img, the reference for inpainting, and the seed of your character-LoRA dataset. Notice the features hold across views: the profile keeps the nose, the back hides the face, the hair silhouette stays put.

4Rung three: fix faces where they stand

Now Chapter 5 earns its keep. You've generated a panel: the composition is right, the pose is right β€” but the face drifted off-model. Two repair moves, both per-image:

  • Inpaint the face. Mask just the head, prompt it with your character block, and repaint only that region. Remember Chapter 5's craft notes: overshoot the mask a little β€” the model needs elbow room to blend the new face into the old neck and hair.
  • img2img toward the character. Got a good pose but a wrong face? Run the panel back through img2img at low strength with the block prompt β€” enough to nudge the features on-model without rerolling the whole composition.

These are cheap, manual, and per-image. For a one-page pin-up, they're all you need. For a 60-panel book, hand-fixing every face is a soul-grinding tax. Which is exactly what pushes you up the ladder to the real tool.

5Rung four: the character LoRA

This is the rung that actually solves it. A character LoRA is Chapter 4's training, with the polarity flipped β€” and the flip is the whole idea, so hold it in your head:

  • For a style LoRA, the style was the constant. Dataset: one look, many subjects. Captions described the content (so the style got absorbed into the trigger).
  • For a character LoRA, the character is the constant. Dataset: one person, many everything-else β€” poses, angles, lighting, backgrounds, expressions. Captions describe everything except the identity β€” pose, setting, mood β€” and never "black bob" or "scar." That way identity has nowhere to go but the trigger name.

The chicken-and-egg for an invented character β€” one that doesn't exist yet to photograph β€” is solved with a bootstrap loop:

  1. Start from your character sheet (rung two).
  2. Generate dozens of shots using the block + good seeds + inpainting (rungs one and three).
  3. Curate ruthlessly: keep only the 15–30 truly on-model images.
  4. Train the LoRA on those.
  5. Now generation is on-model by default β€” the tax disappears.

Same reality as Chapter 4: DiffusionBee doesn't train. You build the dataset on your Mac, train in an external trainer (Kohya, an online notebook), then drop the resulting .safetensors into DiffusionBee's LoRA folder and trigger it by name.

⚠️
Garbage in, garbage locked. If a third of your dataset is off-model, the LoRA learns an averaged-out mush of two faces. Curate like the identity depends on it β€” because it does.

6Posing your cast

Here's the combination that makes comics feel possible. Take Chapter 5's OpenPose and your character LoRA and run them together, and something lovely happens: they don't fight, because each steers a different thing.

  • The skeleton pins the pose β€” structure.
  • The character LoRA pins the identity β€” who it is.
  • The style (a Ch.4 LoRA or a style block) pins the look β€” texture.

Structure, identity, texture: three independent dials, exactly Chapter 3's stacking β€” now with a purpose. The drift demo up in Section 1 is that stack from the identity side; the pipeline below is the same stack pointed at a whole page.

One bit of etiquette when you stack a character + style LoRA (Ch.3): give the character the bigger vote β€” roughly 0.8–1.0 β€” and hold the style lower, around 0.5–0.7, so its texture doesn't melt the face you worked so hard to lock. If they start fighting β€” the face going flat, the style going grey β€” drop both weights a notch before you touch anything else.

7The comic pipeline, end to end

So β€” the actual answer to "how do I make a comic book?" It's a workflow, and every step is a chapter you've already read:

  1. The look. Decide the style once β€” a style block or a style LoRA (Ch.4). Freeze the recipe: sampler, steps, CFG.
  2. The cast. Character sheet β†’ character LoRA, one per main character (rungs two and four).
  3. The script. A panel list. Per panel, jot: shot type (Ch.6 camera vocab), pose, expression, setting, and the dialogue.
  4. Per panel. Pose sketch or skeleton β†’ ControlNet + character LoRA + style + a Ch.6 prompt β†’ a small seed sweep β†’ pick the keeper.
  5. Triage. Inpaint the faces and hands that drifted (Ch.5).
  6. Upscale the keepers (Ch.8, next door).
  7. Lettering. Speech bubbles and captions go on outside diffusion, in any image editor β€” the model can't spell, and text baked into pixels can't be edited. Leave room for them: "copy space" in the prompt helps.

Assemble a three-panel page below. Same hero every panel; pose, shot, backdrop, and expression per panel; and a lettering layer that lives on top β€” proving the bubbles never touch the model.

Interactive Β· assemble a page Direct each panel Β· toggle the layers

A page is a fold over the script

Every constant β€” the character, the style, the frozen knobs β€” is captured once in the environment; only the panel spec varies. So the whole page is a map (a fold) of one render function over a list of panels. Lettering happens after the fold, never inside it. Flip the languages β€” the shape is identical.

8Two heroes, one panel

Time for the honest limits. Everything above assumes one character in frame. The moment you want two in a shared panel, prompts start to break down, in two predictable ways:

  • LoRA bleed β€” with two character LoRAs active, both faces drift toward each other. You get siblings when you wanted strangers.
  • Attribute leakage β€” the prompt's adjectives don't stay put. Her jacket ends up on him; his scar migrates to her.

Working strategies, in order of how reliably they hold:

  1. Generate one, inpaint the other. Build the panel with a single character, then inpaint the second into their region with only their LoRA and block active for that mask. Each identity is isolated to its own region β€” this is the most dependable move in DiffusionBee.
  2. Composite. Generate the two separately, paste them into one frame in an editor, then img2img the whole thing at ~0.2 to unify the light and edges.
  3. Graduate. Regional prompting β€” literally assigning different prompts to different rectangles of the canvas β€” exists in node tools like ComfyUI. When two-character panels become your daily bread, that's the signal it's time to step up from DiffusionBee.

And that's the whole climb. Your hero exists on a sheet, a LoRA holds her face, a skeleton holds her pose, a style holds the ink, and bubbles land on top. Your pages exist. Chapter 8 makes them print-worthy.