visualtoprompt.com

What are good image prompt examples?

Ones you can check. Every phrase in the examples below came out of a number this tool measured on a real file, and each of those numbers has a band around it: the range over which the line would still read exactly the same. That band is what makes an example worth copying or worth throwing away, and it can be measured. We computed 3,840 of them — eight measured axes, on each of 480 lines produced from forty real files. The tightest axis is colour temperature, pinned to 4.2% of its range. The loosest is how close the picture is to monochrome, left open across 85%. And when we took a line written for one photograph and asked how much of it was still true of another, the median answer was 2 clauses out of 7 — and of 18,720 such borrowings, not one was true all the way through. Below: the bands, the four shapes compared, the borrowing test, and four real examples with what each one is actually worth.

What these numbers are. Forty real files — 39 stock photographs at 640 × 360 and one code screenshot at 800 × 450 — were decoded on this machine and box-downsampled to 192 × 192, the grid the live tool measures on, so every figure here is what this site would tell you for the same file. Each file was composed into four shapes at three lengths: 480 lines. A band is produced by moving one measured number at a time while every other measurement stays at its real value, and re-running the composer; describe() and compose() are pure functions, so the result is exactly the line the site would write for those numbers. No model was called, no image was generated, and nothing here is quoted from another site.

The band behind one line

Take one photograph, one shape, one length. The tool measured it and wrote this:

widescreen 16:9 composition, well-lit, balanced exposure, dominant palette of white, charcoal, silver, grey, muted, desaturated tones, neutral colour temperature, high contrast, moderate detail and texture, evenly lit, brighter upper half, moody and dramatic atmosphere --ar 16:9

That line is not a point. It is a claim that survives a range of pictures. Move the measured brightness anywhere between 131 and 175 and the line does not change by one character; move it to 176 and the word well-lit becomes bright. Move the red–blue balance anywhere between −5 and 5 and nothing changes either — but the moment it reaches −6 the temperature clause flips to slightly cool tone. That is the whole idea: a good example is a set of bands, and a band you can state is a band you can check against your own picture. Here are all eight for this photograph, at the shortest and longest setting.

One photograph (measured meanL 151.96, stdL 89.04, edge 11.01), Midjourney shape. “Whole axis” means the line never mentions that measurement, so any value works.
Measurement movedMeasuredShort line still true forLong line still true forShare of axis (short → long)
meanL (brightness)151.96131–175131–17517.3% → 17.3%
stdL (spread)89.04whole axis 0–13068.5–130100% → 47.3%
edge (gradient density)11.01whole axis 0–607.25–15100% → 12.9%
meanSat (saturation)0.2150–0.220–0.2222.0% → 22.0%
monoRatio (near-monochrome share)0.3890–0.850–0.8585.0% → 85.0%
meanR − meanB (warmth)−1.93−5–5−5–54.2% → 4.2%
centreL ÷ borderL0.91whole axis 0.4–2.50.85–1.18100% → 15.7%
topL ÷ bottomL3.78whole axis 0.4–2.51.21–2.5100% → 61.4%

Two things in that table are worth more than the rest. First, the shortest setting says nothing at all about four of the eight measurements — spread, edge density, and both lighting-placement ratios can be anything, because those clauses simply are not in a short line. Second, only four bands are closed at both ends: brightness, edge density, warmth and centre-versus-border. Everything else runs off one end of its axis, which means the example is making a one-sided claim — “at least this detailed”, “at most this saturated” — and cannot be falsified in the other direction.

Eight axes across forty photographs

One photograph is an anecdote, so here are the medians over all forty, for the Midjourney shape at each length. “Whole axis” counts the lines where that measurement is never mentioned; “closed” counts the lines whose band stops before both ends of the axis.

Midjourney shape, 40 photographs per cell. Band width as a share of the axis scanned: meanL 0–255, stdL 0–130, edge 0–60, meanSat and monoRatio 0–1, warmth −120 to 120, both lighting ratios 0.4–2.5.
MeasurementShortMediumLongWhole axis at longClosed at long
meanL (brightness)19.2%19.2%17.3%0 of 4025 of 40
stdL (spread)100%22.7%22.7%0 of 4028 of 40
edge (gradient density)100%74.6%74.6%0 of 4014 of 40
meanSat (saturation)22.5%22.5%22.5%4 of 4017 of 40
monoRatio85.0%85.0%85.0%0 of 400 of 40
meanR − meanB (warmth)4.2%4.2%4.2%0 of 4021 of 40
centreL ÷ borderL100%15.7%15.7%0 of 4021 of 40
topL ÷ bottomL100%100%61.4%0 of 4012 of 40

The pattern is blunt: length is what buys you specificity. A short Midjourney line pins a median of 4 of the 8 axes; a medium line 7; a long line 8 of 8, with 4 of them closed at both ends. The four lines where saturation goes quiet are the four files that measured as monochrome — on those the colour clauses are replaced wholesale and saturation stops mattering. And the widest band in the whole table, monoRatio at 85%, says something honest about the tool rather than about the pictures: for any photograph that is not mostly grey, the line makes no claim at all about how close to grey it is. The phrase vivid, saturated colour and the phrase muted, desaturated tones are both compatible with a very large part of that axis.

Three axes where the four shapes disagree

Five of the eight bands come out identical no matter which shape you ask for: brightness 17.3%, edge density 74.6%, saturation 22.5%, monoRatio 85.0%, warmth 4.2%. The other three separate the shapes cleanly, because the shapes do not write the same clauses. These are long lines, 40 photographs each.

Long lines only, 40 photographs per shape. The number in brackets is how many of the 40 leave that axis completely unconstrained.
MeasurementMidjourneyStable DiffusionFluxDALL·E
stdL (spread)22.7% (0)22.7% (0)52.3% (17)52.3% (17)
centreL ÷ borderL15.7% (0)15.7% (0)15.7% (0)100% (40)
topL ÷ bottomL61.4% (0)61.4% (0)100% (40)100% (40)

Read that as a difference in what each shape is willing to commit to. The two list shapes name a contrast clause, so spread is pinned to 22.7%; the two sentence shapes never write contrast at all, and spread only survives in the mood clause, which leaves 17 of 40 photographs with no constraint on it whatsoever. The DALL·E shape never writes where the light is, so that axis is open on all 40 — a photograph with a blazing centre and one with blazing edges produce the same sentence. Neither sentence shape writes the top-versus-bottom clause, and the Midjourney shape only writes it at the longest setting, which is why its band is the widest of the three. If you are picking a shape because you want the most specific example, the two list shapes at the long setting tie: 8 of 8 axes constrained. The two sentence shapes reach 6.5 and 5.5 of 8.

Moving an example to another picture: 18,720 checks

The common way to use an example is to borrow it. So we did that systematically: for every ordered pair of the forty photographs, at every shape and every length, we took the line written for the first photograph and asked how many of its clauses were still true of the second. That is 1,560 pairs × 12 combinations = 18,720 checks.

Ranked by how often a clause survived the move. “In the line” counts only the comparisons where that clause was actually written.
ClauseIn the lineStill trueRate
Framing18,72018,720100.0%
Contrast6,2403,27252.4%
Brighter half2,18498445.1%
Detail12,4805,24842.1%
Light placement7,8003,21041.2%
Saturation18,7205,83231.2%
Mood6,2401,84829.6%
Exposure18,7204,96826.5%
Temperature18,7203,81620.4%
Subject1,8721447.7%
Palette18,7201440.8%

The top of that table is a trap. Framing survived 18,720 times out of 18,720 — and it did so only because all forty files happen to be 16:9. It is the clause that travels furthest and says least; if your picture is square, it is wrong on the first word. The bottom of the table is the useful end: the palette is the only clause that identifies a photograph, and it survives 144 times out of 18,720, which is to say essentially never. Everything in between is a coin toss or worse: the median borrowing kept 37.5% of its clauses, the median count was 2 out of the 7 clauses in a line; at the Midjourney long setting the worst pair kept 1 of 10 and the best kept 9 of 10. Not one of the 18,720 borrowings was true of the new picture in every clause.

The best single borrowing in the whole set was 9 of 10, and it is instructive: it moved a line between two of the four files that measured as monochrome. Both carried the same subject clause, so two of the ten were free. The worst, at 1 of 10, kept only the framing.

Four real examples, and the tightest and loosest of 480

Of the 480 lines, the tightest set of bands came from a dark code screenshot and the loosest from a dark night photograph. These are the four shapes for each, unedited, at the long setting — the two extremes of how much an example can commit to.

# tightest bands of the 40 files (geometric mean 19.2%); measured meanL 35.95, stdL 13.68, edge 5.14, warmth -9.9
midjourney      widescreen 16:9 composition, dark, low-key lighting, dominant palette of charcoal, forest green, slate, grey, moderately saturated colour, slightly cool tone, soft, low contrast, clean and minimal, smooth surfaces, evenly lit, moody and dramatic atmosphere --ar 16:9
stable diffusion masterpiece, best quality, widescreen 16:9 composition, dark, low-key lighting, dominant palette of charcoal, forest green, slate, grey, moderately saturated colour, slightly cool tone, soft, low contrast, clean and minimal, smooth surfaces, evenly lit, moody and dramatic atmosphere
flux            A widescreen 16:9 image. Dark, low-key lighting. The dominant colours are charcoal, forest green, slate, grey. Moderately saturated colour, slightly cool tone. Clean and minimal, smooth surfaces. Evenly lit. Moody and dramatic atmosphere.
dall-e          A widescreen 16:9 image, dark, low-key lighting, with a palette of charcoal, forest green, slate, grey. Moderately saturated colour, slightly cool tone, clean and minimal, smooth surfaces. Moody and dramatic atmosphere.

Its eight bands, in axis order: 31.4%, 29.2%, 11.7%, 22.5%, 85.0%, 3.3%, 15.7%, 17.1%. Seven of the eight are under a third of their axis. This is what a specific example looks like from the inside: most of the numbers behind it cannot move far before the words would be wrong.

# loosest bands of the 40 files (geometric mean 50.3%); measured meanL 34.51, stdL 46.93, edge 22.5, warmth -43.93
midjourney      widescreen 16:9 composition, dark, low-key lighting, dominant palette of navy, grey, slate, silver, vivid, saturated colour, cool blue colour temperature, medium contrast, highly detailed with intricate texture, light falling on the centre with darker edges, brighter upper half, moody and dramatic atmosphere --ar 16:9
stable diffusion masterpiece, best quality, widescreen 16:9 composition, dark, low-key lighting, dominant palette of navy, grey, slate, silver, vivid, saturated colour, cool blue colour temperature, medium contrast, highly detailed with intricate texture, light falling on the centre with darker edges, brighter upper half, moody and dramatic atmosphere
flux            A widescreen 16:9 image. Dark, low-key lighting. The dominant colours are navy, grey, slate, silver. Vivid, saturated colour, cool blue colour temperature. Highly detailed with intricate texture. Light falling on the centre with darker edges. Moody and dramatic atmosphere.
dall-e          A widescreen 16:9 image, dark, low-key lighting, with a palette of navy, grey, slate, silver. Vivid, saturated colour, cool blue colour temperature, highly detailed with intricate texture. Moody and dramatic atmosphere.

Its bands: 31.4%, 22.7%, 74.6%, 54.5%, 85.0%, 43.8%, 62.4%, 61.4%. Both photographs are dark, and both lines open with dark, low-key lighting — but the first one is dark in a way that pins six numbers, and the second is dark in a way that leaves edge density free across three quarters of its axis. Same two words, very different amounts of information.

How to check an example in four steps

  1. Count the axes it pins, not the words it has. A long line in one of the list shapes constrains a median of 8 of the 8 measurements; the same shape at the short setting constrains 4, and a short line in one of the sentence shapes constrains 2. If an example is short, most of the picture is unstated by construction.
  2. Check the palette first. It is the one clause that did not travel — 144 of 18,720 borrowings, 0.8%. If the four colour names in an example are not the four your picture actually has, the example is about a different photograph however good its prose is.
  3. Check warmth second. It is the narrowest band the tool produces at 4.2% of its range, and it is closed at both ends on 21 of 40 photographs, so it is also the easiest clause to get wrong and the easiest to verify: the entire neutral band is ten units wide on a 240-unit axis, and the next band out starts one unit past it.
  4. Discount the framing clause entirely unless you know the file. It matched on 18,720 of 18,720 comparisons here because every file in the set was 16:9. It carries no information about the picture — only about its dimensions — and it is the clause most likely to be silently wrong when you reuse someone else’s example.

Forty files, 3,840 bands, no model called

Forty real files — 39 stock photographs at 640 × 360 and one code screenshot at 800 × 450 — were decoded on this machine, box-downsampled to 192 × 192, the grid the live tool measures on, and composed into four shapes at three lengths: 480 lines. Each line was then probed once per axis, one measurement at a time, holding the other seven at their real values, giving 3,840 bands. A band is the longest unbroken run of values containing the measured one over which the composed line stays character-for-character identical; the axes were scanned at 1 unit for brightness, 0.5 for spread, 0.25 for edge density, 0.005 for saturation and monoRatio, 1 for warmth, and 0.01 for both lighting ratios. “Closed” means the run stopped before both ends of the axis, so the claim is falsifiable in both directions; “whole axis” means the line never mentions that measurement. The borrowing test compared the description the tool produced for each photograph, clause by clause, at all 1,560 ordered pairs and all 12 shape-and-length combinations; clauses that the shape does not write were excluded from the count rather than counted as disagreements. No model was called and no image was generated, so nothing here says what any generator would actually draw — only what this tool would claim about a file, and how far that claim stretches. For the twelve measurements the phrases come from, see what an image to prompt tool measures; for the shape this tool writes for the ChatGPT route clause by clause, see how that line is assembled; for judging whether a whole line is distinctive, see how much of a prompt is about your picture; and for turning your own picture into a line in the first place, see how to generate a prompt from an image.