One Image, Four Prompts: Same Words, Different Punctuation
Choosing a model changes the punctuation, not the description. I ran the same forty image files through four output shapes and three lengths — 480 lines in total. After stripping the model-specific wrappers, 57.5% of the words in a line are shared by all four shapes; the median vocabulary of a single image is only 35–46 words across all four. The measured content is identical. What differs is the frame: Midjourney and Stable Diffusion write 0 full stops in all forty files, DALL·E writes exactly 2 every time, and the shortest line of the four is 1.89× shorter than the longest at the same setting.
What these numbers are. Forty real files — 39 landscape photographs at 640 × 360 and a single 800 × 450 code screenshot — opened locally, box-downsampled onto the 192 × 192 grid this tool measures on, then run through the library's own analyze → describe → compose chain exactly as the browser executes it. Four shapes, three lengths, so twelve runs per file and 480 composed strings. No model was called and no image was generated: every figure below counts what this repository writes.
The four shapes share most of their words
Before comparing lengths it is worth asking whether the four shapes even say different things. I lowercased every line, deleted the two model-specific wrappers (--ar N:N and masterpiece, best quality,), replaced punctuation with spaces, and compared the word sets of the four long-length lines written from the same image.
| Measure | Value |
|---|---|
| Words shared by all four shapes, median | 57.5% |
| Lowest overlap | 52.2% |
| Highest overlap | 65.0% |
| Distinct words per image, minimum | 35 |
| Distinct words per image, maximum | 46 |
There is no image where the four shapes disagree about what to say. A photograph produces 35 to 46 distinct words in total, and more than half of them appear in all four lines. The remaining 42.5% is not new information; it is the same information respelled. Counting words that appear in exactly one shape makes this concrete.
| Shape | Exclusive words | Which ones |
|---|---|---|
| Midjourney | 0 | — |
| Stable Diffusion | 0 | — |
| Flux | 5 | are, colours, frame, is, the |
| DALL·E | 1 | with |
Midjourney and Stable Diffusion contribute no exclusive word at all — every word they write is also written by one of the other three. Flux's five exclusive words are all grammar: the, is, are and the noun frame. DALL·E contributes the single preposition with. That is the whole lexical difference between four "different" prompt formats: seven function words.
Length: same information, up to 2.09× apart
If the words are shared, why are the lines not the same length? Because two shapes join with commas and two join with full stops, and sentence framing costs fewer characters per slot than a comma list of adjectives.
| Shape | Length | Min | Median | Max | Mean | Words (mean) |
|---|---|---|---|---|---|---|
| Midjourney | short | 151 | 165 | 199 | 167.8 | 22.6 |
| Midjourney | medium | 210 | 251 | 292 | 248.2 | 34.0 |
| Midjourney | long | 247 | 297 | 334 | 293.2 | 39.8 |
| Stable Diffusion | short | 169 | 183 | 217 | 185.8 | 23.6 |
| Stable Diffusion | medium | 228 | 269 | 310 | 266.2 | 35.0 |
| Stable Diffusion | long | 265 | 315 | 352 | 311.2 | 40.8 |
| Flux | short | 92 | 104 | 161 | 108.6 | 16.6 |
| Flux | medium | 174 | 193 | 255 | 199.2 | 27.8 |
| Flux | long | 217 | 260 | 324 | 257.1 | 36.1 |
| DALL·E | short | 85 | 97 | 140 | 100.2 | 16.3 |
| DALL·E | medium | 167 | 186 | 234 | 190.8 | 27.5 |
| DALL·E | long | 198 | 217 | 264 | 221.1 | 31.1 |
Two facts stand out. First, the gap is widest at the shortest setting and narrows as the line gets longer: the longest/shortest ratio per image has a median of 1.89× at short length, 1.36× at medium and 1.38× at long. The reason is that the two sentence shapes add sentences as the length grows, and a sentence costs more characters than the comma slot it replaces, so they catch up.
| Length | Median ratio | Max ratio | Image at max |
|---|---|---|---|
| short | 1.89× | 2.09× | p129 |
| medium | 1.36× | 1.54× | q987 |
| long | 1.38× | 1.56× | q987 |
Second, Stable Diffusion is the longest of the four on all 40 images at all three lengths — 40 out of 40, three times over. It is not writing more description. It is prefixed with a 27-character quality string that Midjourney does not have, and Midjourney's own --ar tail is shorter than that prefix. Subtract the wrappers and the ranking by measured content collapses: the median long line is 297 characters for Midjourney and 315 for Stable Diffusion, a 6% gap produced entirely by a fixed literal.
Punctuation: the difference that is not describable
The most useful measurement on this page is the cheapest one. Count the full stops.
| Shape | Commas | Full stops | Images with 0 commas | Images with 0 full stops |
|---|---|---|---|---|
| Midjourney | 10–14 | 0 | 0 / 40 | 40 / 40 |
| Stable Diffusion | 12–16 | 0 | 0 / 40 | 40 / 40 |
| Flux | 4–7 | 5–6 | 0 / 40 | 0 / 40 |
| DALL·E | 7–10 | 2 | 0 / 40 | 0 / 40 |
Midjourney and Stable Diffusion write zero full stops in forty out of forty images. They are not sentences; they are comma-separated tags, and the absence of a full stop is the single most reliable signal that a line was written for one of them. DALL·E writes exactly 2 full stops on every one of the forty images — not a range, a constant — because its long shape is a fixed two-sentence template. Flux is the only shape whose punctuation varies with content, at 5 to 6 full stops.
Sentence counts say the same thing from another angle: on the long line, Midjourney and Stable Diffusion have 0 sentences, Flux has 7 to 8, DALL·E has 3.
This is why "rewrite this for Midjourney" is mostly a formatting job. If the words are already shared, the work left is: remove the full stops, join with commas, move the palette phrase to a fixed position, and append the ratio. There is nothing to add that the tool did not already measure.
Four constants that hold on every file
Some properties do not vary at all across the corpus. These are the shapes' skeletons, and they hit 40 out of 40.
| Property | Hits | Shape |
|---|---|---|
Ends with --ar N:N | 40 / 40 | Midjourney only |
Starts with masterpiece, best quality, | 40 / 40 | Stable Diffusion only |
First sentence matches A … image. | 40 / 40 | Flux only |
Opens with A | 40 / 40 | DALL·E only |
Carries --ar | 0 / 40 | all three non-Midjourney shapes |
Growing a line: what each shape adds per length step
Each shape grows the same way conceptually — more slots at medium, then mood at long — but the character cost per step is not the same.
| Shape | short → medium | medium → long | short → long (min–max) |
|---|---|---|---|
| Midjourney | +80.4 | +45.0 | 87–156 (median 123) |
| Stable Diffusion | +80.4 | +45.0 | 87–156 (median 123) |
| Flux | +90.5 | +57.9 | 118–181 (median 142) |
| DALL·E | +90.5 | +30.3 | 105–134 (median 122) |
Midjourney and Stable Diffusion have identical growth figures — +80.4 and +45.0, and the same 87–156 range — because they add and remove the same slots in the same order. The three fixed wrappers differ in length but not in behaviour, so they shift the whole line without changing its growth. DALL·E is the most economical at the last step (+30.3, versus +57.9 for Flux) because it adds mood and skips the light-distribution sentence that Flux writes.
How many colour names each shape will commit to
Colour is a special case: the writer itself caps the palette at four names, so all four shapes write 3 to 4 colour words on every image, and that part of the line is genuinely identical across shapes. The difference is where the four names sit.
| Shape | Names (min–max) | Mean | Where they sit |
|---|---|---|---|
| Midjourney | 3–4 | 3.98 | third comma slot, after framing and exposure |
| Stable Diffusion | 3–4 | 3.98 | third comma slot, after the quality prefix |
| Flux | 3–4 | 3.98 | a dedicated sentence, third in order |
| DALL·E | 3–4 | 3.98 | inside the opening sentence, as a with a palette of clause |
This is the one part of the line where switching models changes nothing at all: same four words, same order, because they come from one capped list. DALL·E is the only shape that folds them into the first sentence instead of giving them their own slot — which is why its long line is the shortest of the four even though it names the same colours.
The same image, verbatim
One file (p101), long length, all four shapes. Read them side by side and the claim of this page is visible without a table.
Midjourney square 1:1 composition, bright, high-key lighting, dominant palette of silver, moss green, cream, grey, muted, desaturated tones, neutral colour temperature, medium contrast, moderate detail and texture, evenly lit, balanced, natural atmosphere --ar 1:1 Stable Diffusion masterpiece, best quality, square 1:1 composition, bright, high-key lighting, dominant palette of silver, moss green, cream, grey, muted, desaturated tones, neutral colour temperature, medium contrast, moderate detail and texture, evenly lit, balanced, natural atmosphere Flux A square 1:1 image. Bright, high-key lighting. The dominant colours are silver, moss green, cream, grey. Muted, desaturated tones, neutral colour temperature. Moderate detail and texture. Evenly lit. Balanced, natural atmosphere. DALL-E A square 1:1 image, bright, high-key lighting, with a palette of silver, moss green, cream, grey. Muted, desaturated tones, neutral colour temperature, moderate detail and texture. Balanced, natural atmosphere.
Every measurement in all four lines is the same: framing, exposure band, palette, saturation, temperature, contrast, detail, light distribution, mood. The four shapes disagree about the order, the punctuation and the wrapper — and DALL·E drops the light-distribution clause that the other three write. Nothing about the image has been re-described.
What this means if you are moving between models
- Do not re-run the image for each model. The measured content is the same; the median image yields 35–46 distinct words, and 57.5% of them appear in every shape. Convert the line rather than re-deriving it.
- Converting to Midjourney or Stable Diffusion is a punctuation job. Delete all full stops (40/40 lines have none), join with commas, then append
--ar N:Nfor Midjourney or prepend the quality string for Stable Diffusion. No word needs to change. - Expect Stable Diffusion to be 6% longer for no reason. It is the longest shape on 40 of 40 images at all three lengths, entirely because of a fixed 27-character prefix.
- Use short length for Flux and DALL·E. At short length they write 16.3–16.6 words on average versus 22.6–23.6 for the comma shapes. At long length the sentence shapes only reach 31–36 words against 40 — the extra length buys sentence scaffolding, not more measurements.
Forty files, four shapes, 480 lines
The corpus is the one used across this site: thirty-nine stock photographs at 640 × 360 and a single 800 × 450 code screenshot, all opened on this machine, reduced onto the 192 × 192 grid, and composed by the library itself at four shapes and three lengths. Every figure is on disk: prep/day47_voice.mjs writes prep/day47-model-voice.json and prep/day47-model-voice.log for the length, punctuation and growth tables; prep/day47b_voice.mjs writes prep/day47b-voice.json and prep/day47b-voice.log for the vocabulary overlap, exclusive-word, sentence-count and palette tables. Shape definitions live in src/compose.js; the four-name palette cap lives in src/describe.js.
Two limits. The corpus is 39 landscape photographs and one screenshot, all 16:9; other aspect ratios would change individual line lengths but not the shape constants, which are string literals and do not depend on the image. And the vocabulary comparison is done on lowercased, punctuation-stripped tokens after removing two fixed wrappers — it measures wording overlap, not semantic equivalence, though on this corpus the two coincide because the four shapes are generating from one shared description object.
For the twelve slots all four shapes are built from, see what an image to prompt tool measures. For what happens to the palette when the writer has to name five colours and can only write four, see how a colour gets named. For the same four lines measured against a character cap, see image to prompt as alt text; for the cut points where each phrase flips, see the cut-point table, and for the ratio parameter that ends up as the Midjourney tail, see weighting a prompt and writing a negative.