# OpenAI API Model Retirements on October 23: What to Migrate

Older GPT, reasoning and image model IDs reach their scheduled shutdown date, but replacing a model name is only part of the migration.

By Paras Madan | 2026-10-23

OpenAI's scheduled API retirement date for several older GPT, reasoning and image models is October 23, 2026. Applications still using the listed IDs need replacement models. This is the deadline for an April announcement, not a newly announced shutdown, and it makes model configuration an immediate operational concern.

## Which OpenAI models are scheduled to retire?

The [official deprecation schedule](https://developers.openai.com/api/docs/deprecations) lists the following examples for October 23. Check the full table for aliases and fine-tuned variants rather than treating this shortlist as exhaustive.

| Retiring model or snapshot | Listed substitute |
| --- | --- |
| gpt-3.5-turbo-0125 | gpt-5.6-terra |
| gpt-4-0613 and gpt-4-turbo | gpt-5.6-sol |
| gpt-4.1-nano | gpt-5.6-luna |
| gpt-4o-2024-05-13 | gpt-5.6-sol |
| o1 and o3-mini | gpt-5.6-sol |
| o4-mini | gpt-5.6-terra |
| gpt-image-1 | gpt-image-2.5-sunburst or gpt-image-2.5-flare |

The schedule gives a date, not a precise cutoff time. It is not evidence that every affected request has already stopped working. Nor does a listed substitute promise automatic migration of an application's configuration or behaviour.

## Find the model IDs outside your main application

Start with the model names actually sent in production requests. A repository search is useful, but it can miss dashboard configuration, environment variables, background workers and a gateway's fallback routes.

The easy mistake is to update the main assistant and leave a low-volume classifier or overnight job behind. These paths may not be exercised during a normal release check. A fallback deserves particular attention: it can look healthy precisely because it has not been called recently.

A practical inventory should connect each model ID to an owner, a workload and a replacement test. That turns a long list of names into a finite set of application changes.

## A model replacement is different from an API migration

**Choose the replacement model and the request format separately.** OpenAI's [Responses migration guide](https://developers.openai.com/api/docs/guides/migrate-to-responses) documents differences that go beyond changing a URL: Responses returns typed output items rather than Chat Completions' choices, and structured output configuration uses text.format rather than response_format.

Tool definitions and returned function calls also have a different shape. If you move endpoints at the same time as models, test the code consuming those responses, not only the text the model generates.

For a production service, separating these changes can make failures easier to diagnose. If the new model produces the wrong answer, that is a different problem from an application reading the wrong response field. Combining both changes without separate tests makes the distinction harder to see.

## Test the behaviour your product depends on

OpenAI's [evaluation guidance](https://developers.openai.com/api/docs/guides/evaluation-best-practices) recommends task-specific tests and continuous evaluation rather than relying on a general impression of quality. For this migration, a small representative set of real workflows is more useful than a few impressive prompts.

For example, a support-routing model should be checked for correct categories, valid structured output and what happens when the input is ambiguous. A longer, more articulate answer is not an improvement if the downstream router cannot parse it.

Also measure the whole request path. A replacement that needs more output tokens or retries can change cost and latency even when its headline capability is better. Avoid treating a successful HTTP response as proof that the migration is complete.

The lasting change is an ownership question. Model IDs should have a lifecycle owner and a tested replacement path, just like other external dependencies. That is what makes the next retirement a planned release instead of a search through forgotten configuration.

I'm Paras. I work at the intersection of AI, engineering and distribution.

I help technical teams turn API changes, engineering decisions and product launches into clear stories developers and founders can use.

[Book a 30-minute call](https://cal.com/paras-madan/30min)
