GPT Image 2 vs GPT Image 2.5: what changes when you migrate
GPT Image 2 stays selectable on Sume. Moving to 2.5 means a new model id and new limits: six quality values, 16 references, mask_url. Old requests keep working.

To move from GPT Image 2 to 2.5 on Sume, change model from openai/gpt-image-2 to openai/gpt-image-2.5. Nothing forces you: the docs say ChatGPT Image 2 remains selectable, so existing requests keep working. What 2.5 adds is a wider set of options, and a request that sets an option the chosen model does not list is rejected with 400 unsupported_parameter.
The differences below are from Sume's Image API docs and catalog code, read 2026-09-29.
What is different between the two ids?
The two share the same aspect-ratio list. They differ in quality values, reference count and edit options.
| Setting | `openai/gpt-image-2` | `openai/gpt-image-2.5` |
|---|---|---|
quality values | low, medium, high | auto, low, medium, high, xhigh, max |
Max input_references | 10 | 16 |
mask_url | Not listed | Optional, public HTTPS |
background | Not listed | auto, transparent, opaque |
Which requests break when I swap the id?
None of your old fields, because 2.5 lists every quality your GPT Image 2 requests could send. The break goes the other way: send xhigh, max or mask_url to openai/gpt-image-2 and you get 400 unsupported_parameter. That matters if you roll back, or if a config sends new options to both ids.
How do I move safely?
Read what each id accepts from the catalog, then switch one caller at a time. Keep the old id as a fallback in your config. If your code still sends the bare gpt-image-2 id, the docs say legacy bare ids are accepted as aliases for their org/slug equivalents, but prefer the full id in new code. Note that omitted quality defaults to high on 2.5.
curl "https://api.sume.com/v1/images/models" \
-H "Authorization: Bearer $SUME_API_KEY"
curl -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 red bicycle against a blue wall",
"quality": "high"
}'Should I compare the two before switching?
Yes, on your own prompts. Sume's docs do not rank the models, and this post does not either. Run a set of prompts at high on both ids, which is the one quality both share, and judge the pairs before you change production. The blind-test script in GPT Image 2.5 arena: run your own blind test does exactly that.
What should I test after switching?
Replay a saved set of real requests against openai/gpt-image-2.5 and watch for three things: any 400 unsupported_parameter, any change in the shape of the output, and any change in cost. Because omitted quality defaults to high on 2.5, a request that relied on a lower default elsewhere may cost more, so set quality explicitly.
If you use references, note that the ceiling rises from 10 to 16 on 2.5 but your existing payloads still fit. Roll out to a small share of traffic first, keep the old id in configuration, and flip back if a result regresses for your use.
Sources
Related posts
More in Developers
- GPT Image 2.5 4K: how to request a 3840x2160 image by API
To get a 4K image from GPT Image 2.5 on Sume, send image_size 3840x2160 to POST /v1/images and be ready for a 202 job response. Request, cost, and polling.
- GPT Image 2.5 image editing API: edit a photo with a prompt
Edit a photo with GPT Image 2.5 on Sume: send the image in input_references, describe the change, and set aspect_ratio to auto. Up to 16 references per call.
- GPT Image 2.5 request returned 202: how to get the image from the job
When GPT Image 2.5 takes longer than 30 seconds on Sume, POST /v1/images returns 202 with a job. Poll the status URL, then read the result, or use a webhook.
- GPT Image mask edit API: how to use mask_url on GPT Image 2.5
GPT Image 2.5 on Sume takes an optional mask_url for edits. OpenAI says the mask needs an alpha channel and only guides the edit. The request and the limits.
Written by Sume