gpt-image-2.5 default quality: auto on OpenAI, high on Sume

If you omit quality, OpenAI's gpt-image-2.5 defaults to auto while Sume uses high. What that means for cost, how auto reserves max, and when to pin a level.

4 min readSume
All posts

If you leave quality out of a gpt-image-2.5 request, OpenAI's guide says both Sunburst and Flare default to auto, where the model picks a level from the prompt. On Sume the omitted default is high, so the same request body can behave and cost differently between the two.

Where does each default come from?

OpenAI's image generation guide, read on 2026-10-02, lists the quality values low, medium, high, xhigh, max and auto, and states that both Sunburst and Flare default to auto. Sume's Image API lists the same six values for ChatGPT Image 2.5 and says that omitted quality defaults to high.

The six values are identical. The difference is only what happens when you send none.

Why does the difference matter for cost?

Both providers price by image tokens. The Image API docs state Flare and Sunburst use $30 per million output image tokens, $8 per million input image tokens and $5 per million input text tokens, and give two worked output figures at 1024x1024: $0.09366 for xhigh and $0.21072 for max, before input tokens and Sume pricing.

An explicit high has a predictable ceiling. An explicit auto on Sume reserves max against your balance, per the same page, because the model may choose it. So omitting the field on Sume gives high, while sending auto can reserve far more than high would use.

What should I send?

Pin quality in every production call. The table shows the choices.

Quality omitted versus pinned (Sume docs read 2026-10-02)
RequestOpenAI defaultSume behaviour
quality omittedautohigh
quality: autoModel chooses levelReserves max; model chooses level
quality: highHighHigh
quality: lowLowLow, the cheapest level

What does this change when migrating?

If you ported a script from OpenAI's API to Sume and never set quality, two things can shift: the look of a few images, because auto may have picked a lower level for simple prompts, and your spend, because Sume now renders them at high. Neither is a bug. Pin the value you want on both sides and compare outputs.

A practical pattern is to draft at low, review, then rerender the winner at the level you need; the draft-then-final post walks through it.

Two limits to remember. Sume reports usage as billed USD in usage.cost and token counts as 0 in v1, so verify spend from cost, not tokens. And Sume's quality values are catalog-gated, so read supported_parameters before assuming a model accepts a level.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume