GPT Image 2.5 Flare on Sume: the id is openai/gpt-image-2.5, no suffix

Flare is openai/gpt-image-2.5 on Sume's Image API and Sunburst is openai/gpt-image-2.5-sunburst. An id ending in -flare returns 404 model_not_found.

4 min readSume
All posts

On Sume, GPT Image 2.5 Flare is openai/gpt-image-2.5 and GPT Image 2.5 Sunburst is openai/gpt-image-2.5-sunburst. There is no -flare suffix: an id such as openai/gpt-image-2.5-flare is not a catalog id, and an unknown model returns 404 model_not_found.

OpenAI's pricing page names the models gpt-image-2.5-flare and gpt-image-2.5-sunburst, which is where the habit of adding the suffix comes from.

Ids side by side

Model ids for the OpenAI image models (read 2026-10-06)
ModelOpenAI's API idSume public id
GPT Image 2.5 Flaregpt-image-2.5-flareopenai/gpt-image-2.5
GPT Image 2.5 Sunburstgpt-image-2.5-sunburstopenai/gpt-image-2.5-sunburst
GPT Image 2gpt-image-2openai/gpt-image-2

Prices and limits

OpenAI lists the same token rates for all three: $30.00 per 1M image output tokens, $8.00 image input and $5.00 text input (OpenAI pricing, read 2026-10-06). Sume's docs say Flare and Sunburst share the same rates, up to 16 references, an optional mask_url and background, so the id is the only thing that changes.

A defensive pattern

Do not hard-code ids from a vendor page. Call GET /v1/images/models at startup and check that your configured id is in the list; a missing id then fails in your deploy, not at the first customer request. The Flare and Sunburst post covers what else is shared between the two.

Check it on your own account

Do not budget from a blog table alone. GET /v1/images/models lists every model with its descriptors, and GET /v1/images/models/{id}/endpoints shows the pricing line for one model. Then run one small request and read usage.cost on the response, which is the billed amount in USD; the token counts in usage are reported as 0 on this route.

Run the test at the quality and size you plan to ship, because both move the price. A single test at low quality costs under a cent for most sizes here, so it is a cheap way to confirm your assumptions before a batch.

Sync, async and failures

The /v1/images route waits up to 30 seconds for the image. If the job finishes in that window you get the result directly; otherwise you get a 202 and an async job to poll. Write your client to branch on the status code, since larger sizes and higher quality are the likely cases for a 202.

Requests are strict. A parameter the chosen model does not list returns 400 unsupported_parameter, stream returns a 400, and provider.only or provider.order accept only sume. Treat a 400 as a bug in the request, not a transient error, and do not retry it unchanged.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume