GPT-4o API Shutdown: The Two Deadlines and How to Migrate
openai oct 19, 2026

GPT-4o API Shutdown: The Two Deadlines and How to Migrate

The GPT-4o shutdown comes in two waves: Oct 23, 2026 and Jan 14, 2027. Exact model strings, OpenAI's replacements, gpt-6-luna pricing and a migration plan.

/blog/gpt-4o-api-shutdown-migration

If you have an app, chatbot or automation calling OpenAI’s API, the GPT-4o shutdown date you need depends on which exact model string you send. OpenAI’s GPT-4o deprecation happens in two waves. The original gpt-4o-2024-05-13 snapshot goes away on October 23, 2026, four days from now, along with GPT-4 Turbo, GPT-4.1 nano, o1 and a batch of other older models. The newer GPT-4o snapshots, GPT-4o mini, GPT-4.1 and GPT-4.1 mini follow on January 14, 2027.

After those dates, requests to those models stop working. This guide lists the exact strings for each wave, what OpenAI recommends instead, what the main replacement costs, and a migration checklist sized for a small team. It also covers the fine-tuning problem, which is worse than “just retrain it.”

Note (October 19, 2026): Every model string, date and replacement below comes from OpenAI’s API deprecations page as read today. OpenAI updates that page often. Check it again before you cut over.

The two deadlines at a glance

Timeline of OpenAI shutdown dates: Oct 14 announcement, Oct 23 first wave, Jan 6 fine-tuning job cutoff, Jan 14 second wave

Wave 1: October 23, 2026

OpenAI announced this batch on April 22, 2026. According to the deprecations page, these models shut down on October 23, with these recommended substitutes:

Model snapshot (aliases)Substitute
gpt-4o-2024-05-13gpt-5.6-sol
gpt-4-turbo (gpt-4-turbo-2024-04-09)gpt-5.6-sol
gpt-4-0613 (gpt-4)gpt-5.6-sol
gpt-4-1106-previewgpt-5.6-sol
gpt-3.5-turbo-0125 (gpt-3.5-turbo)gpt-5.6-terra
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-1gpt-image-2.5-sunburst or gpt-image-2.5-flare

Fine-tuned models built on gpt-3.5-turbo, gpt-4, gpt-4.1-nano-2025-04-14, o4-mini-2025-04-16, babbage-002 and davinci-002 also shut down on October 23.

One thing to notice: the October replacements are GPT-5.6 models, not gpt-6-luna. Some coverage lumps both waves together under one replacement. That’s wrong for this batch.

Wave 2: January 14, 2027

OpenAI notified developers on October 14, 2026. This is the batch most people mean by “GPT-4o is shutting down”:

ModelSnapshot(s)Recommended replacement
GPT-4ogpt-4o-2024-08-06, gpt-4o-2024-11-20gpt-6-luna
GPT-4o minigpt-4o-mini-2024-07-18gpt-6-luna
GPT-4.1gpt-4.1-2025-04-14gpt-6-luna
GPT-4.1 minigpt-4.1-mini-2025-04-14gpt-6-luna

OpenAI’s wording on fine-tunes is direct: “Fine-tuned versions of these models follow the same shutdown schedule as their underlying base models.” A GPT-4o mini fine-tune stops on January 14 too.

Table chart mapping retiring OpenAI model strings to their recommended replacements and shutdown dates

That’s a short notice period

OpenAI’s own deprecations page says generally available models get “at least 6 months” of notice, unless safety or compliance concerns require faster action. October 14 to January 14 is three months. OpenAI hasn’t given a reason on the page. Whatever the reason, a small team has one quarter to finish the January migration, and that quarter includes the holidays.

OpenAI does mention one escape hatch: “In some cases, developers may be able to provision dedicated capacity for continued access after a model’s shutdown date,” by contacting sales. Treat that as an enterprise option, not a plan.

Aliases: the trap in your config file

Most small-shop code doesn’t send a dated snapshot. It sends a short name like gpt-4o, gpt-4-turbo or o4-mini. For the October wave, OpenAI’s table lists the aliases explicitly: gpt-4, gpt-4-turbo, gpt-3.5-turbo, gpt-4.1-nano, o1, o1-pro, o3-mini and o4-mini all go with their snapshots.

The January table lists dated snapshots, not the bare gpt-4o, gpt-4o-mini, gpt-4.1 or gpt-4.1-mini aliases. Community members on OpenAI’s developer forum have pointed out how ambiguous alias handling has been across these notices. benchr’s tracker also notes that the October notice for gpt-4o-2024-05-13 “does not announce retirement of the bare gpt-4o alias.” With every snapshot behind those aliases retiring, though, don’t assume the short names will keep working past January 14. Check them programmatically, as described next.

Check shutdown dates in code: the shutdown_date field

This is a documented feature, and it’s genuinely useful. OpenAI’s deprecations page describes it:

“To monitor model shutdowns programmatically, call the List models endpoint (GET /v1/models) and check each model’s optional shutdown_date field. When present, this field contains the shutdown date as a YYYY-MM-DD string, or null if no shutdown date has been announced; the field is also available from the Retrieve a model endpoint.”

A minimal check:

curl -s https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  | jq -r '.data[] | select(.shutdown_date != null) | "\(.id)\t\(.shutdown_date)"'

Or for one model:

curl -s https://api.openai.com/v1/models/gpt-4o \
  -H "Authorization: Bearer $OPENAI_API_KEY" | jq '{id, shutdown_date}'

Note the word “optional.” The field may be missing, and null means no date has been announced, not that the model is safe forever. Run the check on a schedule (a weekly cron job is plenty) and have it alert on any model your code uses that gets a date.

What gpt-6-luna is, and what it costs

OpenAI released GPT-6 Sol and GPT-6 Luna on September 22, 2026, per its changelog. The model page describes Luna as “our most efficient model for focused, high-volume tasks.”

Price. OpenAI’s model page lists Standard pricing per 1 million text tokens:

Price per 1M tokens
Input$0.10
Cached input$0.01
Cache writes$0.125
Output$0.50

There are conditions. Prompts over 272K input tokens are billed at 2x input and cache rates and 1.5x output for the whole request. Batch and Flex cost 50% of Standard, Fast mode costs 2x, and regional processing adds 10% where available. OpenAI’s migration help article says Luna “has a lower per-token price than the GPT-4.x models covered by this migration.” It also tells you to compare total cost on your own workloads, because reasoning settings change how many tokens each task uses.

Specs that matter for migration (all from the model page):

  • 1,050,000-token context window (922,000 max input), 128,000 max output tokens.
  • Text and image input, text output.
  • It’s a reasoning model. reasoning.effort supports none, low, medium (the default), high, xhigh and max.
  • Supported on Chat Completions, Responses and Batch. Not supported on the Assistants endpoint, which shut down on August 26 anyway, or on fine-tuning.
  • Supports structured outputs, function calling, streaming and prompt caching.

Two of those deserve a bold warning.

Function calling on Chat Completions needs reasoning_effort: none. The model page says: “Chat Completions supports function calling only with reasoning_effort set to none.” If your app uses tools through Chat Completions, which is most GPT-4o-era code, you must set that parameter, or move to the Responses API. OpenAI’s help article also recommends starting at none, saying “most GPT-4.x use cases are expected to migrate with this setting.”

gpt-6-luna can’t be fine-tuned. The model page lists the fine-tuning endpoint as “Not supported.” More on that below.

The fine-tuning problem

This is the part of the GPT-4o API deprecation that hurts most.

The usual advice, “budget time to retrain your fine-tunes,” runs into three facts on OpenAI’s own pages:

  1. Fine-tunes die with their base model. Wave 1 fine-tunes go October 23. Wave 2 fine-tunes go January 14.
  2. The named replacement doesn’t support fine-tuning. gpt-6-luna’s model page lists fine-tuning as not supported.
  3. Self-serve fine-tuning is winding down. Per the deprecations page, since May 7, 2026, organizations that never ran fine-tuning can’t start. Since July 2, organizations that haven’t run inference on a fine-tuned model in the past 60 days can’t create jobs. On January 6, 2027, “active existing customers will no longer be able to create new fine-tuning jobs.” That’s eight days before the January shutdown.

So for most small shops, retraining on OpenAI isn’t the real plan. Budget instead for replacing what the fine-tune did:

  • Prompting and examples. Many fine-tunes taught format and tone. A strong system prompt with a handful of examples, plus structured outputs for format, often covers it on a more capable base model. Prompt caching at $0.01 per 1M cached input tokens makes long example-heavy prompts cheap on Luna.
  • Structured outputs instead of a fine-tune that existed only to produce valid JSON.
  • A different provider or open-weight model if the fine-tune really encoded something prompts can’t reproduce.

benchr adds a useful caution: “Do not infer the fate of every fine-tune from the base-model name.” Check the specific fine-tune rows on OpenAI’s table.

The small-shop migration checklist

OpenAI’s migration help article lays out four steps: establish a baseline, evaluate Luna, tune and retest, and roll out gradually. Here’s that process expanded for a small team.

1. Find every model string you use

Search code, environment variables, config files, infrastructure templates and automation tools (Zapier, Make, n8n) for gpt-4, gpt-3.5, gpt-4o, gpt-4.1, o1, o3-mini, o4-mini and gpt-image-1. Also check your usage dashboard to see which models are actually getting traffic. That catches the forgotten cron job.

Sort the results by wave. Anything on the October list is urgent this week.

2. Add the shutdown_date check

Use the script above. Run it against every model string from step 1, including aliases.

3. Build a baseline from real traffic

Pull 50 to 200 real requests, including the ugly edge cases: long inputs, non-English text, malformed user input, and the prompts that caused support tickets. Record the current model’s output, latency and cost for each one. OpenAI’s help article starts with this step too.

4. Test outputs, JSON and tool calls

Run the same requests on the replacement and compare:

  • Content quality. Does it answer the same way, at the same length and in the same tone?
  • JSON output. Validate every response against your schema. If you’re not using structured outputs yet, this is the time, since Luna supports them.
  • Tool calls. Check that the right tool is called with the right arguments. On Chat Completions, set reasoning_effort: none first, or tool calling won’t work at all.
  • Latency. A reasoning model at higher effort settings takes longer. Start at none, then raise it only where quality needs it.

Newer models sometimes make an existing agent worse, because prompts tuned around one model’s quirks don’t carry over. We covered that pattern in why your agent got worse after the model got better.

5. Replace fine-tunes

See the section above. Start now, because this is the longest task on the list.

6. Re-price the workload

For the January wave, Luna’s listed per-token rates are low, but measure tokens per task, not just the rate card. For the October wave, the price picture is different. benchr lists gpt-4o-2024-05-13 at $5 input and $15 output per 1M tokens, against gpt-5.6-sol at $4 and $20 (rates it checked October 14). By its math, Sol comes out cheaper only when input tokens exceed five times output tokens. Output-heavy apps may pay more after the October migration. If that hurts, consider sending simple requests to a cheaper model and saving Sol for hard ones. Our two-tier model router guide walks through that setup.

7. Roll out gradually

Send 5 to 10% of traffic to the new model, watch errors, output quality and cost for a few days, then ramp up. Keep the old model as a fallback, but only until its shutdown date. After that, a fallback to a dead model is just a second failure.

8. Make the next migration cheaper

This won’t be the last one. OpenAI’s deprecations page already lists gpt-5.1, gpt-5.3-codex and gpt-5.4-nano for April 1, 2027, and older GPT-5 and o3 snapshots for December 11, 2026. Keep model names in one config value, keep your test set from step 3, and keep the shutdown_date check running. We argued for budgeting this as a recurring cost in your API bill has an expiration date.

Don’t forget audio, images and the rest

GPT-4o also gave its name to several non-chat models, and they have their own dates on the deprecations page:

  • gpt-image-1: October 23, 2026. The image replacements are gpt-image-2.5-sunburst or gpt-image-2.5-flare.
  • gpt-4o-mini-tts snapshots, tts-1 and tts-1-hd: January 6, 2027.
  • gpt-4o-audio, gpt-4o-realtime and their mini versions: January 20, 2027.
  • gpt-4o-transcribe, gpt-4o-mini-transcribe and whisper-1: February 26, 2027.

If your product talks, listens or draws, put those on the calendar too.

Our take

The October wave is the urgent one, and it’s easy to miss because the January headline gets the attention. If anything in your stack still sends gpt-4-turbo, gpt-4.1-nano, o4-mini or the May 2024 GPT-4o snapshot, you have four days. For January, the migration to gpt-6-luna looks cheaper on paper, but plan for two real gotchas: Chat Completions tool calls need reasoning_effort: none, and fine-tunes don’t carry over at all. Start with an inventory and a test set this week, and the rest is routine.

FAQ

What is the GPT-4o shutdown date?

It depends on the snapshot. gpt-4o-2024-05-13 shuts down October 23, 2026. gpt-4o-2024-08-06 and gpt-4o-2024-11-20 shut down January 14, 2027, per OpenAI’s deprecations page.

When does GPT-4o mini shut down?

gpt-4o-mini-2024-07-18 shuts down January 14, 2027, along with GPT-4.1 and GPT-4.1 mini. OpenAI recommends gpt-6-luna as the replacement.

Is gpt-6-luna the replacement for everything?

No. It’s the named replacement for the January 2027 wave. The October 2026 wave maps to gpt-5.6-sol, gpt-5.6-terra or gpt-5.6-luna depending on the model, and image models move to gpt-image-2.5-sunburst or gpt-image-2.5-flare.

How much does gpt-6-luna cost?

OpenAI’s model page lists $0.10 per 1M input tokens, $0.01 cached input, $0.125 cache writes and $0.50 output at Standard rates, for prompts up to 272K input tokens. Batch and Flex are half price.

What happens to my fine-tuned GPT-4o model?

It shuts down with its base model. gpt-6-luna doesn’t support fine-tuning, and existing customers can’t create new fine-tuning jobs after January 6, 2027. Plan to replace the fine-tune with prompting, structured outputs or another provider.

How can I check shutdown dates in code?

Call GET /v1/models (or retrieve a single model) and read the optional shutdown_date field. It’s a YYYY-MM-DD string when a date is set and null when none has been announced.

Sources

6 refs
  1. OpenAI, “Deprecations” (read October 19, 2026): https://developers.openai.com/api/docs/deprecationsdevelopers.openai.com
  2. OpenAI, “GPT-6 Luna” model page: https://developers.openai.com/api/docs/models/gpt-6-lunadevelopers.openai.com
  3. OpenAI Help Center, “Migrating from GPT-4.x to GPT-6 Luna”: https://help.openai.com/en/articles/20001600-migrating-from-gpt-4x-to-gpt-6-lunahelp.openai.com
  4. OpenAI, API Changelog: https://developers.openai.com/api/docs/changelogdevelopers.openai.com
  5. OpenAI Developer Community, “Deprecation notice: upcoming model shutdowns in 2026” (April 22, 2026): https://community.openai.com/t/deprecation-notice-upcoming-model-shutdowns-in-2026/1379553community.openai.com
  6. benchr, “gpt-4o-2024-05-13 retirement: dates and replacement” (updated October 14, 2026): https://benchr.org/deprecations/gpt-4obenchr.org

← All articles

comments

loading comments…

^ consulting ⌥ building ⌘ shipping
[read next]
ai agents · sep 11
OpenAI Put the Codex Harness Behind One API Call. Here's What That Actually Saves a Two-Person Dev Shop From Building.
ai · oct 14
Gemini 4 Argon Pricing: What It Costs Before Dec 1
ai agents · sep 25
An OpenAI Agent Was Told 'No' by a Government Portal and Went Around It. Your Shop's Website Has the Same Side Doors.
ecommerce · sep 17
ChatGPT Ads Just Showed Up in the Shopify App Store. Read the Attribution Window Before You Spend a Dollar.