gpt-image-1 cutover calendar: 18 days to Oct 23, 57 to Dec 1
A dated plan for the gpt-image-1 shutdown on 2026-10-23: inventory, canary, cut over and cleanup, with the Dec 1 ids on the same Sume migration.

There are 18 days between today, 2026-10-05, and the gpt-image-1 shutdown on 2026-10-23, and 57 days to December 1, when three more OpenAI image ids go. A plan that fits is four dated steps: inventory this week, canary on Oct 12, cut over from Oct 19 to 21, and keep Oct 22 as slack. OpenAI's deprecations page (read 2026-10-05) gives both dates and names gpt-image-2.5-sunburst or gpt-image-2.5-flare as the replacement for each id.
The dates are not the same for every id, which is why a single search for gpt-image is not enough. The script at the end of this post prints the days left for each one.
The calendar
Each row is a deadline you control, working back from the shutdown. The Sume steps use the Image API, where the replacements are openai/gpt-image-2.5 (Flare) and openai/gpt-image-2.5-sunburst.
| Date | Days to Oct 23 | Step |
|---|---|---|
| Oct 5 to Oct 11 | 18 to 12 | List every call site, fixture and config value naming an OpenAI image id |
| Oct 12 to Oct 18 | 11 to 5 | Send a small share of live traffic to the 2.5 ids, with quality set explicitly |
| Oct 19 to Oct 21 | 4 to 2 | Move all gpt-image-1 traffic; keep the old path behind a flag you can turn off |
| Oct 22 | 1 | Slack day: fix whatever the canary missed |
| Oct 23 | 0 | gpt-image-1 shuts down; delete the flag and the old id |
| Dec 1 | Dec 1 ids | gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest shut down |
What each step needs on Sume
The steps are short, but each one has a Sume-specific check.
- Inventory: Sume's catalog has no gpt-image-1 row, so any code that sends that id to Sume already needs a new
modelvalue. Search config files and environment variables, not only source. - Canary: set
qualityon every call. Sume defaults tohighwhen it is omitted, andautoreserves themaxprice, so an unpinned canary can cost more than the baseline. - Cutover: calls that take longer than 30 seconds return
202with a job envelope. Make the client handle both200and202before the switch, as described in Jobs and results. - Cleanup: results are Sume-hosted URLs, not base64, so remove any decoder that only the old path used.
Why not wait for the Dec 1 ids
Moving all four ids in one pass costs the same as moving one, because the replacement is identical and the request changes are the same. The only reason to separate them is risk: do the October 23 id first, and the rest become a configuration change. The five weeks between the two dates also give you a window to compare Flare and Sunburst on your own prompts instead of guessing.
Print the countdown
Run this each morning, or add it to CI so the build prints how many days remain. It uses only the standard library and has no dependency on any API.
from datetime import date
TODAY = date(2026, 10, 5)
DEADLINES = {
"gpt-image-1": date(2026, 10, 23),
"gpt-image-1-mini": date(2026, 12, 1),
"gpt-image-1.5": date(2026, 12, 1),
"chatgpt-image-latest": date(2026, 12, 1),
}
for model_id, shutdown in sorted(DEADLINES.items(), key=lambda item: item[1]):
left = (shutdown - TODAY).days
print(f"{model_id:<22} shuts down {shutdown} ({left} days left)")After the cutover
Plan for the failure that does not show up in a canary: a code path that runs once a month. Reports, seasonal campaigns and back-office tools often call an image model only on a schedule, and they are the calls most likely to still name gpt-image-1 on Oct 23. Ask each owner for the date of the next run, and move any path that fires after the shutdown before it does.
Keep one low-quality smoke call to each new id in your deploy checks, and watch usage.cost for a week. If the number is higher than your old average, the usual cause is a missing quality or a size that reserves the upper bound; both are one-field fixes.
Sources
Related posts
More in Developers
- GPT Image 2.5 1536x1024 preset vs custom sizes on Sume
1536x1024 is an OpenAI preset and passes Sume's custom-size rules too: edges multiples of 16, max edge 3840, ratio up to 3:1, 655,360-8,294,400 pixels.
- Porting to Sume images: 400 unsupported_parameter checklist
Porting an image client to Sume: seed, stream, output_compression and size WxH return 400, and background works only on GPT Image 2.5. A fix for each.
- GPT Image 2.5 cost calculator in Python: token grid, checked vs Sume
A short Python function reproduces Sume's GPT Image 2.5 prices from the token grid, $0.0074 at low and $0.2635 at max for 1024x1024. Table to check it.
- GPT Image 2.5 cached input works only on the Responses API
OpenAI's cached-input rates ($1.25-$2.00 per 1M) for GPT Image 2.5 apply only to Responses API images. Sume bills token rates with margin and no cache discount.
Written by Sume