OpenAI Retires o1, GPT-4 Turbo and Other Models on October 23
OpenAI turns off o1, o3 mini, o4 mini, GPT-4 Turbo, GPT-4o 0513 and gpt-image-1 on Friday. Here is the full list, what each substitute costs, and what to check before then.

Table of Contents
On Friday, October 23, OpenAI switches off o1, o1-pro, o3-mini, o4-mini, GPT-4 Turbo, GPT-4o (the May 2024 snapshot), gpt-image-1 and several other models, along with their fine tuned versions. The notice has sat on OpenAI's deprecations page since spring, so this OpenAI model shutdown October 23 lands in three days. If one of those IDs sits in your code, a workflow node or a vendor's config, the fix is more than a find and replace. Below: the list, what each replacement costs, and what I would check first.
The full OpenAI model shutdown October 23 list
OpenAI's page dates the entry April 22, 2026 and calls it "Legacy GPT model snapshots." Its stated policy is at least six months of notice for generally available models, and this batch fits that. The page gives a date but no time of day, so I would treat Thursday night as the real deadline. It also does not say what error a call gets after the cutoff, so do not plan around a friendly fallback.
| Snapshot | Alias or type | OpenAI's named substitute |
|---|---|---|
| gpt-3.5-turbo-0125 | gpt-3.5-turbo | gpt-5.6-terra |
| gpt-4-0613 | gpt-4 | gpt-5.6-sol |
| gpt-4-1106-preview | none listed | gpt-5.6-sol |
| gpt-4-turbo | gpt-4-turbo-2024-04-09 | gpt-5.6-sol |
| gpt-4o-2024-05-13 | none listed | gpt-5.6-sol |
| gpt-4.1-nano | gpt-4.1-nano-2025-04-14 | gpt-5.6-luna |
| o1-2024-12-17 | o1 | gpt-5.6-sol |
| o1-pro-2025-03-19 | o1-pro | gpt-5.6-sol with reasoning.mode: pro |
| o3-mini-2025-01-31 | o3-mini | gpt-5.6-sol |
| o4-mini-2025-04-16 | o4-mini | gpt-5.6-terra |
| gpt-image-1 | none listed | gpt-image-2.5-sunburst or gpt-image-2.5-flare |
| ft-o4-mini-2025-04-16 | fine tuned | gpt-5.6-terra |
| ft-gpt-3.5-turbo, ft-babbage-002, ft-davinci-002 | fine tuned | gpt-5.6-terra |
| ft-gpt-4 | fine tuned | gpt-5.6-sol |
| ft-gpt-4.1-nano-2025-04-14 | fine tuned | gpt-5.6-luna |

One thing to check before you panic: only the dated snapshot gpt-4o-2024-05-13 is on this list. A bare gpt-4o or gpt-4o-mini in your code is not on it, though I did not check which snapshot those aliases point to today.
This is the second batch in three months. The same page shows an earlier set, including gpt-5-codex and the 2025 deep research snapshots, that went dark on July 23. A third wave is already posted: gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest go on December 1, with the same two image substitutes. If you generate images through the API, move once and cover both dates.
Prices of the three substitutes
OpenAI describes the new family by tier. Terra "roughly corresponds to the mini model tier" and Luna to nano, while Sol is the unsuffixed flagship. All three share a 1,050,000 token context window, 128,000 max output tokens and a February 16, 2026 knowledge cutoff. Prices below are standard, short context, per million tokens, from OpenAI's model pages and pricing page.
I priced one monthly workload on each, plus the two newer GPT-6 models that sit on the same pricing page. The workload is 10 million input tokens and 2 million output tokens, no caching, short context. It is arithmetic on listed prices, not a measurement, and it ignores reasoning tokens.
| Model | Input | Cached input | Output | 10M in, 2M out |
|---|---|---|---|---|
| gpt-5.6-sol | $4.00 | $0.40 | $20.00 | $80.00 |
| gpt-5.6-terra | $2.00 | $0.20 | $12.00 | $44.00 |
| gpt-5.6-luna | $0.20 | $0.02 | $1.20 | $4.40 |
| gpt-6.1-sol | $2.00 | $0.10 | $10.00 | $40.00 |
| gpt-6-luna | $0.10 | $0.01 | $0.50 | $2.00 |
The o3-mini and o4-mini mapping is uneven: o3-mini goes to Sol and o4-mini to Terra, a 2x gap on input price for work of similar size. My read: if you ran o3-mini for classification or extraction, test Terra first and move up only if your evals say so. OpenAI's named substitutes are the GPT-5.6 family, but the GPT-6 models on the same page are cheaper per token. Sol's rate is promotional through at least November 21, so budget for it to rise after that date. If you are already rewriting a model ID, test the newer tier in the same pass. I covered how GPT-6.1 Sol changed the cache rate and what the GPT-6 prices do on an agent loop earlier this autumn, and the same math applies here. Prompts over 272,000 input tokens bill at 2x input and 1.5x output for the whole request on the GPT-5.6 pages, which matters if you send very long documents.
Behavior shifts when the model ID does
The old chat models, GPT-4 Turbo, GPT-4o and GPT-3.5, answered directly. The GPT-5.6 family supports reasoning effort from none up to max, and the default is medium. A call that worked on gpt-4o with no reasoning setting will, on Sol or Terra, run at medium unless you say otherwise. Expect different latency and different token counts on identical prompts. Set reasoning.effort explicitly on every migrated call, start at none for the simple jobs, and compare usage on your own traffic before you trust any estimate, mine included.
Other differences are smaller but real. Terra and Luna accept text and image input and produce text only, with no audio. gpt-image-1 users get two successors with different names, and image billing runs on its own table, so price both on the pricing page before you pick. The bare alias gpt-5.6 routes to Sol, which is easy to forget when you grep. And the o1-pro substitute needs a parameter, reasoning.mode: pro, not just a new model string.
Fine tunes need a rebuild
The table lists a recommended base model for each retired fine tuned model. A base model is not your fine tune. Whatever behaviour the training data taught has to come back through prompts, examples or a retrain. OpenAI's own timeline says it is winding down self serve fine tuning: new jobs closed on May 7 to organizations that had not already used it, accounts with no fine tuned inference in 60 days lost job creation on July 2, and active customers lose it on January 6, 2027. So the retrain window is short, if your account can retrain at all. My suggestion is to try a few shot prompt with prompt caching first, because it survives the next deprecation too.
A check you can finish today
OpenAI documents a shutdown_date field on the models endpoint, set as a YYYY-MM-DD string or null. Per the docs, this lists every model your key can see that has a date:
curl -s https://api.openai.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" \
| jq -r '.data[] | select(.shutdown_date != null) | "\(.shutdown_date) \(.id)"' | sort
That tells you what OpenAI will remove, not where you call it. For that, search your repos for the dated snapshot strings and the bare aliases, because o1 and gpt-4-turbo resolve to snapshots on the list. Then check what you do not own: n8n or Zapier nodes with a pinned model, an agent framework default, a vendor dashboard where you picked "GPT-4o" two years ago. If you route models in code, a router layer turns a deadline like this into a one line change.
Who should move first
Anyone on o1, o1-pro or a fine tune moves today, since those need the most testing. Teams on gpt-4.1-nano or GPT-3.5 for cheap, high volume work have the easiest path: Luna, or GPT-6 Luna, at a fraction of the per token price of anything else here. Anyone with a customer facing agent should keep the old ID working only until a regression set passes on the new one. The deadline is fixed, so ship a fallback to a different provider if your fallback was another retiring model. My OpenAI versus Claude comparison covers how I pick when a provider change is on the table.
OpenAI is not alone this week. Google's lifecycle page lists gemini-2.5-pro on its enterprise agent platform with a retirement date of October 20, which is today. If you run Gemini there, my post on Gemini 4 Argon pricing covers the current tier.
Your checklist for Thursday
- Inventory. Run the models endpoint check and grep every repo and automation tool for the IDs in the table, aliases included.
- Pick targets: Terra for mini and o3 class work, Luna for nano work, Sol only where evals demand it.
- Set reasoning effort explicitly on every call you touch, then compare token usage on real prompts.
- Replace fine tunes with prompts or a retrain, and write down which behaviours you lost.
- Deploy by Thursday and watch error rates through Friday, since the page gives no cutoff time.
To price your own volumes, use the agent cost calculator. If you want the audit done for you, here is how I build and maintain AI agents.
Frequently asked questions
When exactly do OpenAI's models shut down?
OpenAI lists October 23, 2026 as the shutdown date for the whole batch, a Friday. Its deprecations page gives a date and no time of day, so plan to finish by Thursday. The page also does not describe the error returned after the cutoff, which is a good reason to test your failure handling now.
Which model replaces GPT-4o on October 23?
For gpt-4o-2024-05-13, OpenAI names gpt-5.6-sol. GPT-4 and GPT-4 Turbo map there too. Sol costs $4 per million input tokens and $20 per million output through at least November 21, so run an eval on Terra before accepting the default.
What happens to my fine tuned models?
The fine tuned versions of gpt-3.5-turbo, gpt-4, gpt-4.1-nano, o4-mini, babbage-002 and davinci-002 are removed on the same date. OpenAI lists a recommended base model for each, but that is a plain base model, not a copy of your tuning. You need to recreate the behaviour with prompts or a new training run.
How do I find which models my account still uses?
Call the list models endpoint and filter for a non null shutdown_date, as OpenAI documents. Then search your code, automation tools and vendor settings for the model IDs. The endpoint shows what exists, not what you call, so the search matters more than the query.
Are the GPT-6 models a valid substitute?
OpenAI's page names the GPT-5.6 family, not GPT-6. The GPT-6.1 Sol and GPT-6 Luna prices on the pricing page are lower per token, so they are worth testing in the same migration. Treat that as your own evaluation, because OpenAI has not mapped the retired models to them.
Published
October 20, 2026
Category
Implementation
Jahanzaib Ahmed
AI Systems Engineer & Founder
AI Systems Engineer with 126 production systems shipped. I run AgenticMode AI (AI agents, RAG systems, voice AI) and ECOM PANDA (ecommerce agency). I build AI that works in the real world for businesses across home services, healthcare, ecommerce, SaaS, and real estate.
Want this built for your business? See Workflow Automation, or browse the free tools and guides.
Related articles

GPT-6.1 Sol Halves the Cache Rate and Leaves Every Other Price Alone
OpenAI's GPT-6.1 Sol keeps GPT-6 Sol's $2 input and $10 output prices and cuts only cached input. Here is what that saves on real agent loops, and why Chat Completions users cannot just swap the model name.
NewsImplementationOpenAI
The Medicare Portal Told OpenAI's Agent No. The Agent Treated It as a Retry.
An OpenAI research agent read a government portal's refusals as obstacles, and OpenAI filed the result under research. Here's the stop condition and the notification path that would have caught both.
NewsAI AgentsAI Agents
GPT-6 Sol Costs Half of Opus 5.5 Per Token. On an Agent Loop, It Doesn't.
OpenAI halved API prices for GPT-6 Sol and Luna ninety minutes after Anthropic shipped Opus 5.5. I priced a real agent loop on both, and checked whose benchmark table was already stale.
NewsTrends & InsightsLLM Pricing