▲ 1 r/PromptEngineering+1 crossposts

PRZEM Stage v0.5 — coming soon.

It's not a prompt generator. It's a way to actually test whether your current MJ setup holds up — instead of assuming it does because one batch looked good.

What would actually convince you a setup is reliable? One clean batch never has, in my testing. What's your bar?

When v0.5 lands, the real question I want answered isn't "did you like it" — it's "did using it change how you'd test your own setup." That's the thing I'm actually trying to teach.

Opening the Full Guide provides an option to provide your feeback. This will help shape PRZEM Art Director Pro.

reddit.com
u/jeffbradshaw — 3 days ago

Every MJ workflow has the same blind spot: you run a batch, it looks clean, you move on.

But "looks clean in one batch" and "actually holds" are two different claims — and most of us never test the gap between them.

Building something that walks you through testing that gap yourself. Releasing it soon — and I genuinely want to know if it teaches what it's supposed to.

reddit.com
u/jeffbradshaw — 6 days ago
▲ 5 r/MidjourneyArtworks+2 crossposts

Update: the gaze-direction problem from Thursday has a fix — and it came from an AI.

Thursday I posted about asymmetric gaze being the one thing that didn't survive testing, even on a stable SREF: ask for one figure to avoid eye contact while the other looks at them, and the model just gives you mutual eye contact every time. 4/4, no exceptions.

A commenter — Jenna AI, an automated bot account from r/generativeAI — called out the actual mechanism: I was prompting the result (gaze direction) instead of the cause (head/neck posture). Her point: abstract instructions like "avoiding eye contact" are too disconnected from anything the model can act on structurally. Force a physical posture change instead, and the gaze follows it.

Swapped the prompt from "gaze fixed on the middle distance" to "head tilted back, looking up toward the ceiling, avoiding Figure B entirely." Same SREF, same settings. Ran it three separate times.

12 for 12. Every single image showed the asymmetric gaze — and Figure B's own gaze tracked upward slightly to follow Figure A's raised chin, which wasn't even instructed. The model held the spatial logic between the two figures on its own once the posture was anchored.

So: gaze direction can be controlled — but not by asking for it directly. You have to give the model something physical to hang it on.

Credit where due — the fix came from a bot pattern-matching on a prompting problem, not a human. Felt worth saying given the whole point of this testing is understanding how these models actually behave.
Test Results

u/jeffbradshaw — 10 days ago
▲ 6 r/MidjourneyArtworks+2 crossposts

Staging survives the model. Gaze direction doesn't — yet.

Tuesday I posted about SREF hold rates — why a clean first batch isn't proof of a stable setting. That problem is solvable with enough testing discipline: run more batches, track the real rate, don't trust N=4.

This one isn't solvable the same way.

I ran a simple test: two figures facing each other, explicit instruction that Figure A avoids eye contact (gaze fixed on the middle distance) while Figure B looks directly at Figure A. Used SREF 3032661901 — the same one that held 48/48 clean in earlier testing, so this isn't an SREF-stability problem. Ran it twice, at two different aspect ratios, full body intact both times.

Four generations. Same prompt. Same SREF. Every single one came back with both figures making direct eye contact.

Not a partial miss. Not "close enough." The asymmetric gaze I asked for didn't show up once.

Staging tells the story. Gaze direction is supposed to tell you who's telling it. Right now, the model just defaults to mutual eye contact whenever two figures face each other, regardless of what you tell it about where they're looking.

Anyone found a prompt structure, token position, or parameter that's actually moved gaze reliability for them? Genuinely looking for data here, not just confirming what I already suspect
Test Results

u/jeffbradshaw — 11 days ago
▲ 5 r/MidjourneyArtworks+3 crossposts

A "good" SREF isn't the same as a usable one.

We ran an envelope test on SREF 8565107586 — same staging, same prompt, same setting (sw500/stylize300).

First batch: 4/4 clean. Looked locked in.

Second batch, same setting: 1/4 clean. Three of four showed the same failure mode — a figure folding into the foreground cluster that shouldn't be there.

Nothing changed except which batch we looked at.

This is the thing about single-batch testing: a clean 4/4 and an unstable SREF look identical until you run it again. If your validation stops at one grid, you don't have proof — you have a sample, and you don't yet know which side of the average it landed on.

Anyone else tracking hold rates across multiple batches rather than trusting the first one? Curious what people are actually seeing once they go past the initial grid.
Test Results

u/jeffbradshaw — 12 days ago

Geometry Is Doing More Narrative Work Than the Prompt Language

I didn't prompt "interrogation."
I didn't prompt "pleading."
I didn't prompt power dynamics at all.

Same staging. Same structure. Same parameters. Same SREF.
I swapped the cast — and the model read the room.

One figure seated. One figure standing. Another figure watching.
That's it.

The geometry defined the power relationship before a single descriptive word entered the prompt.

And when I say geometry, I mean something simple: who is standing, who is sitting, who is facing whom, where the observer is placed, and where the eyeline lands. That's it. No complex spatial theory. Just blocking — the same decision a film director or theater director makes before anyone says a word of dialogue.

This isn't an accident. It's a pattern I've been testing systematically across multiple scene configurations.

The blocking is doing narrative work that most people are trying to force with adjectives.

And adjectives lose that fight more often than people think.

What I've found: Midjourney infers emotional and power relationships from spatial relationships first. The prompt language layers on top of that inference. It doesn't replace it.

Which means if your staging is wrong, no amount of prompt polish fully fixes it.

And if your staging is right, the model meets you more than halfway.

That's the thing worth understanding before you write the next prompt.

What's the geometry telling your model before you say anything?
Testing Results

u/jeffbradshaw — 18 days ago

The staging is the story.

I’ve been testing a three-position support scene in Midjourney:

helper standing left
supported figure seated center
observer standing right

The image link below shows five generations from the same setup.

Same prompt architecture.
Same SREF.
Same parameters.

Then I changed the cast. Instead of three working-class men, I used a young man,
a seated woman, and an older man.

The structure held.

But the interesting part wasn’t the consistency. It was the variation. Across the four generations, the same geometry produced different emotional readings:

Concern.
Interrogation.
Pleading.
Supplication.

I never prompted those emotions directly.

The blocking created the dramatic relationship.
The SREF shaped the emotional tone.
The cast became a variable.

This is what I mean when I say you’re not just prompting a scene.

You’re prompting a geometry.

Once the structure is controllable and repeatable, the story starts to emerge on its own.

The drama takes care of itself.

Testing results

u/jeffbradshaw — 20 days ago
▲ 4 r/AIArtPhotorealistic+2 crossposts

Two parameters everyone thinks are style controls. Turns out they're also regulating your figure count.

While testing multi-figure scenes in Midjourney, I kept treating --sref and --sw as look controls.

That was only partly true.
The style stayed consistent. The black-and-white look held. The illustration language held. The visual identity was stable.
But the figure count still failed.
Same scene. Same roles. Same intended structure.
In some runs, three figures collapsed into two. In others, one figure absorbed another. Sometimes the observer disappeared entirely.
The mistake was assuming that if the style was consistent, the scene was controlled. It wasn't.

What the tests showed:
--sref does not only bring a look. It can also bring latent composition tendencies.
--sw does not only control style strength. It also controls how strongly those tendencies enter the scene.
So when you increase --sw, you may not just be increasing the look. You may also be increasing the pressure of whatever figure spacing, pose logic, cropping habits, or composition bias came with that SREF.
That matters a lot in multi-character prompts.

The working model we're using now:
--sref = visual reference + latent composition tendencies
--sw = strength of those tendencies
prompt = explicit structure
--no = penalty against known failure states
Once we separated those systems, the results got easier to diagnose.
If the look is wrong, adjust the look layer. If the figure count is wrong, fix the scene architecture. If the model keeps collapsing the same way, name that failure state and block it.

The big lesson:
A style control can still affect structure. And a good-looking SREF is not automatically a controllable SREF.
That's why we've started testing SREFs not just by appearance, but by whether the scene survives them.

Has anyone else seen --sref or --sw change more than just the look?

reddit.com
u/jeffbradshaw — 25 days ago
▲ 2 r/ImagineAiArt+2 crossposts

Most people use --no to block unwanted things. We found a second job for it.

Most people use --no wrong. It's not an exclusion tool. It's a structure tool.

If you've been using --no to block unwanted elements — wrong background, wrong colors, stray objects — you're using it correctly but incompletely.

We found something different while testing multi-figure scenes systematically using the PRZEM scoring system.

When figure count kept failing — MJ collapsing three figures into two, or merging characters — we tried --no two figures, single figure, solo, duo and the failure states stopped.

We weren't excluding objects. We were excluding failure modes.

That's a different use case entirely.

What's actually happening:

MJ has default tendencies for certain scene types. Ask for a group and it wants to simplify. Ask for complexity and it looks for the nearest familiar pattern to collapse it into.

--no applies a mathematical penalty. If you name the failure state, you penalize it before it happens.

This reframes the parameter entirely. It's not about what you don't want in the image. It's about which behavioral defaults you're blocking.

The second finding — style vs. structure:

While testing this, we confirmed something we'd suspected: look controls and structure controls are completely separate systems.

Look controls — sref, sw, style language. These determine how the image feels.

Structure controls — figure count, positional language, spatial anchors, --no as a behavioral block. These determine what the scene actually contains.

Most people treat these as one system. They're not.

We proved it across three scored tests. The sref held beautifully in every condition. The style was consistent. The figure count failed every time — until we stopped trying to fix it with style controls and fixed the prompt architecture instead.

The look and the scene are separate problems. They need separate solutions.

Has anyone else found uses for --no beyond standard exclusion?

reddit.com
u/jeffbradshaw — 27 days ago
▲ 1 r/PromptEngineering+1 crossposts

We cracked the 3-figure problem in Midjourney. Here's exactly what broke it and what fixed it.

Three scored tests. One clear answer.

If you've tried to control multiple figures in MJ you already know the problem — you ask for three, you get two. Or you get three but the staging collapses. We've been testing this systematically using the PRZEM scoring system and today we finally isolated what was actually failing.

What we tested: Same sref code. Same scene. Three conditions.

Test 1 — Style Creator neutral foundation, --sw 100 Test 2 — Style Creator complex foundation, --sw 100 Test 3 — Rewritten prompt + --no parameter, no --sw

What the scores showed: Tests 1 and 2 both failed figure count. The look delivered — the sref held beautifully — but MJ kept dropping or merging figures regardless of style weight.

Test 3: all four images. Three figures. Every time. Contact point held. Wardrobe separation held. Staging held.

What actually fixed it wasn't the sref. It was the prompt.

Two changes did the work:

  1. Positional language instead of narrative. We stopped describing action ("two men in a struggle") and switched to spatial anchors ("left: elderly man... center and right: two younger men"). MJ reads position. It interprets narrative.
  2. Front-load the figure count. "Three men, full shot." First four words. Not buried in the middle of a description.
  3. --no two figures, single figure, solo, duo. Confirmed working in MJ 8.1. Blocks the failure states directly.

The sref and --sw are look controls. They don't fix broken scene structure. Fix the structure first — then apply the look.

That's the finding. Three tests, scored, documented.

reddit.com
u/jeffbradshaw — 1 month ago
▲ 5 r/PromptEngineering+1 crossposts

Most MJ prompt testing is just vibes. Here's what a scoring system looks like.

I've been running structured validation tests on multi-character Midjourney presets — and the hardest part wasn't the prompts. It was deciding what "this works" actually means.

The framework I landed on:

The unit is the 4-image batch, not the best single image. MJ generates four at a time. If you're picking your favorite and calling it validated, you're not testing — you're curating.

Individual image scoring, not batch averaging. Each image is scored against defined criteria: figure count exact, role clarity readable, silhouette separation, wardrobe distinction, contact/distance holds, scene intent intact. An image passes or fails. You don't average the scores.

Pass threshold: 3 of 4, with zero figure-count failures. A batch where three images hold the relationship and one drops a figure entirely is a different problem than a batch where all four have minor wardrobe drift. The threshold has to account for the type of failure, not just the count.

Baseline environment first. Before testing in any real-world setting, every preset runs in a minimal gray studio — controlled, featureless. It eliminates contamination. Extra figures drawn in by a busy background. Lighting that obscures separation. If a preset can't hold in a clean environment, it's not ready.

This methodology is what let me retire one preset entirely (it triggered MJ's combat pattern every time regardless of prompt language) and validate four others with confidence.

What does your MJ testing process look like — or are you mostly running until something looks right?

reddit.com
u/jeffbradshaw — 1 month ago
▲ 1 r/PromptEngineering+1 crossposts

I built a public tool for blocking multi-character MJ scenes — here's what I learned testing it

A few weeks ago I posted about using a spatial logic approach to fix MJ's multi-character consistency problem. That post hit over 1,600+ views so I figured the problem resonated.

Since then I've been cleaning up the tool I built to solve it and today I'm releasing a public test build.

PRZEM Stage v0.4 — a blocking tool for three-character AI image scenes. You place figures, set body orientation and gaze direction, choose a relationship preset, and export a Midjourney-ready prompt.

Four validated relationship presets: Push, Witness, Triangle, Support.

A few things I learned building and testing it:

The prompts are deliberately long — MJ V8.1 has a hard 150-token limit (roughly 100–120 words) and auto-shortens anything above it. Because the most critical spatial logic is front-loaded, the relationship still holds after trimming. 3 out of 4 images in my latest Support preset batch held figure count, spatial separation, and role clarity.

Body and gaze sliders are in but labeled experimental — they influence prompt language, not guaranteed body accuracy. Validation testing on those controls is planned for the next release.

The tool is free to use. There's also a short feedback form built in — I'm genuinely interested in whether the presets hold for other users or just my workflow.

jbradshaw.design/PRZEM_Stage_v04_public

What preset would you test first?

reddit.com
u/jeffbradshaw — 1 month ago

I couldn't get two MJ characters to interact. The fix was counterintuitive.

I've been building a structured Midjourney workflow for multi-character scenes — controlled presets, scorecards, seed tracking, batch validation. The goal: figure out what MJ can actually hold consistently, not just what looks good once.

The Support preset — one character physically supporting another — scored 0/4 on first pass. Every image either merged the figures, dropped one entirely, or added random bystanders. Standard fixes (more descriptive language, stronger relationship cues) didn't move the needle.

The recode that worked: switched to a seated/upright block instead of standing figures, removed the blocking map entirely, added wardrobe specifics, and put explicit negatives on the failure patterns I kept seeing. Next batch: 4/4.

What made the difference wasn't more prompting — it was understanding how MJ weighted the spatial relationship. Once the physical logic was right, the rest followed.

Has anyone else found that MJ responds better to physical/spatial language than relational language for multi-figure scenes?

Read the Case Study https://www.jbradshaw.design/przem-case-study

reddit.com
u/jeffbradshaw — 1 month ago

Building a Controllable AI Image System for Multi‑Character Scenes

https://preview.redd.it/43s7qp2l343h1.png?width=1200&format=png&auto=webp&s=8439689cbd6bbaf557fbe3af5de123df8dc4702d

I didn’t build PRZEM to make better AI images.
I built it to find out what could actually be controlled.
Multi-character scenes are where AI image generation starts to break down: extra figures appear, roles collapse, bodies merge, and the scene quietly becomes something else.

So I started testing it like a production problem.
One 4-image batch at a time.
One scorecard at a time.
Figure count. Role clarity. Spacing. Contact points. Scene intent.

The most useful finding came from a failure.
One preset went 0/4 because the prompt structure itself was causing Midjourney to invent an extra figure. Once that structure was removed and the pose was anchored more clearly, the same preset went 4/4.
That changed how I thought about the project.
This wasn’t just prompting anymore.
It was art direction with evidence.

Case study:https://www.jbradshaw.design/przem-case-study

reddit.com
u/jeffbradshaw — 1 month ago

Building a Controllable AI Image System for Multi‑Character Scenes

I didn’t build PRZEM to make better AI images.
I built it to find out what could actually be controlled.
Multi-character scenes are where AI image generation starts to break down: extra figures appear, roles collapse, bodies merge, and the scene quietly becomes something else.

So I started testing it like a production problem.
One 4-image batch at a time.
One scorecard at a time.
Figure count. Role clarity. Spacing. Contact points. Scene intent.

The most useful finding came from a failure.
One preset went 0/4 because the prompt structure itself was causing Midjourney to invent an extra figure. Once that structure was removed and the pose was anchored more clearly, the same preset went 4/4.
That changed how I thought about the project.
This wasn’t just prompting anymore.
It was art direction with evidence.

Case study:
https://www.jbradshaw.design/przem-case-study

reddit.com
u/jeffbradshaw — 1 month ago

Building a Controllable AI Image System for Multi‑Character Scenes

I didn’t build PRZEM to make better AI images.

I built it to find out what could actually be controlled. Multi-character scenes are where AI image generation starts to break down: extra figures appear, roles collapse, bodies merge, and the scene quietly becomes something else.

So I started testing it like a production problem. One 4-image batch at a time. One scorecard at a time. Figure count. Role clarity. Spacing. Contact points. Scene intent. The most useful finding came from a failure. One preset went 0/4 because the prompt structure itself was causing Midjourney to invent an extra figure. Once that structure was removed and the pose was anchored more clearly, the same preset went 4/4.

That changed how I thought about the project.
This wasn’t just prompting anymore. It was art direction with evidence.

Case study: https://www.jbradshaw.design/przem-case-study

reddit.com
u/jeffbradshaw — 1 month ago