Skip to main content
TokenCost logoTokenCost
Model ReleaseSeptember 9, 2026·12 min read

OpenAI shipped a new image model on the old model's rate card and moved every quality setting down one rung. Leave your code on quality: high through the swap and the same picture costs a quarter of what it did, which nobody will tell you because no price changed.

GPT Image 2.5 landed on September 8 with five price lines identical to GPT Image 2 and two quality settings that did not exist before. The rate card is not where the money is. A 1024×1024 image at high went from 7,024 output tokens to 1,756 overnight, and the new top setting, max, costs exactly what high used to.

A darkroom under red safelight with a row of developing trays, an enlarger, and a clock on the wall

Photo by Francisco Gonzalez on Unsplash

Rate card

Unchanged

All five lines match GPT Image 2 to the cent, on both snapshots.

Same call, quality: high

−75%

$0.2107 to $0.0527 per 1024×1024 image, on no price change.

Dearest image you can buy

$0.2107

Identical on both models. The ceiling did not move.

Nothing on the rate card moved

Start with the boring half, because it is the half everyone got wrong. OpenAI released two snapshots on September 8, gpt-image-2.5-flare and gpt-image-2.5-sunburst, and both carry the same rate card as GPT Image 2. Not close to it. The same.

Per 1M tokensGPT Image 2GPT Image 2.5
Text input$5.00$5.00
Cached text input$1.25$1.25
Image input$8.00$8.00
Cached image input$2.00$2.00
Image output$30.00$30.00

OpenAI's changelog says it in one clause: both models "support the new xhigh and max quality settings and use GPT Image 2 token rates". The model pages say it again, and then add the sentence that matters more than the table: "Token rates match GPT Image 2. The GPT Image 2 calculator does not estimate GPT Image 2.5 token consumption."

One asymmetry worth pricing before you migrate. GPT Image 2 has a published batch card at half rate, $4.00 image input and $15.00 image output. Neither 2.5 snapshot appears in the batch pane at all. Both list the batch endpoint on their model pages, so it may well work, but no batch rate for GPT Image 2.5 is published anywhere we can find. If half your image spend runs through batch today, that is an unanswered question and not a rounding error.

The ladder moved down a rung

Image generation bills by the token, so the price of a picture is the rate card multiplied by however many output tokens the model decides to spend. That second number is what moved. Here it is at 1024×1024, the size most people generate.

QualityGPT Image 2 tokensGPT Image 2.5 tokens2.5 cost per image
low196196$0.0059
medium1,756439$0.0132
high7,0241,756$0.0527
xhighnot supported3,122$0.0937
maxnot supported7,024$0.2107

Read down the two token columns and the pattern is exact rather than approximate. GPT Image 2.5 high spends 1,756 tokens, which is what GPT Image 2 medium spent. GPT Image 2.5 max spends 7,024, which is what GPT Image 2 high spent. Same integers, not similar ones. The two genuinely new rungs are 2.5's medium at 439 tokens and xhigh at 3,122, and low is untouched at 196 on both.

So the headline everyone reached for, that new premium quality tiers mean a dearer model, is backwards. The most expensive image GPT Image 2.5 will sell you is $0.2107, and the most expensive image GPT Image 2 would sell you was $0.2107. Both models default to quality: auto. Nothing about the ceiling or the default moved. What moved is which word you have to type to reach a given rung.

Two teams change one string and get opposite bills

This is the practical shape of it. A team that swaps gpt-image-2 for gpt-image-2.5-flare and changes nothing else drops to a quarter of its old cost per image, silently, because their hardcoded quality: high now buys the rung that used to be called medium. Their invoice falls and no announcement explains why.

A team that swaps the model and also reaches for the new top setting, on the reasonable assumption that max is what high used to be, lands on 7,024 tokens and pays exactly what they paid before. Not more. The same. Both teams are told the rate card did not change, and both are told the truth.

2.5 qualityPer 1,000 imagesAgainst GPT Image 2
low$5.88unchanged
medium$13.1775% under GPT Image 2 medium
high$52.6875% under GPT Image 2 high
xhigh$93.66no predecessor
max$210.72exactly GPT Image 2 high

One more line that will surprise people generating previews. If you stream partial images back, each partial costs an extra 100 image output tokens. At low quality that is more than half the price of the finished image again, per partial. Streaming three previews of a 196-token image turns a $0.0059 call into roughly $0.0148.

Where those token counts come from, since OpenAI prints no table

We should be straight about this, because it is the weakest joint in the post and also the reason the post exists. OpenAI publishes a static tokens-per-image table for exactly one generation of models, the one headed "Models prior to gpt-image-2": 272 tokens at low, 1,056 at medium and 4,160 at high for a 1024×1024 image. For GPT Image 2 and GPT Image 2.5 there is no such table. There is an interactive calculator, and for GPT Image 2 alone a rounded dollar table.

The calculator is a script served from OpenAI's own docs, and it carries its constants in the clear: sixteen, forty-eight and ninety-six for GPT Image 2's three settings, and sixteen, twenty-four, forty-eight, sixty-four and ninety-six for GPT Image 2.5's five. Tokens come out as the square of that constant, scaled by the aspect ratio and by the pixel count, rounded up. Every figure in this post is that arithmetic.

We checked it the only way available: run the reconstruction against GPT Image 2, whose per-image dollars OpenAI does publish, and see whether it lands. It reproduces all three published square figures exactly, $0.006, $0.053 and $0.211, and the portrait and landscape figures too. That is a good check but not a perfect one, because the published table is rounded to three decimals and the cheapest non-square cells are loose enough that two different reconstructions both survive it. So we have printed the 1024×1024 column, where the arithmetic is pinned exactly, and left the portrait and landscape token counts out rather than publish digits we cannot fully defend. The direction there is worth knowing even without the digits: a 1024×1536 image costs less than a square one at every setting, which OpenAI notes and which surprises most people.

One thing we will not claim, having chased it down. That sentence about the calculator not estimating GPT Image 2.5 is accurate and narrow, not an admission that OpenAI has no estimator. It points at the old per-image table, which genuinely does not apply. A newer calculator that does cover 2.5 sits higher up the same page. If you have read that OpenAI disclaimed its own cost tooling, that is a misreading, and we nearly published it ourselves.

Sunburst and Flare cost different amounts and there is no way to find out how much

On every number OpenAI publishes, the two snapshots are the same model. Five identical price lines. Identical rate limits at all five tiers, down to 100,000 tokens a minute at tier one and 250 images a minute at tier five. Byte-identical endpoint support blocks. The only published difference is a pair of badges: Sunburst is marked highest performance at medium speed, Flare higher performance and very fast.

Then the image generation guide says this: "The models can use different token counts for the same quality setting and share the same price per image output token." Read that as a buyer. It means the two models can charge you different amounts for the same instruction at the same quality, and the rate card cannot show it, because the rate card is per token and the difference is in the token count.

The calculator then offers one option labelled for Sunburst and Flare together, on one shared token table. So OpenAI has stated that the two models differ in cost per image and shipped an estimator that cannot express the difference. Everything in our tables above therefore applies to the pair, not to either model individually, and if you are choosing between them on price there is currently nothing published to choose on. That gap is the real reporting story here, and it is a narrower one than the price rise the internet spent yesterday describing.

The doubling that was a browser tab

One outlet ran the launch as a price rise, headlining 2x API pricing and describing a clear speed-versus-cost trade-off, then extending it to a scenario where spend could climb toward 4x. Their table shows GPT Image 2 at $4.00 image input, $1.00 cached image input, $15.00 image output, $2.50 text input and $0.625 cached text.

Those five numbers are real. They are OpenAI's batch rates for GPT Image 2, which are half the standard card. The comparison put GPT Image 2 on batch against GPT Image 2.5 on standard, and half against full is where the factor of two came from. Standard against standard, the two cards match line for line, which is what the table at the top of this post shows.

We are not inclined to be smug about it, because OpenAI'spricing page sets that trap deliberately well. The Standard pane opens showing only the two GPT Image 2.5 models, with gpt-image-2 and the older models hidden behind an expander. The Batch pane opens showing only gpt-image-2. Click from one tab to the other without expanding either list and the page hands you exactly that comparison, two models on one tab and one model on the next, with nothing on screen to say you have also changed billing mode. Every other outlet we checked read it as a price cut in all but name, which is closer to right.

Metered by the token, or sold by the picture

Put GPT Image 2.5 next to the rest of the market at roughly 1024×1024 and the interesting split is not the prices, which overlap heavily. It is the billing unit.

ModelPer imageBilledPredictability
xAI Grok Imagine Image$0.020Per imageFlat
Google Gemini 3.1 Flash Lite Image$0.034Per tokenFixed per resolution
Microsoft MAI-Image-2$0.034Per tokenFixed, 1,024 tokens
Black Forest Labs FLUX1.1 [pro]$0.040Per imageFlat
GPT Image 2.5 high$0.053Per tokenVaries by quality setting
Stability SD 3.5 Large$0.065Per imageFlat
Google Gemini 3.1 Flash Image$0.067Per tokenFixed per resolution
Stability Stable Image Ultra$0.080Per imageFlat
GPT Image 2.5 xhigh$0.094Per tokenVaries by quality setting
Google Gemini 3 Pro Image$0.134Per tokenFixed per resolution
Recraft V4.1 Pro raster$0.210Per imageFlat
GPT Image 2.5 max$0.211Per tokenVaries by quality setting

Only Google and OpenAI meter image generation by the token at all. Stability, Recraft, Ideogram and Black Forest Labs sell you a picture for a price, and xAI does too. But Google pins a fixed token count to each output resolution and publishes it, so once you have chosen 1K or 2K the bill is as predictable as a flat fee. That leaves OpenAI as the only vendor here whose cost per image swings by a factor of 36 on a quality string, with the token counts behind that swing published in no table.

On price alone GPT Image 2.5 lands well. At high it undercuts Gemini 3.1 Flash Image at 1K, $0.0527 against $0.067, having previously cost three times it. At xhigh it is dearer. At max it sits beside Recraft's premium raster tier. Worth noting on the quality side: neither 2.5 snapshot has been scored by Artificial Analysis yet, whose image leaderboardstill has GPT Image 2 at high in first place on nearly 15,000 comparisons. The claims that Sunburst and Flare beat it come from OpenAI and from arena results we could not open directly, so treat them as vendor claims until an independent board catches up.

Four models retiring into a model you are told not to start on

If you are still on an older image endpoint, the calendar matters more than the rate card, and it is not one date.

ModelShuts downNamed replacement
gpt-image-1October 23, 2026gpt-image-2
gpt-image-1-miniDecember 1, 2026gpt-image-2
gpt-image-1.5December 1, 2026gpt-image-2
chatgpt-image-latestDecember 1, 2026gpt-image-2

The three announced together on June 2 go on December 1. gpt-image-1 is not among them: it was swept up in an earlier batch of legacy snapshots and switches off on October 23, about six weeks ahead of the others. Every roundup we read lumps all four onto the December date. If you are on gpt-image-1 specifically, you have less runway than you have been told.

All four point at gpt-image-2, and the same documentation tells new integrations to use a GPT Image 2.5 model instead. So the published migration path routes you onto a model the vendor is already steering new work away from. Migrate to 2.5 directly and skip the intermediate hop, but do it knowing that the quality strings do not mean what they meant, which is the whole subject of this post.

What we fixed on our own site while writing this

Our pricing table carried no OpenAI image model at all before today. It listed two Gemini image models and Microsoft's MAI-Image-2 and stopped there, which meant the largest image API on the market was missing from a site whose job is comparing prices. GPT Image 2.5 and GPT Image 2 are both on the pricing page now, with the per-image figures from this post in their notes.

Worth saying why it was missing, because it is the same problem the rest of this post describes. The shared price file most tools build on, LiteLLM's, has no GPT Image 2.5 row yet and carries image models with a per-token shape that assumes you already know the token count per image. Nothing about that file was wrong. It simply cannot answer the question a buyer asks, which is what one picture costs, and neither can a rate card that stayed still while the tokens underneath it fell to a quarter.

Pin the quality string, not the model name

The lesson generalises past this launch. A rate card is half a price. The other half is how many tokens the vendor decides your request is worth, and that half can be rewritten without an announcement, a changelog line or a cent of movement on any published number. Here it moved 75% in your favour if you did nothing, and 0% if you upgraded the setting to match the new top of the range.

Two things to do this week. Check what quality string your image code actually sends, because on GPT Image 2.5 that string is now worth more than the model choice. And if you were about to move spend on the strength of a 2x price rise, do not: it was a batch column read against a standard one. Every figure here is reproducible from OpenAI's pricing page, its image generation guide, its September 8 changelog and its deprecation table, and the arithmetic behind the token counts is in the calculator on its own docs.