Markup Circles the Change. Don't Let It Invent the SKU.
OpenAI image edits now take a transparent markup PNG on GPT Image 2.5. Markup is a circle, not a new bottle. Lock the SKU on GPT Image 2. Empty type. Overlay last.

OpenAI’s image-edit endpoint now takes an optional markup file: a transparent PNG laid over the first source image. It must match that image’s dimensions after orientation, contain transparent pixels, and it cannot be combined with a mask. The reference says it supports GPT Image 2.5. Markup is an annotation layer — a circle, an arrow, a scribble that says “change this.” It is not a license to mint a cousin SKU. Lock catalog and campaign stills from a photograph you already trust. Leave type empty. Overlay real words last. FreeGPTImg is a GPT Image 2 workspace: 20 daily free credits, no credit card required. Do not stamp Flare, Sunburst, or “markup-approved” on a GPT Image 2 JPEG, and do not export the circled-and-rewritten bottle as the product.
Draft in FreeGPTImg. Stay on GPT Image 2 when that is the label on the screen. Recrop a feed frame in AI social media ads. Keep materials honest in AI product photography. Put one unit on white in the Amazon product photo generator. Change only the field in white background product photo. Change only one noun from a locked hero in image to image. Start a net-new concept in text to image only when you do not yet have a photo.
What the job actually is
OpenAI’s image guide still splits the work: generate from a prompt, or edit an existing image, including partial edits. The same guide currently points API users at gpt-image-2.5-flare for everyday generation and gpt-image-2.5-sunburst when editing precision matters. The edit reference defaults model to gpt-image-2.5-sunburst. gpt-image-1 shut down on 23 October 2026; the same page tells you to use Flare or Sunburst instead. FreeGPTImg currently exposes GPT Image 2 on this loop. Write the name on the screen into the filename. Do not relabel a GPT Image 2 still as Flare, Sunburst, or markup.
A mask and a markup file are different handles. The guide’s mask path is a PNG whose fully transparent areas mark where the first image may be replaced. Markup is a transparent overlay on that first image, passed as a file ID, an HTTPS URL, or a base64 data URL. It must match the source after orientation. It must contain transparent pixels. It cannot ride with a mask. Circle the lid if the lid is the only change. Do not circle the lid and also ask for a new glaze, a second SKU, and a “Shop now.”
You can send up to 16 source images on an edit. Sixteen references are a mood board. They are not sixteen cartons you sell. n can be 1–10. Ten variations from one circled scribble is a concept set, not a catalog. Quality on 2.5 includes low, medium, high, xhigh, max, and auto. Pin the word if the still might ship. auto is not a grade on the pack. Standard sizes are 1024x1024, 1536x1024, and 1024x1536; custom WIDTHxHEIGHT must be multiples of 16, aspect between 1:3 and 3:1, edges at most 3840 px. Above 2560x1440 is experimental. Transparent background needs png or webp. Complex prompts can take up to two minutes. Recheck the live docs; quality tiers and model IDs move.
Amazon’s product image help still treats MAIN as a realistic photo of the item you sell, on a pure white field (RGB 255, 255, 255), without extra graphics or type. A circled-and-restyled still is not MAIN. Meta’s image-ad guide for Facebook Feed currently recommends JPG or PNG, a 4:5 frame, and 1440×1800 as a working resolution, with a 600 px minimum width. That is a crop target, not permission to bake a markup CTA into pixels.
The cheap failure today is not “I did not read the edit reference.” It is “I circled the logo, the model rewrote the mark, and now the grid disagrees with the box.”
Name the still before you generate
Weak sets fail because one markup pass tries to be a concept still, a circled edit, MAIN, a 4:5 ad, a 16-image basket, and the signed headline. Pick one job.
| Job | What you export | Keep | Change one thing | Wrong move |
|---|---|---|---|---|
| Concept still | A mood board or placeholder | One idea | Nothing else | Feeding it to markup as the product |
| Locked catalog still | The SKU you already ship | Shape, color, label, logo, pack size | Nothing, or light only | Starting from a generated JPEG |
| White MAIN draft | Same SKU, square, opaque white | The upload | Field only | Markup chrome, extra unit, restyled colorway |
| 4:5 feed still | Same SKU, empty lower or top band | Silhouette, palette | Crop and empty band | Asking the circle to “make it sharper” |
| 9:16 story still | Same SKU, empty lower third | The object | Crop only | Status bars, prices, “markup” badges |
| Masked edit | Same locked photo, one region open | Everything outside the hole | The hole only | Markup plus mask in one request |
| Markup edit | Same locked photo, one circled noun | Everything the circle does not name | The circled noun only | Circling the whole pack “to be safe” |
| Offer overlay | Don’t generate it | Empty type | Editor, last | “SALE”, “$29”, “Shop now” in the prompt |
A text-to-image pass invents. An image-to-image pass should borrow. If you already paid for a pack shot that matches the listing, that file is truth. A red circle is a pointer. It is not a second product.
Checklist before anything leaves the edit
Use this sequence. Do not paste a campaign brief onto a scribble PNG and expect the export to be the SKU you used to ship.
- Name the job. Concept still, catalog still, MAIN draft, feed still, story still, masked edit, markup edit, or overlay. One file, one job.
- If it is a catalog, ad, or listing still, start from a photograph. The locked JPEG of the item you sell. If you do not have that file, stop and photograph it. Do not invent a bottle because the overlay PNG is pretty.
- Write keep / change / do-not in five lines. Keep silhouette, color, label, logo, and pack size. Change only one noun: crop, field, empty band, or the circled region. Do not add a second SKU, a restyled colorway, or a percent.
- Name the engine on the screen. If FreeGPTImg shows GPT Image 2, write
gpt-image-2. If an API log saysgpt-image-2.5-sunburstorgpt-image-2.5-flare, write that ID. If you sentmarkup, writemarkupinto the filename too. Do not relabel either filemarkup-approved. - Lock the still outside the markup pass first. Run the keep / change / empty-type loop on GPT Image 2. Only then send that PNG to an edit endpoint, and only with one handle: markup, or mask, never both.
- Size the overlay to the source. Markup must match the first image after orientation and must contain transparent pixels. A stretched circle is a different crop. Do not send a 1024 overlay onto a 1536 source and hope the lid stays the lid.
- Ask for empty type. Prices, percents, star ratings, “Shop now,” legal lines, and model names never belong in the generator if they must be exact. Overlay them in an editor after a person signs the words.
- Leave production room. Product in the middle third. Quiet field. Empty band where the headline will sit. Do not fill every edge with arrows, UI chrome, or the scribble you used as markup.
- Generate one still, then multiply. One locked pass first. File names like
kettle-4x5-empty-band-gpt-image-2.png. Neverkettle-final-markup.pngfor a listing.n=10is ten concepts, not a catalog. Sixteen references are sixteen references, not a gift-basket SKU you do not sell. - Inspect the subject before the overlay. A rewritten mark, a floating “markup”, a ribbon that says “SALE”, or a tag that says “4.9” are stop conditions. Hold the still next to the real pack. If a stranger would think this brand shipped a circled edition, discard it.
- Only then overlay. In an editor, set the real headline and only the claims a manager signed. Recrop to the live placement size after the pixels match. Do not ask the circle to spell the price. Do not ask Sunburst to invent a lid that “reads cleaner at 4K.”
Prompt formula for the locked still
GPT Image 2 catalog or ad still, not a markup generate and not MAIN unless named.
Start from the uploaded product photo.
Keep: exact silhouette, color, label, logo, pack size.
Change only: [crop / field / empty headline band / the circled noun].
Empty type. No prices, percents, ratings, model names, watermarks, or markup chrome.
Do not add: extra SKUs, restyled colorways, “Shop now”, celebrity faces, children.
Prompt examples
Locked catalog still. “Image-to-image: keep this exact matte-black kettle, spout curve, handle, and printed mark. Even studio light. Empty type. Not a markup reshoot, not MAIN unless named.”
White MAIN, not a circled file. “Image-to-image: keep this exact SKU. Change only the field to opaque pure white. No badge, no extra unit, no markup arrows.”
4:5 feed, empty lower band. “Image-to-image: keep this exact kettle. 4:5 crop, product in the upper two thirds, empty lower band for later overlay. Quiet kitchen, even light. No prices, no markup chrome, no second kettle.”
9:16 story, empty lower third. “Image-to-image: keep this exact mug glaze and printed mark. 9:16, empty lower third. No status bar, no ‘Shop now’, no model watermark.”
Markup edit after the still is locked. “Use this product photograph exactly as uploaded. The overlay circles only the lid. Change only the lid finish to the same matte black as the body. Do not restyle, recolor, or redraw the rest of the SKU. Empty type.”
Do not generate this. “Circle the whole bottle, make it sharper and more premium, new copper glaze, ten colorways, Instagram CTA Shop now $29, 4.9 stars, markup, guaranteed Amazon approved, cousin lid that looks cleaner at max.”
What to tell an explicit 2.5 edit after the still is locked
If you already have the GPT Image 2 PNG, an edit on gpt-image-2.5-sunburst can still be useful. Keep the instruction short and negative about the product. Send markup or mask, not both. Pin quality.
Use this product photograph exactly as uploaded. Do not restyle, recolor, relight, or redraw the SKU.
Keep labels, logo, silhouette, and pack size accurate.
Change only the region named by the markup overlay: [one noun].
Leave all type empty. Do not invent prices, percents, or CTAs.
Do not send a mask on this request.
quality: high
That is an edit pass. It is not a second generate of the object, and it is not a circled license to invent a colorway.
Review the pixels before they leave the overlay
Zoom to 400%. A circled still hides a rewritten label. An overlay will not hide it either.
- Subject honesty. Same silhouette, color, label, and pack size. If a stranger would think this brand shipped a markup edition, discard the still.
- Job honesty. A concept still stays in the concept folder. A markup export is a markup export until you prove otherwise. MAIN stays white, one unit, no graphics.
- Engine honesty. Write the model you used into the file name. A GPT Image 2 still is GPT Image 2. A Sunburst markup still is Sunburst plus
markup. Do not stamp markup on the FreeGPTImg JPEG. - Empty type. Prices, percents, ratings, store chrome, and model names stay empty of anything you need people to read. The overlay PNG is a pointer, not a headline.
- Handle honesty. Markup or mask. Not both. A circle around the whole pack is a generate with extra steps. If you needed the whole file replaced, you did not need markup.
- People and file. No recognizable generated faces you cannot clear. No children. PNG or JPEG, RGB, quiet field, no QR. Preview at feed size and at the size the catalog actually renders.
- Provenance. A 200 from
/v1/images/editsis not a license, not a marketplace approval, and not a signed offer. Recheck Amazon’s product image help and Meta’s ads guide before you tell a teammate the file is ready.
Limitations you should not skip
A markup export is not a signed discount, not a commercial-rights grant, and not MAIN. FreeGPTImg does not run GPT Image 2.5 Flare, Sunburst, or the markup parameter. The default loop here is GPT Image 2 stills. Do not generate medical seals, “#1 2026,” store logos, or sale badges unless those claims are already on the real label and a manager signed them.
OpenAI’s own limitations still apply: complex prompts can take up to two minutes; text in the image can still miss placement and clarity; recurring brand marks can drift across generations; structured layouts are harder than they look. Treat those as reasons to lock the photograph first, not as a dare to circle harder.
OpenAI’s image guide is explicit about the two jobs: generate from a prompt, or edit an existing image. Edits can be partial or entire. Treat that as a keep-subject loop, not as a promise any model will honor an unsigned price. Quality tiers, background modes, and model IDs move. Recheck the live docs.
Models invent letters, digits, and product cousins when you mention Instagram, a dollar figure, “sharper,” “more premium,” or “make ten.” Shorten the brief. One SKU. One circled noun. Empty type. A transparent overlay is not a backup of the PNG you already had. If the locked raster is honest, recrop that. If it is not honest, rephotograph. Do not ask a circle to remember a pack you never locked.
FAQ
What is markup on OpenAI image edits?
A transparent PNG overlaid on the first source image. You pass it as a file ID, an HTTPS URL, or a base64 data URL. It must match that image’s dimensions after orientation and contain transparent pixels. The edit reference says it supports GPT Image 2.5. Recheck the live page.
Can I send markup and a mask together?
No. The reference says markup cannot be combined with mask. Pick one handle. A mask opens a region. Markup annotates intent. Sending both is a rejected request, not a sharper kettle.
Does FreeGPTImg run markup, Flare, or Sunburst?
No. FreeGPTImg is a GPT Image 2 workspace: 20 daily free credits, no credit card required. Use it to lock the still. Write the name on the screen into the filename.
Can I use a markup still as Amazon MAIN or a Meta ad?
Not if it changed the product, and not because the edit returned 200. MAIN is a realistic photo of the item you sell, usually on pure white, without extra graphics or type. A restyled glaze, a “premium” reshoot, or baked “Shop now” type fails that job. Lock the SKU first. Empty type. Overlay last. Recheck Amazon’s product image help and Meta’s ads guide.
Why did the logo change when I only circled it?
You named a region and then wrote a prompt that also asked for sharper, more premium, or a new finish. The circle is not a lock. Keep / change / do-not still have to be five lines. If the mark must match the box, start from a photograph and do not ask the overlay to redraw it.
Should I lock stills in the markup pass or outside it?
Outside it, if the file might ship as catalog, MAIN, or an ad. Photograph the item. Run the keep / change / empty-type loop on GPT Image 2. Then, if you still need a 2.5 edit, send that PNG with one circled noun, markup or mask, and tell the edit not to touch the rest of the SKU.
Sources
- OpenAI: Image generation
- OpenAI: Create image edit
- Amazon: Product image requirements
- Meta: Image ads guide
Lock the still before you send the circle
Pick the PNG that already matches the item you sell, not the JPEG a markup overlay invented because you circled the whole pack. Write five lines: keep, one circled noun, empty type, overlay later. Open FreeGPTImg, stay on GPT Image 2 when that is the label on the screen, recrop a feed frame in AI social media ads, keep materials honest in AI product photography, put one unit on white in the Amazon product photo generator, change only the field in white background product photo, run the edit in image to image, start a net-new concept in text to image only when there is no photo, and only then overlay the signed words — or send the locked PNG to a 2.5 edit with markup or mask, never both, and tell the edit not to touch the SKU.
