OpenAI Images 2.6 vs 2.5: Same Token Price, Up to 4.2x the Cost per Image
OpenAI charges $30 per million image output tokens on both Images 2.5 and Images 2.6, yet a low-quality 1024x1024 image went from about $0.006 to about $0.025. The explanation is sitting in the JavaScript of OpenAI's own
OpenAI charges $30 per million image output tokens on both Images 2.5 and Images 2.6, yet a low-quality 1024x1024 image went from about $0.006 to about $0.025. The explanation is sitting in the JavaScript of OpenAI's own cost calculator, which takes the token count for gpt-image-2.6 and multiplies it by 4.2 at low quality and 3.3 at medium. You won't see that on the pricing page, because it doesn't list a cost per image.
At 100,000 low-quality images a month, that's roughly $588 on 2.5 and $2,469 on 2.6, before you count prompt tokens. Medium goes from $1,317 to $4,347. High doesn't move. If you're still on gpt-image-1-mini or gpt-image-1.5, OpenAI's recommended replacement is 2.6, and those models go away on December 1.
OpenAI Images 2.6 vs 2.5 pricing: cost per image
These are the calculator's numbers at 1024x1024, output tokens only.
| Quality | 2.5 tokens | 2.5 cost | 2.6 tokens | 2.6 cost | Increase |
|---|---|---|---|---|---|
| Low | 196 | $0.006 | 823 | $0.025 | 4.2x |
| Medium | 439 | $0.013 | 1,449 | $0.043 | 3.3x |
| High | 1,756 | $0.053 | 1,756 | $0.053 | none |
Only the cheap tiers got more expensive, and that wrecks the old reason to drop quality. On 2.5, going from low to high multiplied your cost by about 9. On 2.6 it's about 2.1. And 2.6 low now costs almost twice what 2.5 medium does.
The 4.2x is hard-coded in OpenAI's calculator
People in the Hacker News thread spotted the jump quickly: bsboxe posted the calculator's counts first, and piazz and bnmathm followed with near-identical ones from their own testing. Fello AI published the same table. The ratios looked suspiciously clean to me, so I opened the page's GptImageTokenCalculator bundle. It's minified, but this part is easy to read:
c={low:4.2,medium:3.3,high:1,xhigh:1,max:1}
// ...
return e===`gpt-image-2.6`?Math.round(p*c[r]):p
2.5 and 2.6 share one base table of quality values, so the 2.6 estimate is the 2.5 estimate times that multiplier, at every size. That's why portrait follows the same curve: 1024x1536 goes from 158 to 664 tokens at low and 343 to 1,132 at medium. xhigh and max get a multiplier of 1, same as high.
Here's the formula ported to Python, so you can price your own sizes without clicking:
import math
QUALITY = {"low": 16, "medium": 24, "high": 48, "xhigh": 64, "max": 96}
MULT_2_6 = {"low": 4.2, "medium": 3.3, "high": 1, "xhigh": 1, "max": 1}
def estimate_tokens(version, width, height, quality):
base = QUALITY[quality]
ratio = max(width, height) / min(width, height)
tokens = math.ceil(base * round(base / ratio) * (2e6 + width * height) / 4e6)
if version == "2.6":
return math.floor(tokens * MULT_2_6[quality] + 0.5)
return tokens
print(estimate_tokens("2.5", 1024, 1024, "low")) # 196
print(estimate_tokens("2.6", 1024, 1024, "low")) # 823
A calculator is an estimate, and I haven't billed real images to check it. A flat multiplier can't know anything about your prompt, and complexity isn't one of its inputs. The commenters' own counts sit very close to it: bnmathm has 824 at low and 1,758 at high, and piazz wrote "same in my testing" and called it "super deceptive marketing". pablonaj called it "a hidden price increase". I'd go softer on "hidden", since OpenAI's image guide says outright that "Equal token rates don't mean equal cost per image". But that sentence sits in the GPT Image 2.5 cost section, and anyone comparing rate tables would conclude nothing changed.
Migrating off gpt-image-1-mini or 1.5 by December 1? Price 2.5 first
gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest are scheduled for removal on December 1, 2026, and the suggested replacement for all three is 2.6. The same page lists no shutdown for 2.5. Per 1024x1024 image, with legacy prices from the guide and the rest from the calculator:
| Model | Low | Medium | High |
|---|---|---|---|
gpt-image-1-mini (removed Dec 1) |
$0.005 | $0.011 | $0.036 |
gpt-image-1.5 (removed Dec 1) |
$0.009 | $0.034 | $0.133 |
| Images 2.5 | $0.006 | $0.013 | $0.053 |
| Images 2.6 | $0.025 | $0.043 | $0.053 |
Following the recommendation from mini at low quality is roughly a 5x increase, and at medium roughly 4x. 2.5 stays close to mini's price at both. If you're on gpt-image-1.5 at high quality, either generation is about 60% cheaper than what you pay now, so that move is easy.
Images 2.6 vs 2.5: what the extra money buys
| Images 2.5 | Images 2.6 | |
|---|---|---|
| API model ids |
gpt-image-2.5-flare, gpt-image-2.5-sunburst
|
gpt-image-2.6-flare, gpt-image-2.6-sunburst
|
| Released | Sep 8, 2026 | Nov 4, 2026 |
| Text / image input / image output, per 1M | $5 / $8 / $30 | $5 / $8 / $30 |
| Batch API | Yes, $15 per 1M image output | Not supported |
| Dated snapshot | gpt-image-2.5-flare-2026-09-08 |
None listed, alias only |
| Speed claim | n/a | OpenAI: "50% faster than before", via Fello AI |
| Animated GIF | Not listed |
output_format: "gif", 2 to 16 frames |
| SVG | Not listed |
output_format: "svg", generations only, static |
| Arena text-to-image | Sunburst 1427, Flare 1399 | Sunburst 1409, Flare 1384 |
| Rapidata text-to-image | Sunburst 1221, Flare 1189 | Sunburst 1316, Flare 1293 |
Flare and Sunburst cost the same per token in both generations, and the calculator treats each pair as a single entry, so the choice shouldn't change your estimate. OpenAI pitches Flare at fast iteration and Sunburst at detailed visual work.
Batch is the row I'd worry about most. Assuming Batch token counts match the standard ones, 2.5 low through Batch works out to about $0.003 and medium to about $0.0066. If your workload can wait up to 24 hours, 2.6 costs 8.4x as much at low and 6.6x at medium, and it has no Batch option to soften that.
Is Images 2.6 faster? OpenAI says 50%, one commenter measured 34%
OpenAI's announcement, as quoted by Fello AI, says "50% faster than before". Arena's posts, also via Fello AI, say "almost 2x" faster than 2.5 and, crediting OpenAI, "more than 2x" at medium. Fello AI says neither side has published a test setup.
The one concrete data point in the thread is bnmathm's table: 2.5 medium at 12.0 s, 2.6 medium at 7.9 s. That's about 34% less time from one person's workflow, which makes it an anecdote. Fello AI reports Flare's "as little as six seconds" as a low-quality figure, and bnmathm's 2.6 low took 6.7 s. I'd pay for four seconds if a human is watching a spinner, but a queue running overnight won't notice them.
GIF and SVG output in 2.6: rough, with a billing wrinkle
GIF output exists, but the thread isn't impressed with it. minimaxir said the splotchiness on a simple chess animation "makes this GIF feature a nonstarter", and Computer0 said the GIFs "really accentuate the artifacting". vunderba, who ran the tests, called a windmill result "not terrible" and reported inconsistency. The API reference also says frame_count requires "access to the GIF preview for the selected model". Don't promise this to a customer before your account has tried it.
An SVG costs more than a plain image. The API renders a reference image first, then a separate authoring model writes the vector, and you pay for both. vunderba hit the error SVG generation requires 'svg.model', tried Sunburst with gpt-5.5 and gpt-5.6-sol, and found the results "nothing spectacular". The reference confirms that svg.model picks the model doing the authoring. Output is static, with no scripts or embedded rasters, and n must be 1.
Is Images 2.6 better than 2.5? Arena says no, Rapidata says yes
jjcm tried it for about an hour on their own design platform, wrote "2.5 is better than 2.6", and rolled back from 2.6-flare to 2.5-flare, while saying 2.6-sunburst "seems solid". jjcm also reported text coming out more zoomed in and less detail for UI design. hridyaagrawal said "the yellow wash slop is back". bnmathm noticed round art coming out less round with unchanged prompts. On the other side, Computer0 looked at jjcm's comparisons and "preferred 2.6 in all examples supplied".
The leaderboards are just as split. Arena has 2.5 Sunburst first and 2.6 Sunburst second on text-to-image, and on image edit both 2.5 models lead both 2.6 models. Rapidata reverses it, with both 2.6 models on top and a roughly 95-point gap between the Sunburst versions, well outside its stated ±13 and ±5.
I wouldn't settle anything with Arena yet. Every one of those scores is marked preliminary, 2.6 Sunburst has 2,967 text-to-image votes against 54,913 for 2.5, and the 2.6 rows are labelled Medium while the 2.5 rows state no quality at all. Rapidata's page has its own problem: its header and footer show different update dates. I'd trust a hundred of your own prompts over either one.
Should you switch to Images 2.6? What I'd do this week
Stay on 2.5 if you generate in bulk at low or medium, use Batch, or need a dated snapshot for reproducibility. Move to 2.6 if you already pay for high quality, since the estimated output tokens match and you may get the speed for free, or if you need GIF or SVG. The docs disagree on xhigh and max: the guide's calculator section lists them for 2.6, while the reference names only 2.5. Test before you rely on them.
Whichever you pick, pin the model and set quality explicitly, because the default is auto. Then compare with the usage field OpenAI's guide tells you to read:
from openai import OpenAI
client = OpenAI()
PROMPT = "A red bicycle at sunrise" # use one of your real prompts
OUTPUT_RATE = 30 / 1_000_000 # image output, 2.5 and 2.6
for model in ["gpt-image-2.5-flare-2026-09-08", "gpt-image-2.6-flare"]:
res = client.images.generate(
model=model,
prompt=PROMPT,
size="1024x1024",
quality="low",
)
tokens = res.usage.output_tokens
print(model, tokens, f"${tokens * OUTPUT_RATE:.4f}")
The reference still describes usage as "For gpt-image-1 only", while the guide's GPT Image 2.5 cost section tells you to read it, so check it's populated before you build a dashboard on it.
For Batch on 2.5, each JSONL line looks like this:
{"custom_id": "image-1", "method": "POST", "url": "/v1/images/generations", "body": {"model": "gpt-image-2.5-flare", "prompt": "...", "quality": "low", "size": "1024x1024"}}
I'd also test complexity. It defaults to high on both 2.6 models and has "no separate fee", but the docs don't say whether it changes token counts. Log usage with it set to low. If that pulls 2.6 back toward the 2.5 numbers, you have a way around the 4.2x.
If you've run the same prompts through both, does your usage match the calculator's 4.2x, or does it move with the prompt and complexity? And which model won once you looked at the images?
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.