GPT Image 2 Prompt Guide: Structure, Examples and Real Images
Eight prompts, nine real images: what GPT Image 2 got exactly right, what it added and how to fix it.

On this page
- The GPT Image 2 prompt structure
- How we made the images
- Eight prompts with real images
- 1. A poster with exact text
- 2. A product photo, built part by part
- 3. An infographic at high and low quality
- 4. A photoreal portrait
- 5. Style transfer: give the input image one job
- 6. Change one thing, keep the rest
- 7. Exact counts
- 8. An app screen with exact UI text
- Common failures and fixes
- What an image costs
- Run these prompts through the API
- Common questions
- How long can a GPT Image 2 prompt be?
- How do I stop extra text and logos?
- Is quality high worth it?
- Can GPT Image 2 make a transparent background?
- Should I use GPT Image 2 or GPT Image 2.5?
- Update log
Write a GPT Image 2 prompt in OpenAI's order: intended use, scene, subject, details, style, then constraints, with any exact text in quotes and its position named. For edits, say what changes and list what stays. We ran eight prompts on October 27, 2026: the quoted text and the count came out exact, while edits redrew small details.
The GPT Image 2 prompt structure
OpenAI's prompting guide starts from the image you need, then covers subject, composition, style and constraints, and for complex requests asks for labelled sections in the order scene, subject, details, constraints. Its cookbook order adds one part in front, the intended use, because naming the job (an ad, a UI mock, an infographic) sets the level of polish. No special syntax is needed.
| Part | What to write | From our prompts |
|---|---|---|
| Intended use | What the image is for | "a poster for a community event, printed at A3" |
| Scene | Place, light, background | "a seamless pale stone backdrop, soft morning window light" |
| Subject | The main thing, where it sits | "a matte black stainless-steel water bottle … slightly left of centre" |
| Details | Text, materials, small objects | "Line 2, below it, smaller: …" |
| Style or photo | Medium, lens, palette | "screen-printed poster, three colours" |
| Constraints | What must not appear | "no other text, no logos, no watermark" |
- Exact text: quote it, give its position and type, spell hard words letter by letter, ask for nothing else in the frame, then proofread. OpenAI suggests
mediumorhighfor dense text, though ourlowinfographic got every label right. - Edits: "change only X", list what stays, repeat that list each round, and paste the approved edit over the original when a region must stay identical.
- Reference images: one job per input — palette, texture or medium — with the new subject described separately.
- Photos: ask for "photorealistic", describe framing and texture, and read "50mm lens" as a cue for the look rather than a setting.
- Settings:
qualityislow,medium,highorauto. OpenAI recommends 1024×1024, 1536×1024 and 1024×1536 and also accepts 2K, 4K and custom sizes. It states no prompt length limit; ours were 248 to 607 characters.
OpenAI's prompting guide illustrates its examples with GPT Image 2.5 images, not GPT Image 2, so every image here is ours, made with gpt-image-2.
How we made the images
- Model
gpt-image-2through OmniaKey's asynchronous media API on October 27, 2026 (Beijing time), one image per call, at OpenAI's three recommended sizes. Quality washighfor the poster, the app screen and one infographic,lowfor the other,mediumfor the rest; we sent no background, format, compression or moderation settings. - Prompts 1–4, 7 and 8 generate. Prompts 5 and 6 edit, with the source sent inline as a JPEG shrunk to 1024 px on its long side to stay under the 1 MiB limit.
- Times ran from 23.1 s to 96.6 s; the edits took 43.0 s and 78.9 s. The first style-transfer try failed with a temporary "unavailable" error after 131 s and was not charged, and the retry is the image you see.
- We read every image at full size, checked text letter by letter, counted objects, and compared the edit with its source region by region using SSIM, where 1 means identical.
- OmniaKey sells API access to GPT Image 2, so we ran the prompts through it. The prices below are OpenAI's list prices, not ours.
- Sources: OpenAI's image generation guide, its image prompting guide, the cookbook prompting guide (now marked archived) and the API pricing page, checked October 27, 2026.
We also used GPT Image 2 for the first frame of the image-to-video clip in our Wan 3.0 prompt guide. Every prompt ran once, so each image is one sample.
Eight prompts with real images
1. A poster with exact text
Three lines of exact text, each with its own position and type.
Intended use: a poster for a community event, printed at A3.
Scene: a warm autumn evening in a small-town square, string lights overhead.
Subject: a vintage bicycle with a wicker basket full of apples, centered in the lower half.
Text (exact, render each line once):
Line 1, top, large bold serif: "HARVEST NIGHT MARKET"
Line 2, below it, smaller: "Saturday, November 8 · 5–10 pm"
Line 3, bottom, small caps: "Old Mill Square"
Style: screen-printed poster, three colours (deep red, mustard, cream), visible paper grain.
Constraints: no other text, no logos, no watermark.

Settings: generate, 1024x1536, quality high, 50.3 s.
Result: all three lines exact; two small extras appeared.
- "HARVEST NIGHT MARKET" in large bold serif over two lines, an oak leaf each side; "Saturday, November 8 · 5–10 pm" keeps the dot and dash exactly.
- "OLD MILL SQUARE" in small spaced capitals, the square, spire and red bicycle all there, no other text, plus the unasked leaves and moon.
What to change:
- If the title must stay on one line, say so, as "title on a single line".
- To stop small additions, list them: try "no leaves, no moon".
2. A product photo, built part by part
Every slot of the structure, filled for one bottle.
Intended use: the hero image on an online shop's product page.
Scene: a seamless pale stone backdrop, soft morning window light from the left, a gentle shadow falling to the right.
Subject: a matte black stainless-steel water bottle with a bamboo cap, standing upright, slightly left of centre.
Details: small water droplets on the bottle, a sprig of fresh mint lying beside it, visible wood grain on the cap.
Photography: photorealistic product photo, 100mm macro lens look, sharp focus on the bottle, background softly out of focus.
Constraints: no text, no logo, no label on the bottle, no other objects.

Settings: generate, 1536x1024, quality medium, 96.6 s.
Result: every part of the prompt is there, and nothing else.
- A matte black bottle with a bamboo cap left of centre, drops all over it, mint at its base, window-frame shadows across the stone from the left.
- The background stays softly out of focus, with no text, logo, label or other object.
What to change:
- For a white shop background, describe it in the scene: "seamless pure white background". OmniaKey's API always returns an opaque PNG.
3. An infographic at high and low quality
One prompt, run twice with only the quality setting changed.
Intended use: a one-page explainer for a coffee shop's blog.
Create a clean infographic titled "HOW POUR-OVER COFFEE WORKS".
Layout: four numbered steps in one vertical column; each step has a simple flat illustration on the left and a short label on the right.
Step labels (exact text):
1. "Grind 15 g of beans"
2. "Heat water to 94 °C"
3. "Bloom for 30 seconds"
4. "Pour slowly for 3 minutes"
Style: flat vector illustration, cream background, dark brown and teal accents, plenty of white space.
Constraints: no other text, no logos, every label spelled exactly as written.

Settings: generate, 1024x1536, run twice: quality high (73.9 s) and quality low (50.6 s).
Result: both spelled every label right; the high-quality one added text.
- Both spell the title right, draw the grinder, kettle, dripper and pouring kettle, and print all four labels exactly, "94 °C" included.
highadded a second "94 °C" beside the kettle and set labels below their circles;lowkept every label level and added nothing.
What to change:
- Start at
lowand compare up before rewriting the prompt. - If alignment matters, say "labels level with the step numbers".
4. A photoreal portrait
Photography words plus a request for real skin texture.
Create a photorealistic candid portrait of a fictional woman in her fifties, a potter, sitting at her wheel in a small studio.
Framing: medium close-up at eye level, like a 35mm film photograph taken with a 50mm lens, shallow depth of field.
Details: real skin texture (pores, fine lines, freckles), grey hair tied back, a denim apron with clay stains, wet clay on her hands, shelves of unglazed bowls blurred behind her.
Lighting: soft daylight from a window on the left.
Constraints: no text, no watermark, natural colours, no heavy retouching.

Settings: generate, 1024x1536, quality medium, 83.1 s.
Result: real skin texture, with a posed look and a wider crop.
- Grey hair tied back, freckles and fine lines, a clay-streaked apron, wet hands shaping a bowl, pale bowls on shelves behind her, daylight from the left.
- She looks into the camera and smiles, so it reads posed, and the crop runs from head to wheel, wider than asked.
What to change:
- For a candid look, say where she looks: "looking down at the clay, not at the camera".
- Describe the framing in plain words too, such as "from the shoulders up".
5. Style transfer: give the input image one job
An edit whose input is our poster from prompt 1, used for style only.
Use the input image only as a style reference: copy its screen-printed look, its three-colour palette (deep red, mustard, cream) and its paper grain.
New subject: a lighthouse on a rocky headland at dusk, with a small sailboat on the sea below it.
Layout: the lighthouse centered, generous empty sky at the top.
Constraints: no text of any kind, no bicycle, no apples, no logos.

Settings: edit, input the poster from prompt 1, 1024x1536, quality medium, 43.0 s on the retry (the first attempt hit a temporary error and was not charged).
Result: the palette and grain carried over; one extra building appeared.
- A lighthouse on a rocky headland at dusk with a sailboat below, in the poster's three colours and printed grain, open sky above, and no text, bicycle or apples.
- It added a small keeper's cottage beside the lighthouse.
What to change:
- If nothing else may appear, list it: try "no buildings except the lighthouse".
6. Change one thing, keep the rest
An edit of the product photo from prompt 2: one change, an eight-item keep list.
Change only the colour of the bottle, from matte black to matte sage green.
Keep everything else exactly the same: the bamboo cap, the mint sprig, the water droplets, the lighting, the shadow, the camera angle, the framing and the stone background.

Settings: edit, input the product photo from prompt 2, 1536x1024, quality medium, 78.9 s.
Result: the colour changed, and small details were redrawn.
- A matte sage-green bottle in the same place, with the cap, mint, drops, light and stone background unchanged at a glance.
- At full size the mint moved, the drops shifted and the cap grain was redrawn; SSIM, where 1 means identical: wall 0.985, table 0.93, mint 0.78, cap 0.65, bottle 0.33.
What to change:
- When a region must stay pixel-identical, paste the approved edit back over the original.
- Repeat the keep list on every round of edits.
7. Exact counts
OpenAI publishes no guidance on counting objects, so this recipe is our own test.
Intended use: a test of exact object counts.
A top-down photo of a light wooden table with exactly seven red apples and exactly three green pears, arranged in one loose row, nothing else on the table.
Photography: photorealistic, soft even daylight, straight top-down view.
Constraints: exactly 7 apples and exactly 3 pears, no other fruit, no text.

Settings: generate, 1024x1024, quality medium, 23.1 s.
Result: seven and three, exactly; the row came out ruler-straight.
- Exactly 7 red apples and 3 green pears, nothing else, seen from above with the pears on their sides.
- The row is perfectly straight and evenly spaced, so "loose" was not followed.
What to change:
- Describe the arrangement in plain words: "scattered in a loose, uneven line".
- Keep the numbers in both the description and the constraints, as we did.
8. An app screen with exact UI text
Six pieces of interface text inside a phone frame.
Intended use: a design mockup for a pitch deck.
Create a realistic mobile app screen for a fictional plant-watering app called "Sprout", shown inside a plain modern phone frame on a light grey background.
Screen content (exact text):
Header: "Good morning, Maya"
Card 1: "Monstera — water today"
Card 2: "Fiddle-leaf fig — in 2 days"
Card 3: "Snake plant — in 6 days"
Bottom button: "Log watering"
Style: clean rounded cards, soft green accents, readable sans-serif text, generous spacing.
Constraints: no other text, no real brand logos, all text spelled exactly as written.

Settings: generate, 1024x1536, quality high, 55.6 s.
Result: every word spelled right; the layout changed in three places.
- A phone frame shaped like a recent iPhone, on light grey, "Good morning, Maya" over two lines, three plant cards and a green "Log watering" button; every word spelled right.
- Each card split into name and status, so the dashes are gone, "Sprout" appears nowhere, and a "9:41" status bar was added.
What to change:
- Quote each line as it should appear on screen, and give the app name as text with a position.
- Add "no status bar" to the constraints.
Common failures and fixes
OpenAI lists three weak spots: precise text placement, consistency for recurring characters or brands across separate images, and exact placement in layout-sensitive compositions.
| Problem | Fix | Source |
|---|---|---|
| Misspelled or extra text | Quote it, say where it goes, ask for no other text, then proofread | OpenAI's guide; our prompt 1 |
| Hard words come out wrong | Spell them letter by letter | OpenAI's guide |
| An edit changes more than asked | "Change only X", list what stays, paste back if it must not move | OpenAI's guide; our prompt 6 |
| Details drift over several edits | Repeat the keep-list every round | OpenAI's guide |
| Layout slightly off | Name positions; compare quality settings | Our prompt 3 |
| A posed face when you wanted candid | Say where the person looks | Our prompt 4 |
| Things you did not ask for | List them in the constraints | Our prompts 1, 5, 8 |
| A character or brand changes between images | Restate the key details each time | OpenAI's guide |
What an image costs
OpenAI prices GPT Image 2 by the token: image input $8, image output $30 and text input $5 per million tokens, with Batch at half. It also publishes per-image output prices for three sizes, output only, checked October 27, 2026.
| Quality | 1024×1024 | 1024×1536 | 1536×1024 |
|---|---|---|---|
| Low | $0.006 | $0.005 | $0.005 |
| Medium | $0.053 | $0.041 | $0.041 |
| High | $0.211 | $0.165 | $0.165 |
Our high-quality infographic cost 33 times the low one, $0.165 against $0.005, and was the image with the extra text, so draft cheap and move up when the layout holds. Our nine images come to about $0.72 before input tokens, which these prices leave out. For OmniaKey's current rates, see the GPT Image 2 model page.
Run these prompts through the API
OmniaKey's media API takes three steps: create a task, poll that task until it finishes, then download the asset. This is a minimal version of the request we sent for prompt 3 at low quality, with retries and logging left out.
pip install requests
export OMNIAKEY_API_KEY="your-key"
import os
import time
import uuid
import requests
API = "https://api.omniakey.com/v1/media/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['OMNIAKEY_API_KEY']}"}
PROMPT = """Intended use: a one-page explainer for a coffee shop's blog.
Create a clean infographic titled "HOW POUR-OVER COFFEE WORKS".
Layout: four numbered steps in one vertical column; each step has a simple flat illustration on the left and a short label on the right.
Step labels (exact text):
1. "Grind 15 g of beans"
2. "Heat water to 94 °C"
3. "Bloom for 30 seconds"
4. "Pour slowly for 3 minutes"
Style: flat vector illustration, cream background, dark brown and teal accents, plenty of white space.
Constraints: no other text, no logos, every label spelled exactly as written."""
# 1. Create the task. Reuse the same Idempotency-Key only when retrying this exact request.
resp = requests.post(
API,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json={
"model": "gpt-image-2",
"type": "image",
"operation": "generate",
"input": {"prompt": PROMPT},
"parameters": {"size": "1024x1536", "quality": "low"},
},
timeout=30,
)
resp.raise_for_status()
task = resp.json()
print("task:", task["id"], task["status"])
# 2. Poll the same task until it finishes. Slow is not failed: keep polling this id.
while task["status"] in ("queued", "processing"):
time.sleep(4)
task = requests.get(f"{API}/{task['id']}", headers=HEADERS, timeout=30).json()
if task["status"] != "succeeded":
raise SystemExit(f"task ended {task['status']}: {task.get('error')}")
# 3. Download the image now: the signed URL lasts about an hour.
asset = task["assets"][0]
with open("pour-over.png", "wb") as f:
f.write(requests.get(asset["url"], timeout=60).content)
print("saved pour-over.png", asset["mime_type"], asset["byte_size"], "bytes")
An edit is the same task with the operation switched and the source image inline:
{
"model": "gpt-image-2",
"type": "image",
"operation": "edit",
"input": {
"prompt": "Change only the colour of the bottle, from matte black to matte sage green. Keep everything else exactly the same.",
"image": {"data": "<base64>", "mime_type": "image/jpeg"},
},
"parameters": {"size": "1536x1024", "quality": "medium"},
}
- Several references go in
"images": [...]instead of"image". - The whole request is capped at 1 MiB, so shrink the source first, as we did.
- On OmniaKey,
sizetakes 1024x1024, 1536x1024 or 1024x1536, andnmust be 1. - Background, format, compression and moderation settings have no effect: the result is an opaque PNG.
- Jobs usually take 25–60 seconds, and ours took 23 to 97 s. The signed URL lasts about an hour, so download as soon as a task succeeds.
For OmniaKey's current rate, see the GPT Image 2 model page and the image API docs.
Common questions
How long can a GPT Image 2 prompt be?
OpenAI publishes no limit: the generation guide, the prompting guide, the model page and the API reference state no character or token cap. Ours were 248 to 607 characters, 42 to 100 words.
How do I stop extra text and logos?
State the exclusions, such as "no other text, no logos, no watermark", then check the output letter by letter. Our poster came out clean; the high-quality infographic added a second "94 °C".
Is quality high worth it?
On one infographic it was the worse buy: low kept every label level and added nothing, while high cost 33 times as much and printed an extra "94 °C". OpenAI advises drafting at low and says a higher setting is no guarantee.
Can GPT Image 2 make a transparent background?
Yes, as a preview, and it needs PNG or WebP, because JPEG cannot carry transparency. Through OmniaKey's API the result is always an opaque PNG; for a clean shop background, describe a seamless white backdrop in the scene, as in prompt 2.
Should I use GPT Image 2 or GPT Image 2.5?
GPT Image 2 shipped on April 21, 2026 and the two 2.5 models on September 8, 2026. OpenAI's prompting guide calls 2.5 Flare similar in quality and faster, and 2.5 Sunburst higher. See GPT Image 2.5 vs GPT Image 2 and GPT Image 2 vs Nano Banana 2.
Update log
- October 28, 2026: first version, with eight prompts run on October 27, 2026.
Models in this article
Related articles
GPT-Image 2.5 vs GPT-Image 2
GPT-Image 2 costs $0.02 / $0.03 / $0.05 and the 2.5 ids $0.025 / $0.035 / $0.055 per image at 1K / 2K / 4K; quality does not change the price. The 2.5 ids add no working quality tier, and requests need an explicit WIDTHxHEIGHT.
Grok Imagine 2.0 Prompt Guide: Structure, Examples and Real Images
Eight recipes with real images: what Grok Imagine 2.0 followed, what it added and how to steer it.
GPT Image 2 vs Nano Banana 2
GPT Image 2 is the simpler OpenAI-shaped route; Nano Banana 2 is the more flexible reference-image route. Choose by the request contract and accepted-task cost.

