# GPT-4o and GPT-4.1 Retire January 14 — Migrate to Luna Now

> Source: <https://byteiota.com/gpt-4o-and-gpt-4-1-retire-january-14-migrate-to-luna-now/>
> Published: 2026-10-14 21:10:35+00:00

OpenAI filed the paperwork today: GPT-4o, GPT-4o mini, GPT-4.1, and GPT-4.1 mini are being pulled from the API on **January 14, 2027**. If you have fine-tuned models on any of these, the window is tighter — new training jobs freeze on **January 6**. The replacement is [gpt-6-luna](https://developers.openai.com/api/docs/deprecations), which is 96% cheaper and outperforms GPT-4o on quality benchmarks. Here is what you need to change and when.

## Which Models Are Affected

These are the specific model IDs going dark on January 14:

- `gpt-4o-2024-08-06`
- `gpt-4o-2024-11-20`
- `gpt-4o-mini-2024-07-18`
- `gpt-4.1-2025-04-14`
- `gpt-4.1-mini-2025-04-14`

Any fine-tuned model built on these bases follows the same schedule. If you hardcoded a snapshot ID in your application, your code breaks on that date. If you used a generic alias like `gpt-4o`, OpenAI will auto-redirect you — but verify that behavior in your environment before trusting it.

## Two Dates That Matter

Most coverage will focus on January 14. The date that matters more if you own fine-tuned models is earlier: **January 6, 2027** is the last day to create new fine-tuning jobs on any of the deprecated base models. After that, you can still run inference on existing fine-tuned models until the 14th — but you cannot retrain or create new variants.

Write both dates down. Miss January 6 and you have no path to iterate your fine-tuned model before the lights go out.

## GPT-6 Luna: The Replacement

Luna is not just the default fallback — it is genuinely better across most dimensions. At $0.10 per million input tokens and $0.50 per million output tokens, it costs 96% less than GPT-4o ($2.50/$10.00). Its context window is 1,050,000 tokens, roughly eight times larger than GPT-4o’s 128,000. On the composite quality index, it scores 167% higher than GPT-4o. See the [full benchmark breakdown](https://www.activepieces.com/blog/gpt-6-luna-pricing-benchmarks-and-performance-in-2026) for a detailed comparison.

The one real tradeoff is streaming latency. Luna is a reasoning model — it thinks before it outputs, so per-token streaming is slower than GPT-4o. For interactive, low-latency applications, test carefully. For batch processing, agents, and anything where quality matters more than time-to-first-token, Luna is the obvious upgrade.

## How to Migrate

OpenAI’s [official migration guide](https://help.openai.com/en/articles/20001600-migrating-from-gpt-4x-to-gpt-6-luna) recommends four steps. Follow them in order and do not skip the baseline phase — you will need it to catch regressions.

1. **Baseline.** Record a set of representative production requests and their current outputs. This is your ground truth.
2. **Evaluate with Luna.** Run the same requests through`gpt-6-luna` with`reasoning_effort` set to`"none"` . This mode makes Luna behave closest to GPT-4x without engaging the reasoning engine.
3. **Adjust.** Compare outputs. Tune prompts, adjust verbosity expectations, and check formatting assumptions. Most prompts migrate cleanly; some verbose outputs need trimming instructions added.
4. **Gradual rollout.** Route 5–10% of production traffic to Luna, monitor quality metrics, latency, and error rates, then increase incrementally.

## Breaking Changes to Catch Before You Ship

Two specific API parameters that will break your calls:

**`temperature` and `top_p`:** Luna rejects both. If your code passes these parameters, your API call returns an error. Remove them from any request targeting Luna.

**Function tools with reasoning enabled:** If you use function calling with any `reasoning_effort` setting other than `"none"`, you must switch from `/v1/chat/completions` to `/v1/responses`. Starting with `reasoning_effort: "none"` lets you stay on the completions endpoint during initial migration.

```
# Before (breaks January 14, 2027)
response = client.chat.completions.create(
    model="gpt-4o-2024-08-06",
    temperature=0.7,  # Remove this
    top_p=0.9,        # Remove this too
    messages=[{"role": "user", "content": prompt}]
)

# After (working Luna call)
response = client.chat.completions.create(
    model="gpt-6-luna",
    # reasoning_effort="none" for closest GPT-4x parity
    messages=[{"role": "user", "content": prompt}]
)
```

## If You Have Fine-Tuned Models

This is the group that needs to move fastest. Before January 6:

1. Export your training data from the OpenAI platform
2. Start a new fine-tuning job targeting `gpt-6-luna`
3. Evaluate the new fine-tuned Luna model against your benchmarks
4. Update your endpoint references from `ft:gpt-4.1-...` to the new fine-tuned Luna model ID

Fine-tuning on Luna is available now. There is no technical reason to wait — and the cost of training is lower given Luna’s pricing. The only reason people will miss January 6 is procrastination.

## Start Now

91 days sounds like enough time until your Q4 roadmap fills up. The migration itself is straightforward — OpenAI did the work to make Luna the clear upgrade path. What takes time is evaluating output quality, catching the `temperature`/` top_p` parameter errors in your codebase, and retraining any fine-tuned models. Check the [GPT-4o vs Luna side-by-side comparison](https://www.orcarouter.ai/compare/gpt-4o-vs-gpt-6-luna) if you need to build a case internally for the switch.

The [official deprecation page](https://developers.openai.com/api/docs/deprecations) lists all affected models and dates. January 14 is a hard cutoff with no grace period.
