← All posts
News

OpenAI removes GPT-4o and GPT-4.1 from the API on 14 January 2027: moving to GPT-6 Luna

OpenAI will shut down five GPT-4o and GPT-4.1 snapshots, and their fine-tunes, on 14 Jan 2027. What changes when you move to gpt-6-luna.

5 min read7 sources

OpenAI has put a date on the end of GPT-4o and GPT-4.1 in its API. On 14 October 2026 it notified developers that five snapshots will be removed from the API on 14 January 2027, and it names one replacement for all of them: gpt-6-luna. That gives teams exactly three months, and the holiday season sits in the middle of it.

If you still have a support bot, a classifier or an extraction job pinned to one of these models, this is the migration to schedule now. Below: what is going away, what Luna changes in your code, and the one case where there is no direct replacement at all.

What is being removed

The deprecations page lists these snapshots, all with the same shutdown date and the same recommended replacement:

Snapshot being removed Shutdown Recommended replacement
gpt-4o-2024-08-06, gpt-4o-2024-11-20 14 Jan 2027 gpt-6-luna
gpt-4o-mini-2024-07-18 14 Jan 2027 gpt-6-luna
gpt-4.1-2025-04-14 14 Jan 2027 gpt-6-luna
gpt-4.1-mini-2025-04-14 14 Jan 2027 gpt-6-luna

Two details matter. First, OpenAI says fine-tuned versions of these models follow the same shutdown schedule as their base models. Second, the notice lists dated snapshots. If your code calls a bare alias such as gpt-4o, check which snapshot it resolves to in your usage logs rather than assuming you are unaffected. gpt-4.1-nano is not in this notice.

This is separate from ChatGPT. GPT-4o and GPT-4.1 already left ChatGPT earlier this year; at the time OpenAI’s help centre said those retirements did not affect the API and that API users would get advance notice. This is that notice.

It also isn’t the only open deadline. The same page lists gpt-5.1, gpt-5.3-codex and gpt-5.4-nano shutting down on 1 April 2027, and the tts-1 and tts-1-hd text-to-speech models on 6 January 2027. If you are touching model IDs anyway, do them in one pass.

What GPT-6 Luna is

OpenAI’s model page for gpt-6-luna describes it as its most efficient model for focused, high-volume tasks. The specs that matter for a migration:

GPT-6 Luna
Context window 1,050,000 tokens
Max output 128,000 tokens
Knowledge cutoff 18 May 2026
Input / output Text and image in, text out
Price per 1M tokens (standard) $0.10 input, $0.01 cached input, $0.50 output
Batch and Flex 50% of standard
Prompts over 272K input tokens 2x input, 1.5x output for the whole request
Regional processing 10% premium where available

Prices are from the model page and the API pricing page. OpenAI’s GPT-6 building guide positions Luna for repeated tasks with a clear goal, such as extracting invoice fields, classifying requests or writing structured summaries. That is roughly the workload many teams put on GPT-4o mini and GPT-4.1 mini.

To size the bill, take a job that sends 1 million requests a month with about 2,000 input tokens and 300 output tokens each. At Luna’s standard rates that is 2 billion input tokens ($200) plus 300 million output tokens ($150), so about $350 a month before caching, or about $175 through Batch. Compare that with your current invoice line, not with list prices you remember: your discounts, cache hit rate and regional processing all change the answer.

The code changes that bite

Luna is a reasoning model, and that is the biggest behavioural change for anyone coming from GPT-4o or GPT-4.1. According to the model page, it supports reasoning effort levels none, low, medium, high, xhigh and max, and the default is medium.

That default has three consequences you should plan for:

  1. Sampling parameters. OpenAI’s Using GPT-6 guide says that when reasoning effort is not none, you must remove temperature, top_p and top_logprobs, and on Chat Completions also logprobs. Old code that sets temperature: 0 for repeatable classification will need either reasoning_effort: "none" or a cleanup.
  2. Tools on Chat Completions. The same guide says GPT-6 Sol and Luna support function calling on Chat Completions only with reasoning_effort: "none"; for reasoning with tools, it says to use the Responses API. If your agent runs on Chat Completions with tools, either set effort to none or plan a move to Responses.
  3. Latency and cost. A model that thinks before answering takes longer and produces more tokens than one that doesn’t. For a like-for-like swap of a GPT-4o-mini classifier, start with none, measure accuracy on your own test set, and raise effort only where it pays for itself.

Prompt caching also changed shape. The guide says that when moving from GPT-5.5 or earlier, you should replace prompt_cache_retention with prompt_cache_options.ttl. Keep your system prompt and tool definitions stable and at the front of the request so cache hits stay high; at $0.01 per million cached input tokens, that is where most of the savings are.

The good news: Luna is listed on Chat Completions, Responses, Batch and Assistants, and supports structured outputs and streaming. Most migrations are a model ID change plus the parameter cleanup above.

The hard case: fine-tuned models

This is the part to escalate. Fine-tuned GPT-4o and GPT-4.1 models stop working on 14 January along with their base models. Luna’s model page lists fine-tuning as not supported. And OpenAI’s supervised fine-tuning guide says the company is winding down its fine-tuning platform, which is no longer open to new users; it lists only the three GPT-4.1 snapshots as supported for supervised fine-tuning.

So there is no “retrain on the new base” path. If a fine-tune carries real business logic (a house tone, a domain-specific label set, a strict output format), the realistic options are:

  • Move the knowledge into the prompt. With a 1M-token window and cheap cached input, a long, stable system prompt with many worked examples is often enough to match a small fine-tune on classification or formatting tasks. Use your fine-tune’s training set as the example pool.
  • Use structured outputs to enforce the format the fine-tune used to learn.
  • Look at other providers’ tuning options if the fine-tune is truly irreplaceable, but treat that as a bigger project than three months usually allows.

Whichever you pick, build the evaluation set first. Your fine-tune’s held-out data is the best test you have.

A three-month plan

  • This week: search your codebase and logs for every model ID in the table, including fine-tune IDs (they start with ft:). Note which use tools, temperature or logprobs.
  • By mid-November: run each workload on gpt-6-luna with reasoning_effort: "none" against a fixed test set. Record accuracy, latency and cost per successful task, which is the metric OpenAI’s own building guide recommends.
  • By mid-December: ship, with the old model as a fallback behind a flag. Don’t plan the cut-over for the last week of December, when many teams in India and elsewhere are short-staffed.
  • 14 January 2027: remove the fallback before OpenAI removes it for you.

The model swap itself is small. The risk is a fine-tune nobody remembers owning, or a temperature: 0 call that starts failing on the day after the deadline. Find those now.

References

  1. Deprecations — OpenAI, accessed 2026-10-15
  2. GPT-6 Luna model page — OpenAI, accessed 2026-10-15
  3. API pricing — OpenAI, accessed 2026-10-15
  4. Using GPT-6 — OpenAI, accessed 2026-10-15
  5. Supervised fine-tuning — OpenAI, accessed 2026-10-15
  6. A practical guide to building with GPT-6 — OpenAI, accessed 2026-10-15
  7. Retiring GPT-4o and other ChatGPT models — OpenAI Help Center, accessed 2026-10-15

This week in AI, every Sunday

One email with the releases that mattered and what they mean in practice. No spam.

OpenAI removes GPT-4o and GPT-4.1 from the API on 14 January 2027: moving to GPT-6 Luna | Kriosity Blog