GPT Image 2.5 xhigh vs max: what the extra tier costs per image

At 1024x1024, max output costs about 2.25 times xhigh before Sume pricing. The per-image and per-100-image numbers, and a small test to decide if max earns it.

4 min readSume
All posts

At 1024×1024, one max image costs about 2.25 times one xhigh image. Sume's docs give the output-only prices before Sume pricing as $0.09366 for xhigh and $0.21072 for max. On Sume the same request estimates at $0.12 for xhigh and $0.27 for max, each rounded up to a whole cent.

Figures come from Sume's Image API docs and pricing code, read 2026-09-29. Both ids, openai/gpt-image-2.5 and openai/gpt-image-2.5-sunburst, use the same rates.

What is the gap in dollars?

The docs price output at $30 per million image tokens, so the two prices imply roughly 3,100 output tokens for xhigh and 7,000 for max at this size. The gap grows linearly with volume.

One 1024x1024 image and a batch of 100, Sume estimates from pricing code, read 2026-09-29. Output tokens only.
QualityOne image100 images
xhigh$0.12$12.00
max$0.27$27.00
Extra for max$0.15$15.00

Does the price change with size?

Yes. The output token count follows OpenAI's size and quality calculator, so the numbers above hold for 1024×1024 only. For other sizes use the table in GPT Image 2.5 API price, and read the live pricing line from GET /v1/images/models.

How do I test whether max is worth it?

Run your own prompts at both tiers with everything else fixed, then compare the pairs without labels. If you cannot tell them apart on the images you actually ship, the extra amount buys nothing. If max visibly fixes text or fine detail, use it only for the final pass.

for q in xhigh max; do
  curl -s -X POST https://api.sume.com/v1/images \
    -H "Authorization: Bearer $SUME_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"model\":\"openai/gpt-image-2.5\",\"prompt\":\"A watch on a marble table, macro shot\",\"image_size\":\"1024x1024\",\"quality\":\"$q\"}" \
    | jq '{q: "'$q'", url: .data[0].url, cost: .usage.cost}'
done

What else changes besides cost?

Time. Sume's docs list high quality among the settings most likely to outlast the 30-second blocking wait and return a 202 job. Omitting quality runs high, so xhigh and max are both a deliberate step up. Each response's usage.cost shows what you were billed.

When does the gap start to matter?

The extra cost per image is small in one call and large in a pipeline. At the estimates above, moving a thousand 1024×1024 images from xhigh to max adds about $150.00 before input tokens. Use max where a single image carries real value, such as a hero or a print file, and xhigh for drafts and volume work.

Cost is one column of the decision. Time and the chance of a 202 are the others, so keep them in your test notes with the price. Write down the prompt, the size, the tier, the billed amount and the time for each run, and keep the images from both tiers side by side. When the same notes show that max changed nothing you could see, the cheaper tier is the answer for that kind of image, and you can stop paying for the difference. When they show a visible gain, you have the evidence to justify it to whoever approves the spend.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume