What changed #
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects this value on BetaImageOutputFormat reachable from 6 operations.
New values: gif, svg.
can now return "gif", "svg"
Who is affected #
Code that reads OpenAI's BetaImageOutputFormat objects, used by 14 OpenAI operations.
Before and after #
| Where | Before | After |
|---|---|---|
| BetaImageOutputFormat | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
| BetaImageGenTool.output_format | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
| ImageGenToolCall.output_format | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
| BetaImageGenToolCall.output_format | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
| ImageGenTool.output_format | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
| ImageOutputFormat | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
| ImagesResponse.output_format | "jpeg", "png", "webp" | "gif", "jpeg", "png", "svg", "webp" |
Code that breaks #
switch (response) {
// existing branches …
// no branch for "gif"
// no branch for "svg"
default:
throw new Error("unexpected value");
}
Based on OpenAI’s published API specification. How severity is decided.