When you set a quality level on GPT Image 2.5, you are making a request to the model, not flipping a guaranteed switch. The model does its best to honour the value, but the outcome also depends on the prompt, the model you picked, and the subject. Treat the level as one input among several, not as the thing that decides whether the image is good.

There is a second, practical point. The ChatGPT interface has no quality control at all. The help centre describes what the feature can do in relative terms — sharper details, more precise editing, faster generation, transparent backgrounds — but it never names a quality level. The six values exist only as an API parameter.

Quality is a request, not a promise

A quality level is a request the model reads, not a contract it signs. Sending max does not guarantee a measurably better picture than high; it tells the model where to spend its effort. The result still depends on how clear the prompt is and whether the subject renders well. The reverse holds too: a well-specified prompt at medium can beat a vague one at max, because the level buys effort rather than content.

The help-centre wording is careful: ChatGPT Images 2.5 “brings sharper details, more precise editing, and faster image generation,” and “ChatGPT Images can follow instructions to add text, add details within the image, or make the background transparent.” Those are capabilities the model can follow, not per-image promises.

The six values the API accepts

GPT Image 2.5 accepts six values for the quality field, listed below with the default first.

ValueMeaningNotes
autoThe model choosesDefault
lowFastest passDraft composition
mediumBalancedMiddle step
highStrong detailCommon final pass
xhighExtra detailWhen budget allows
maxHighest requestLongest, most demanding

auto is the default and the safe start. The other five are explicit requests per call. None promises a specific pixel count or a quantified gain. Read the table as the vocabulary you can speak, not as a ranking of finished pictures.

A reading note: the API reference lists several model generations side by side, so older values such as standard and hd sit next to the current low through max. One combined list is the union of generations, not the set your model accepts. Never assert a parameter accepts only the values you saw in one place.

Model first, quality second

Pick the model before arguing about levels. Choose gpt-image-2.5-flare or gpt-image-2.5-sunburst first, then set the level. The same label does not mean the same image or the same wait across the two models.

Step 1 — choose the model:
  gpt-image-2.5-flare     (default, faster)
  gpt-image-2.5-sunburst  (extra precision, longer)

Step 2 — choose quality for THIS request:
  auto / low / medium / high / xhigh / max

Rule: use xhigh or max only when the quality need is
still unmet AND the latency budget allows it.

xhigh and max are not abstractly “better”; they are the two rungs for when a lower level left a real need unmet and you can afford the longer generation. The model choice is the bigger lever; the level is a fine adjustment.

What changes as you move up the ladder

Moving up changes three things: how much fine detail the model works, how many output image tokens the call consumes, and how long it takes. The official docs frame the relationship in time, not price. Nothing in that list says a higher level changes what the picture contains; it changes how hard the model works on the picture you already described.

The level is also per-request. Streaming events carry quality with size and a partial_image_index, so it is chosen per call, not once per account. The sizes and ratios guide covers the size field. Because quality is per request, you can draft cheaply at low and pay the longer bill only on the call that becomes the final asset.

Two examples: a draft and a final asset

One leaf drawn four times in a row, each version carrying progressively finer veins and more detail

Example one: a fast draft pass

Use low or medium to lock the idea before spending time on detail. The prompt describes the subject and composition and says plainly this pass is for layout only.

A single coffee plant leaf, photographed front-on, centred in the frame.
Composition only: rough placement, simple lighting, flat background.
Use a low or medium quality pass — this draft is for layout decisions,
not final detail. Square 1:1.

Judge three things: does the silhouette read, is the crop comfortable, and does the subject still work at thumbnail size? Stop here once the layout holds. See the prompting guide for wording.

Example two: the final asset

Once the composition is fixed, move to high and tell the model to keep what you have. The prompt restates the subject and asks for rendering detail only.

A single coffee plant leaf, photographed front-on, centred in the frame.
Keep the composition, change only the rendering detail: finer leaf veins,
realistic surface texture, subtle natural lighting. High quality pass.
Square 1:1.

Check edges and fine texture, any small text, and remember the risk of a worse result lives in reproduction, not in the concept. The image editing workflow shows later turns building on this without degrading it.

The documented trade-off is latency

The release page is specific about time. GPT-Image-2.5 Flare “delivers higher-quality images than GPT-Image-2 at 50% lower latency” and is “the default choice for most applications.” GPT-Image-2.5 Sunburst “offers an extra level of precision for detailed creative work with longer generation times.” The help centre adds that “image generation may take a few minutes, depending on the complexity of your request.”

That is the documented trade-off: higher levels cost time. What it does not publish is a per-level price. The GPT Image family has its own image-token billing, and OpenAI’s cost calculator does not estimate its input or output cost. The level affects output image tokens; the official pricing page is the source for any number. Beyond that, there is no official per-level price table.

Frequently asked questions

Why do older guides mention only three levels?

The API reference lists several generations side by side, so older values like standard and hd sit next to current low through max. One combined list is the union of generations, not your model’s set. Never assert a parameter accepts only the values seen in one place.

Does max always produce a better image?

No. max is the highest request, not a guarantee of a better result. It is the rung for when a lower level left a real quality need unmet and the latency budget allows. For many final assets, high is enough.

Is there a quality setting in the ChatGPT interface?

No. The interface has no quality control; the help centre never names a level. The six values are an API parameter, not a menu.

What quality should I use while a prompt is still being iterated?

Use low or medium while iterating on composition and subject, then move to high or above only on the request that ships. The API overview shows where the field lives.

A habit that saves a regeneration

Lock the composition at low or medium, then bump the level only on a single final request. Because quality is per-request, you can draft ten times cheaply and pay the long bill once. When you move up, carry the composition forward in the prompt — “keep the composition, change only the rendering detail” — so the model does not reinterpret the layout. That one instruction turns a likely regeneration into a finished asset.