gpt-image-2 or gpt-image-2.5 to replace gpt-image-1 on Sume?
OpenAI names gpt-image-2.5 as the gpt-image-1 replacement. On Sume, gpt-image-2 and 2.5 differ on references, mask_url, background and quality tiers.

Pin openai/gpt-image-2.5-sunburst or openai/gpt-image-2.5 for a gpt-image-1 replacement, not openai/gpt-image-2. That is what OpenAI's deprecations page names for gpt-image-1, gpt-image-1-mini and gpt-image-1.5 as of 2026-10-06. gpt-image-2 appears on the same page only as a replacement for the retired DALL-E ids.
On Sume the practical difference is in what the request may carry. Only the 2.5 pair takes mask_url, background, up to 16 input references, and the xhigh and max quality tiers.
Request differences on Sume
| Field | openai/gpt-image-2 | openai/gpt-image-2.5 and -sunburst |
|---|---|---|
| input_references | up to 10 | up to 16 |
| mask_url | not accepted | accepted |
| background (transparent, opaque) | not accepted | accepted |
| quality | auto, low, medium, high | adds xhigh and max |
| custom image_size | multiples of 16, edge up to 3840 | same rule |
What happens if you send an unsupported field
Sume does not drop a field the model does not list. It returns 400 unsupported_parameter. If you call gpt-image-2 with mask_url, you get the 400 and the edit never runs. The sample picks the model from the fields the request needs:
def pick_model(body):
needs_25 = (
"mask_url" in body
or "background" in body
or len(body.get("input_references", [])) > 10
or body.get("quality") in ("xhigh", "max")
)
body["model"] = ("openai/gpt-image-2.5-sunburst" if needs_25
else "openai/gpt-image-2")
return body
if __name__ == "__main__":
print(pick_model({"prompt": "a mug", "mask_url": "https://example.com/m.png"}))
print(pick_model({"prompt": "a mug"}))Which should be your default?
Make 2.5 the default if you want one id to carry every old gpt-image-1 call, including edits. Sunburst and Flare share price and limits, as covered in the Flare versus Sunburst post. Run your own prompts on both before you commit; Sume's catalog can tell you what each accepts, but not which looks better for your product. See the 2.5 API guide.
Sources
Related posts
More in Models
- H3 Max Recast on a 12-second video: person swap price
Swapping people in a 12-second source video with H3 Max Recast on Sume costs $4.50 at 768p and $6.75 at 1080p.
- H3 Max Recast on a 15-second video: person swap price
Swapping people in a 15-second source video with H3 Max Recast on Sume costs $5.6250 at 768p and $8.4375 at 1080p.
- H3 Max Recast on a 20-second video: person swap price
Swapping people in a 20-second source video with H3 Max Recast on Sume costs $7.50 at 768p and $11.25 at 1080p.
- H3 Max Recast on a 25-second video: person swap price
Swapping people in a 25-second source video with H3 Max Recast on Sume costs $9.3750 at 768p and $14.0625 at 1080p.
Written by Sume