Images 2.6 brings Image Markup into the API: how targeted edits land in practice
Per OpenAI’s product announcement, Image markup was already available in ChatGPT and enters the API with Images 2.6 so teams can “precisely indicate where a specific change should happen.” The November 4, 2026 Changelog further states that markup-guided editing was added for supported GPT Image 2.5 and 2.6 models. The image generation guide places the call path at Image API POST /v1/images/edits. For teams already used to “circle then change” in ChatGPT, the significance is that the same interaction semantics can enter batch jobs and server-side pipelines.
👉 Try the GPT Image 2.6 API on PoYo: per-image pricing and online playground.
Substantively, the capability uses a same-size transparent annotation layer plus a natural-language prompt to steer the model toward circled or marked regions, reducing full-image redraw mistakes. Official examples and product language point to ecommerce recolors, SKU-local replacements, packaging copy fixes, and similar flows; the announcement also stresses keeping character, product, and brand detail consistent across edits.
Request structure and file constraints
Docs require constructing requests as follows. First, keep the original image as the first input image. Second, separately make a transparent PNG that contains only circles, sketches, or other marks; after orientation correction, the markup layer’s width and height must match the first input image; the PNG must include transparent pixels and must not flatten marks into the original. Third, send that layer as markup: multipart requests can upload a file; JSON requests can use an object that contains exactly one of image_url or file_id (image_url may be HTTPS or a base64 data URL); the JSON edits input-image array field is images. Fourth, describe both “what to change” and “what to preserve” in prompt, and human-review results before use.
Hard limits: markup applies only to the first input image; extra images are reference only; each of the first image and markup layer may not exceed 16,777,216 pixels; markup file size max is 50 MB. Do not use markup together with mask or prompt_rewriter. Docs also note: for regional edits in the Responses API, use mask instead; the markup path targets the Image API edits endpoint. Flare and Sunburst model pages both list markup-guided edits as a capability covered in the image generation guide.
The official kitchen-vase example (in both the docs and prompting guide) shows a typical pattern: original is a kitchen photo; a transparent overlay marks a striped vase with a red circle; the prompt asks to change the circled vase to cobalt ceramic, keep the shape and dried flowers, and remove the red circle from the final. Examples run with gpt-image-2.6-flare and gpt-image-2.6-sunburst at quality="medium", and remind you to check whether the rest of the original drifted unexpectedly.
Relationship to mask and product workflows
Mask editing indicates “regions to replace” via a mask; docs say masking on GPT Image is “entirely prompt-based,” with the mask mainly as guidance—the model may not hug the shape strictly. Markup is closer to “drawing instructions on the image”: visible marks tell the model where to change, and the prompt says what to change to. The two cannot be mixed. Choose by interaction shape—programmatic alpha masks suit pipeline cutouts; circles/arrows drawn in design tools suit markup.
For product and SKU workflows, encode “only change the package color band,” “only replace the cap,” or “only fix price-tag text” as constrained prompts and circle the object with markup, reducing the chance that background, lighting, and composition are rewritten together. The prompting guide also suggests: for local edits, state which saturation, contrast, arrows, camera position, and surrounding objects must stay unchanged; change one item at a time so you can tell which edit actually worked. OpenAI also recommends low complexity for most edit tasks to speed edits and reduce extra changes—advice that fits markup targeting well, because omitting complexity defaults to high.
Note: markup does not guarantee pixel-level zero drift. General limitations still say the model may struggle with structured composition and precise text placement; critical deliverables should add human sampling after automation, and when needed composite approved regions back onto the original rather than relying on a single API output. Content-moderation rules still apply; on user-correctable errors such as moderation_blocked, adjust the prompt or input image before retrying—do not retry blindly.
Bottom line: Images 2.6 brings ChatGPT’s proven annotation-edit language into the API so targeted changes can enter batch and SKU pipelines. Strictly following same-size transparent PNG, the markup field, and mutual exclusion with mask, while stating both change and preserve items in the prompt, is the minimum complete practice in the official docs.