GPT Image 2.6: Turn Precision Edits into Auditable Change Contracts A developer outlined a pattern for treating GPT Image 2.6 image edits as auditable "change contracts," pairing natural-language instructions with a transparent PNG markup layer and explicit preservation and prohibition rules, then validating outputs against them. The approach maps business intents to server-side allow-listed model configurations (Flare for previews, Sunburst for final edits) and validates markup files locally for MIME type, matching dimensions, a 16,777,216-pixel cap and a 40 MB size limit before spending an API request. The writeup notes the markup parameter cannot be combined with mask, GIF output or prompt_rewriter. GPT Image 2.6 makes precise image editing more useful when your application can answer two questions: where may pixels change, and what must remain intact? A prompt alone is weak evidence. “Replace the mug” can accidentally alter a hand, label, shadow, or nearby text, while an HTTP 200 only proves that the request completed. A stronger pattern is to treat each edit as a small change contract. Combine a natural-language instruction with a transparent PNG annotation layer, then evaluate the result against explicit preservation rules. This is especially valuable for product imagery, campaign localization, and UI mockups where an attractive output can still be wrong. GPT Image 2.6 is available as Flare https://platform.acedata.cloud/models/gpt-image-2.6-flare?m=image and Sunburst https://platform.acedata.cloud/models/gpt-image-2.6-sunburst?m=image . A reasonable service policy is to use Flare for rapid candidate iteration and Sunburst when your own acceptance tests show that its detail-oriented workflow better fits a final edit. That is a routing strategy, not a quality or latency guarantee. Do not accept arbitrary model names from browsers. Map a business intent to an allow-listed configuration on the server: js type EditIntent = "preview" | "final"; const EDIT POLICY = { preview: { model: "gpt-image-2.6-flare", quality: "low" }, final: { model: "gpt-image-2.6-sunburst", quality: "high" } } as const; Keeping this mapping server-side lets you change models without rewriting clients and prevents users from selecting an unsupported or unexpectedly expensive variant. Suppose a product photo contains a bottle on a countertop. The task is to replace a price card while preserving the bottle and lighting. Store the request as structured data before writing the model prompt: type ChangeContract = { assetId: string; sourceSha256: string; markupSha256: string; change: string ; preserve: string ; forbid: string ; }; const contract: ChangeContract = { assetId: "hero-042", sourceSha256: "