Random adjectives give random images. Use one order every time — subject, then style, then details, then parameters — because parameters must come last: Midjourney reads everything after your text as flags, so a stray --ar mid-sentence breaks the prompt.
1. The structure
[subject], [medium or style], [lighting, mood, framing] --ar 16:9 --raw
The skeleton every prompt below fills in. Note the space before the dashes: Midjourney needs it to separate prompt text from parameters.
2. A worked example
a ceramic coffee mug on a weathered oak table, product photography,
soft morning window light, shallow depth of field --ar 4:5 --raw
Copy this and swap only the subject first — changing one variable at a time is how you learn what each phrase is doing.
3. What moves the needle
- Concrete nouns beat adjectives. “Ceramic mug on oak” gives the diffusion model something to anchor on; “beautiful” gives it nothing.
- Name exactly one medium. “Product photography”, “watercolour”, “isometric 3D”. Two competing styles average into mush.
- Say the light. Lighting changes an image more than almost any other word.
- Vary, don’t restart. Re-roll or vary your best result rather than writing a fresh prompt; you keep the parts that worked.
4. The parameters that changed
--ar #:# sets aspect ratio — 1:1, 16:9, 2:3 cover most needs. The stylization override is now --raw, not the older --style raw; it turns off Midjourney’s automatic aesthetic pass, so simple prompts look more photographic and detailed prompts get followed more literally.
Versions move fast: V7 was default from 17 June 2025 to 9 June 2026, V8.1 from 10 June to 23 July 2026, and V8.2 is the newest. Anything you need to reproduce months later should pin the model explicitly:
a ceramic coffee mug on a weathered oak table, product photography --ar 4:5 --v 8.2
Locks the model version so the same prompt keeps rendering the same way after the default moves on.
If it looks wrong
A prompt that ignores your parameters usually has them in the middle, or is missing the space before --. An image that looks over-styled wants --raw. Check the official parameter list before inventing a flag. The same structure carries over to local tools — see your first ComfyUI workflow — and the general framework is in write better AI prompts.