AI Design

How to Create Repeatable Image Prompts (Style, Composition, Lighting) That Actually Match

May 30, 2026 • Ukiyo Productions • 6 min read
How to Create Repeatable Image Prompts (Style, Composition, Lighting) That Actually Match

“Write better prompts” is not helpful advice. If you need repeatable image outputs, the difference is not vocabulary—it’s structure.

Repeatable prompts work when they behave like a design system:

  • you define a small set of style rules
  • you reuse those rules consistently
  • you change only the variables that should change

This post gives you a practical system to write prompts that actually match across a batch—especially around the three variables that usually drift first: style, composition, and lighting.

If you want a ready-made framework and prompt patterns for consistent visual output, start with Nano Banana Master Prompter. If you’re primarily using Midjourney and want deeper parameter control, MJ Master Prompter is the sister system.

Why prompts don’t match (the real reasons)

Most mismatches come from one of these issues:

  • No locked style tokens: every prompt describes style differently, so the model “improvises.”
  • Composition left unspecified: the model decides framing differently each time.
  • Lighting not explicit: the mood changes even when subject stays the same.
  • Too many moving parts: you’re changing subject, style, setting, and camera angle in one prompt.
  • Iterating without discipline: you change five things at once and don’t know what caused the change.

The fix is a prompt stack: layers of instructions that you control independently.

The prompt stack: build your prompt like a layered system

Use this structure for most marketing imagery:

Layer 1: Subject + intent

Answer: “What is this image for?” Examples:

  • hero image for a landing page
  • background for a quote graphic
  • product-in-use lifestyle shot
  • thumbnail for a YouTube video

Layer 2: Composition (framing + negative space)

Composition is where consistency is usually won or lost. Specify:

  • camera distance: close-up / medium / wide
  • camera angle: eye-level / top-down / low-angle
  • subject placement: centered / left third / right third
  • negative space: “leave open space top-right for headline”

Layer 3: Lighting (the “signature” that makes batches feel cohesive)

Pick one lighting lane and reuse it:

  • soft diffused studio light: clean, premium, low-drama
  • golden hour: warm, lifestyle, optimistic
  • moody rim light: dramatic, high contrast, cinematic

Layer 4: Style tokens (your reusable “brand lane”)

This is your style bank. Keep it small. A good bank has:

  • medium/texture (editorial photo, clean vector, 3D clay, etc.)
  • quality cues (minimal, clean, high detail, subtle grain)
  • color direction (muted neutrals, monochrome, bold accent)

Layer 5: Constraints (what the model must avoid)

Constraints reduce randomness:

  • no text
  • no extra objects
  • no cluttered backgrounds
  • no exaggerated proportions

A repeatable prompt template you can copy

Fill this like a form:

  • [Subject] in [Scene]
  • Composition: [camera distance], [camera angle], [subject placement], [negative space instruction]
  • Lighting: [lighting lane], [shadow softness], [color temperature]
  • Style: [style bank tokens]
  • Palette: [palette constraint]
  • Constraints: [no text / no clutter / etc.]
  • Output: [aspect ratio], [use case]

If you’re generating images via Gemini’s image models, Google documents Nano Banana as Gemini’s image generation capability (Gemini API: image generation (Nano Banana)). Whether you use Gemini, Midjourney, or another tool, the prompt stack approach stays the same.

Composition control: practical patterns that work for marketing

You don’t need to be a photographer to control composition. You need a handful of reusable patterns.

Pattern 1: “Text-safe” layout

  • subject on the left third
  • background smooth / low detail
  • negative space on the right for headline

Pattern 2: “Hero object” centered

  • centered subject
  • clean background gradient
  • soft shadow beneath

Pattern 3: “Process / workspace” top-down

  • top-down flat lay
  • simple props (minimal count)
  • consistent spacing and alignment

Operator tip: pick one pattern per batch. Mixing patterns without intention is how feeds become visually inconsistent.

Lighting control: choose a lane and reuse it

Lighting is the fastest way to make a batch feel cohesive. Choose one lane and describe it consistently.

Lighting descriptors that tend to be stable

  • soft diffused light (clean, forgiving)
  • single key light + subtle fill (structured but not harsh)
  • low contrast shadows (premium, minimal)
  • warm color temperature (friendly, lifestyle)

Lighting descriptors that often create chaos

  • “dramatic lighting” without context (too open-ended)
  • “cinematic” without constraints (can drift wildly)
  • mixing multiple lighting metaphors in one prompt

Iteration discipline: how to debug a prompt so it matches

The most common mistake in prompt iteration is changing too many variables at once. Use this rule:

One change per run, five runs max.

Here’s a debugging loop that works:

  1. Run baseline: generate 8–12 outputs with your template.
  2. Identify mismatch: is it lighting, composition, or style?
  3. Tighten one layer: add one constraint or one clarifying descriptor.
  4. Re-run: generate again and compare.
  5. Lock tokens: once it works, move tokens into your style bank.

If you use Midjourney, controls like parameters and style references can make this easier. Midjourney documents prompt parameters and how they influence outputs (Midjourney docs: Parameter List and Midjourney docs: Style Reference).

“Prompt cards”: how to store prompts so teams can reuse them

A prompt library is only useful if someone else can use it without guessing. Store each prompt as a card with metadata:

  • Name: “Text-safe background v2”
  • Use case: “carousel background for LinkedIn”
  • Locked tokens: style + lighting + composition
  • Variables: what can change safely
  • Examples: 2–3 sample outputs
  • Notes: “avoid busy patterns; works best with muted palette”

Failure modes (and fixes)

  • Everything looks different: you didn’t lock lighting and composition; fix by choosing one lane and one pattern per batch.
  • Everything looks the same: you over-locked; fix by varying the subject/context while keeping style tokens stable.
  • Outputs feel “generic”: your style tokens are too broad; fix by anchoring with more specific texture/medium cues and references.

Worked examples: three prompts built from the same template

To see how the stack works, here are three different prompts that reuse the same style bank and change only the variables that should change.

Example 1: Product hero (clean premium)

  • Subject: [your product] on a minimal pedestal
  • Scene: studio backdrop with smooth gradient
  • Composition: centered product, medium distance, negative space above for headline
  • Lighting: soft diffused key light, subtle shadow, warm highlights
  • Style: editorial product photography, clean, subtle grain
  • Palette: warm neutrals with one accent color reflected subtly
  • Constraints: no text, no extra props, no clutter
  • Output: 4:5 (social) and 16:9 (landing page)

Example 2: Quote background (text-first)

  • Subject: abstract shapes, soft depth
  • Scene: minimal studio background
  • Composition: subject bottom-left, large negative space top-right
  • Lighting: low contrast, soft shadows
  • Style: minimal, calm, editorial
  • Palette: muted background to support high-contrast text overlay
  • Constraints: no text, no patterns that compete with headlines

Example 3: “How it works” illustration (explainer)

  • Subject: simplified diagram-style illustration of a workflow
  • Scene: clean white or off-white background
  • Composition: left-to-right flow, ample spacing, minimal detail
  • Lighting: (if relevant) flat, even, no dramatic shadows
  • Style: clean vector illustration, minimal line weight, consistent icon style
  • Constraints: avoid tiny unreadable text; prefer shapes and icons

Generation vs editing: choose the right mode

If you need strict brand consistency, “edit an existing brand asset” often beats “generate from scratch.” Many teams use generation for backgrounds and concept visuals, then use editing to keep a recognizable base (product photo, mascot, layout).

Text overlays: design for readability from the start

If your image is meant to carry text, build that requirement into your composition layer (“negative space top-right”). Then validate readability. WCAG contrast guidance is the baseline reference (WCAG contrast minimum), and quick tools like WebAIM contrast checker make it operational.

How to operationalize this with a calendar

Once you have prompt cards, production becomes scheduling. Tie prompts to your publishing rhythm so you’re not inventing visuals every week. If you’re already running a calendar, slot “prompt selection” and “batch generation” as explicit steps—this is the missing bridge between creative intent and consistent output. The planning layer is what Monthly Content Calendar is built for.

Closing perspective

Repeatability is not a creative limitation. It’s what makes creative scalable.

When prompts are built as a stack—subject, composition, lighting, style, constraints—you stop gambling for a good output. You start engineering outputs that match on purpose. That’s the core workflow inside Nano Banana Master Prompter.