Skip to content
APIHiver

gpt-image-1 Shutdown: How to Migrate Before 23 Oct 2026

gpt-image-1 shuts down on 23 Oct 2026. See every date, the replacement models, a before-and-after code change, the price differences and a migration checklist.

8 min readBy Mivaan Sanghani
In this post

If your app calls gpt-image-1, the clock is short. OpenAI lists that model for removal from the API on 23 October 2026. After that date, requests that name it should be expected to fail.

The good news is that the fix is small for most apps. This guide gives you every date, the two replacement models, a before-and-after code change, what the price change really means, and a checklist so nothing breaks on the day.

Graphic showing gpt-image-1 shutting down on 23 Oct 2026 and the switch to gpt-image-2.5 flare or sunburst

Every date you need#

These dates come from OpenAI's deprecations page, which we checked on 18 October 2026.

ModelAnnouncedRemoved from the APIOpenAI's recommended replacement
gpt-image-122 Apr 202623 Oct 2026gpt-image-2.5-sunburst or gpt-image-2.5-flare
gpt-image-1.52 Jun 20261 Dec 2026gpt-image-2.5-sunburst or gpt-image-2.5-flare
gpt-image-1-mini2 Jun 20261 Dec 2026gpt-image-2.5-sunburst or gpt-image-2.5-flare
chatgpt-image-latest2 Jun 20261 Dec 2026gpt-image-2.5-sunburst or gpt-image-2.5-flare
dall-e-2 and dall-e-314 Nov 202512 May 2026 (already gone)gpt-image-2, gpt-image-1 or gpt-image-1-mini

Notice the last row. The models that DALL-E users were sent to last spring are now themselves on the removal list. That is a good reason to keep the model name in one setting instead of scattering it through your code. (We wrote more about this in Outdated API Tutorials: How to Spot One Before It Costs You.)

Flare or sunburst: which should you pick?#

OpenAI lists both models as replacements and describes them like this:

  • gpt-image-2.5-flare is "fastest model for high-quality, everyday image generation." Pick it for product images, blog art, thumbnails and anything you generate in volume.
  • gpt-image-2.5-sunburst is "our most capable model for image generation and editing," meant for workflows where editing precision matters most. Pick it when you edit existing images, or when quality matters more than speed.

Both share the same token prices, the same quality settings and the same rate limits, so switching between them later is a one-word change. If you are unsure, start with flare for generation and test sunburst on your edit flows.

Step 1: Find every place you use the old model#

Search your whole project, including config files, scheduled jobs and environment variables. This one command also catches gpt-image-1.5 and gpt-image-1-mini, which is what you want:

git grep -n "gpt-image-1"

Also check places a search can miss: a .env file, a no-code automation, a database row that stores the model name, a dashboard setting or another team's script that calls your service.

Step 2: Change the model name#

Here is the change for the Image API. The calls below follow the example in OpenAI's image generation guide. We have not run them against a live account, so test them with your own key before you ship.

Python

from openai import OpenAI
import base64
 
client = OpenAI()
 
result = client.images.generate(
    model="gpt-image-2.5-flare",  # was "gpt-image-1"
    prompt="A lighthouse at dusk, watercolor style",
)
 
with open("lighthouse.png", "wb") as f:
    f.write(base64.b64decode(result.data[0].b64_json))

JavaScript

import OpenAI from "openai";
import fs from "fs";
 
const client = new OpenAI();
 
const result = await client.images.generate({
  model: "gpt-image-2.5-flare", // was "gpt-image-1"
  prompt: "A lighthouse at dusk, watercolor style",
});
 
fs.writeFileSync("lighthouse.png", Buffer.from(result.data[0].b64_json, "base64"));

The edit endpoint (v1/images/edits) and the Batch API are supported by both 2.5 models too, so the same model swap applies there.

Better still, read the model from one setting so the next migration is a config change:

import os
 
IMAGE_MODEL = os.environ.get("IMAGE_MODEL", "gpt-image-2.5-flare")

Step 3: Check what else changed#

A model swap is easy. These details are where real apps trip up:

Areagpt-image-1gpt-image-2.5 models
Quality valueslow, medium, highlow, medium, high, xhigh, max, auto (default auto)
Sizes1024x1024, 1024x1536, 1536x1024The same three, plus custom WIDTHxHEIGHT
Custom size rulesNot availableMultiples of 16, ratio between 1:3 and 3:1, no edge over 3840 px, 655,360 to 8,294,400 total pixels. Above 2560x1440 is experimental
Transparent backgroundSupportedbackground: "transparent" with png or webp output
Default rate limitsBuild 250,000 TPM / 20 IPMThe same tiers: Build 250,000 TPM / 20 IPM, Launch 3,000,000 / 150, Grow 8,000,000 / 250

Three more things to know:

  • Set longer timeouts. OpenAI's guide says complex prompts can take up to 2 minutes. If your HTTP client gives up after 30 seconds, you will see errors that have nothing to do with the migration.
  • Replace the user parameter. OpenAI says the Images API user parameter is deprecated. Send the same identifier as safety_identifier instead. Old requests with user still work for now.
  • quality: "auto" is now the default. If you never set quality, your output (and cost) may differ from before. Set it explicitly if you care about a fixed cost.

What the price change really means#

The price per million tokens is lower on the 2.5 models. Here are the standard rates from OpenAI's pricing page:

Token typegpt-image-1gpt-image-1.5gpt-image-2.5 (flare and sunburst)
Image input$10.00$8.00$8.00
Cached image input$2.50$2.00$2.00
Image output$40.00$32.00$30.00
Image output, Batch$20.00$16.00$15.00

All prices are per 1M tokens. On paper, image output is 25% cheaper than gpt-image-1, and image input is 20% cheaper.

But that does not tell you your cost per image. For gpt-image-1, OpenAI publishes per-image prices (for example $0.011 for a low-quality 1024x1024 image, and $0.167 for high). For the 2.5 models, OpenAI only lists token prices and points you to a calculator in its guide, and that calculator does not estimate 2.5 token usage. The number of tokens an image uses depends on its size and quality, so the honest approach is:

  1. Generate 20 to 50 of your typical images on the new model.
  2. Compare the spend in your OpenAI usage dashboard with what the same job cost before.
  3. Multiply by your monthly volume before you promise anyone a saving.

If you generate images in bulk and can wait, the Batch API pricing is half the standard output rate for the 2.5 models ($15 against $30 per 1M tokens).

One open question: the Responses API#

If you call image generation through the Responses API tool, check this one carefully. On OpenAI's model page for gpt-image-1, the Responses endpoint is marked as supported. On the pages for both 2.5 models, the endpoint table lists Responses as not supported, while the description says the model can be chosen as the model of the Responses API image generation tool. The pages do not explain the difference.

We could not settle this from the documentation alone, so do not assume either answer. Test your exact Responses-based flow on a 2.5 model today, not on 22 October.

Will the images look the same?#

No model change gives pixel-identical results, and OpenAI does not promise that. Prompts that relied on the quirks of gpt-image-1 may produce a different style, different text rendering or different composition. So before the shutdown:

  • Re-run your 10 most important prompts on the new model and compare them side by side.
  • If you use image editing, test your real edit flows on both flare and sunburst.
  • Keep a few saved "golden" prompts so you can compare future models quickly.
  • Consider pinning a dated snapshot, such as gpt-image-2.5-flare-2026-09-08, if you need the look to stay fixed. The plain model name is an alias, so it can point to a newer snapshot later.

Migration checklist#

  • Ran git grep -n "gpt-image-1" and found every use, including config, jobs and environment variables
  • Chose gpt-image-2.5-flare or gpt-image-2.5-sunburst, not the older gpt-image-1.5
  • Moved the model name into one setting
  • Tested your real prompts and edit flows on the new model
  • Set the quality value explicitly instead of relying on the new auto default
  • Raised HTTP timeouts to allow slow, complex prompts
  • Replaced the deprecated user parameter with safety_identifier
  • Tested the Responses API flow if you use it
  • Measured real cost per image on a sample batch
  • Set an alert for API errors that mention the model name

If you want a plan B#

Putting all your image generation behind one provider means one deprecation notice can break your product. Our guide to the best image generation API for production apps covers fallbacks, rate limits and costs at scale, and Best AI Image Generation APIs (2026) compares the main providers. If you are new to OpenAI's API in general, start with How to Use the OpenAI API.

Try APIs on the APIHiver marketplace

Discover free and paid APIs for travel, finance, AI, weather, maps and more. Test each endpoint in your browser and use one key for all of them.

Share this post

Frequently asked questions

When does gpt-image-1 shut down?
OpenAI's deprecations page lists gpt-image-1 for removal from the API on 23 October 2026. The notice was announced on 22 April 2026. After that date, plan on any request that names gpt-image-1 failing.
What replaces gpt-image-1?
OpenAI's deprecations table recommends gpt-image-2.5-sunburst or gpt-image-2.5-flare. Sunburst is described as the most capable model for generating and editing images, for work where editing precision matters most. Flare is described as the fastest model for high-quality, everyday image generation.
Should I use gpt-image-2 instead of gpt-image-2.5?
OpenAI's table for gpt-image-1 does not list gpt-image-2 as the replacement. It lists the two 2.5 models. Some third-party guides still name gpt-image-2, so follow OpenAI's own table and check the current model reference before you pick.
Is gpt-image-1.5 shutting down too?
Yes. gpt-image-1.5, gpt-image-1-mini and chatgpt-image-latest are all listed for removal on 1 December 2026, with the same two replacements. If you move off gpt-image-1 now, move straight to a 2.5 model so you only migrate once.
Is gpt-image-2.5 cheaper than gpt-image-1?
The price per token is lower. Image output is $30 per 1M tokens against $40 for gpt-image-1, and image input is $8 against $10. OpenAI only publishes token prices for the 2.5 models, not a price per image, so the real cost per image depends on how many tokens your images use. Run a sample batch and compare your own usage.
Do I need to change my code to migrate?
For a basic images.generate call, the main change is the model name. Then review quality values, image sizes, timeouts and the deprecated user parameter, and test your real prompts, because output style can change between models.
What happened to DALL-E 2 and DALL-E 3?
OpenAI removed both on 12 May 2026. The deprecations table pointed those users to gpt-image-2, gpt-image-1 or gpt-image-1-mini. Since gpt-image-1 and gpt-image-1-mini are now on the removal list too, teams that moved from DALL-E last spring may need to migrate a second time.
AI & Machine Learning

Best Image Generation API for Production Apps (2026)

Which image generation API is best for a live app? We compare OpenAI, Google Gemini, FLUX and Stability on cost, limits, uptime risk and model shutdowns.

11 min read