What changed #
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects model on BetaImageGenTool reachable from 6 operations.
New value: chatgpt-image-latest.
can now return "chatgpt-image-latest"
Who is affected #
Code that reads OpenAI's BetaImageGenTool objects, used by 14 OpenAI operations.
Before and after #
| Where | Before | After |
|---|---|---|
| BetaImageGenTool.model | "gpt-image-1", "gpt-image-1-mini", "gpt-image-1.5", "gpt-image-2", "gpt-image-2-2026-04-21", "gpt-image-2.5-flare", "gpt-image-2.5-flare-2026-09-08", "gpt-image-2.5-sunburst", "gpt-image-2.5-sunburst-2026-09-08", "gpt-image-2.6-flare", "gpt-image-2.6-sunburst" | "chatgpt-image-latest", "gpt-image-1", "gpt-image-1-mini", "gpt-image-1.5", "gpt-image-2", "gpt-image-2-2026-04-21", "gpt-image-2.5-flare", "gpt-image-2.5-flare-2026-09-08", "gpt-image-2.5-sunburst", "gpt-image-2.5-sunburst-2026-09-08", "gpt-image-2.6-flare", "gpt-image-2.6-sunburst" |
| ImageGenTool.model | "gpt-image-1", "gpt-image-1-mini", "gpt-image-1.5", "gpt-image-2", "gpt-image-2-2026-04-21", "gpt-image-2.5-flare", "gpt-image-2.5-flare-2026-09-08", "gpt-image-2.5-sunburst", "gpt-image-2.5-sunburst-2026-09-08", "gpt-image-2.6-flare", "gpt-image-2.6-sunburst" | "chatgpt-image-latest", "gpt-image-1", "gpt-image-1-mini", "gpt-image-1.5", "gpt-image-2", "gpt-image-2-2026-04-21", "gpt-image-2.5-flare", "gpt-image-2.5-flare-2026-09-08", "gpt-image-2.5-sunburst", "gpt-image-2.5-sunburst-2026-09-08", "gpt-image-2.6-flare", "gpt-image-2.6-sunburst" |
Code that breaks #
switch (response.model) {
// existing branches …
// no branch for "chatgpt-image-latest"
default:
throw new Error("unexpected model");
}
Based on OpenAI’s published API specification. How severity is decided.