gpt-4o-mini shuts down on 14 January 2027
On 14/10/2026 OpenAI announced it retires gpt-4o-mini (gpt-4o-mini-2024-07-18, the only snapshot the alias points to) on 14 January 2027. It recommends gpt-6-luna, which also costs less ($0.10 / $0.50 per million tokens against $0.15 / $0.60). It’s the model behind a great many chatbots built in 2024 and 2025.
Checked on
gpt-4o-mini OpenAI
Shutdown date: 14 January 2027
Official replacement: gpt-6-luna
Price per million tokens (input / output): $0.15 / $0.60 → $0.10 / $0.50
What changes in your code
- Change the name in
model. If it lives in an environment variable or in an n8n, Make or Zapier setting, change it there. - The new models reason by default (
medium): slower and more tokens. To answer like the old one, setreasoning_effort: "none"in Chat Completions orreasoning: { effort: "none" }in the Responses API. - If you send
temperature,top_porlogprobs, keep reasoning atnone: at any other level the API rejects them (per the GPT-5.4 and GPT-6 guides). max_tokensis deprecated: usemax_completion_tokens(ormax_output_tokensin Responses). With reasoning on, that limit is spent on reasoning too: leave room.- Function calling in Chat Completions only works with
reasoning_effort: "none". To reason and call tools together, move to the Responses API. - The new models don’t support the old
/v1/completionsendpoint or fine-tuning (each model’s page says so).
Example code
Python
from openai import OpenAI
client = OpenAI() # reads OPENAI_API_KEY from the environment
resp = client.chat.completions.create(
model="gpt-6-luna", # was: "gpt-4o-mini"
reasoning_effort="none", # answers like the old one, no reasoning
max_completion_tokens=500, # was: max_tokens=500
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI(); // reads OPENAI_API_KEY from the environment
const resp = await client.chat.completions.create({
model: "gpt-6-luna", // was: "gpt-4o-mini"
reasoning_effort: "none", // answers like the old one, no reasoning
max_completion_tokens: 500, // was: max_tokens: 500
messages: [{ role: "user", content: "Hello" }],
});
console.log(resp.choices[0].message.content);Sources: OpenAI · Deprecations · Upgrading to GPT-5.6 · Using GPT-6 · Chat Completions API
We’ll email you before your model is switched off
One email 30 days before and another 7 days before the official date, with the replacement and what changes in the code. Free, no account, no marketing.
Using more than one model? Paste your code into the free checker.
Open the checker→Got a whole repository? Check it at once from the terminal, with nothing to install:
npx -y github:ericc2005t/ai-model-sunsetQuestions
- What do I have to change?
- The model name and, to answer as fast as before,
reasoning_effort: "none": gpt-6-luna reasons by default (medium). If you use tools in Chat Completions, thatnoneis required. - Are my gpt-4o-mini fine-tunes switched off too?
- Yes, the same day. And gpt-6-luna doesn’t support fine-tuning: what it learned has to move into the prompt.
- Can I wait until January?
- You can, but the behaviour change (reasoning, parameters that error) is worth testing calmly, not on the 13th.
Rather I fix it for you? Model swap, €79; full migration, €290–490. I reply within 24 h with a fixed price.
Ask for the fix: I reply within 24 h
No calls and nothing to pay here. Tell me what your app runs on and what breaks: I reply in writing within 24 h with a fixed price and a timeline.