On this page · 11 sections
- What OpenAI removes on 14 January 2027, and what is already gone
- Replacement mapping: price, context and behaviour
- Behaviour differences that break things
- Azure OpenAI and Microsoft Foundry: 14 April 2027, with a catch
- Decision table: which GPT-6 model replaces your GPT-4.x workload
- Prompt and structured-output changes
- Testing and evals plan: ten weeks to shutdown
- Worked cost comparison
- India, EU and US notes
- How eCorpIT can help
- References
Summary. On 14 October 2026 OpenAI told developers that four GPT-4 series models leave its API on 14 January 2027: GPT-4o (gpt-4o-2024-08-06 and gpt-4o-2024-11-20), GPT-4o mini, GPT-4.1 and GPT-4.1 mini, along with every fine-tune built on them. Its single recommended replacement is GPT-6 Luna, priced at $0.10 per million input tokens and $0.50 per million output tokens, against $2.50 and $10 for GPT-4o and $0.15 and $0.60 for GPT-4o mini. The catch is behaviour. Luna is a reasoning model that defaults to medium effort, bills reasoning tokens as output, drops temperature and logprobs above effort none, allows Chat Completions function calling only at none, and cannot be fine-tuned. The notice gave three months against OpenAI's own six-month policy for generally available models. On Azure OpenAI the same versions retire on 14 April 2027, and the auto-upgrade target for GPT-4o is gpt-5.1, which Azure retires on 13 July 2027. From 1 November 2026, 74 days remain. Start each workload on Luna at effort none, run your own evals, and finish the rollout by mid-December.
About this article. This guide is for engineering leads and developers running GPT-4o, GPT-4o mini, GPT-4.1 or GPT-4.1 mini through the OpenAI API or Azure OpenAI. Dates, prices, limits and parameters were checked on 1 November 2026 against OpenAI's deprecations page, model pages, pricing page, API reference and migration guides, Microsoft Learn's Foundry retirement and region pages, Microsoft's GPT-6 launch post and the current OpenAI Python SDK. Vendors change schedules and prices often, so re-check before you commit; this is not procurement or legal advice, and no vendor paid for inclusion. Researched with AI assistance and reviewed by our editorial team.
What OpenAI removes on 14 January 2027, and what is already gone
The notice is the newest entry on OpenAI's deprecations page, and the GPT-4o and GPT-4.1 model pages now carry a Deprecated label. The aliases gpt-4o, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini point at the retiring snapshots, so code that calls an alias breaks on the same day. The table below follows the deprecations page.
| Model or snapshot | API shutdown | OpenAI's recommended replacement |
|---|---|---|
| gpt-4o-2024-08-06 (the gpt-4o alias) | 14 January 2027 | gpt-6-luna |
| gpt-4o-2024-11-20 | 14 January 2027 | gpt-6-luna |
| gpt-4o-mini-2024-07-18 | 14 January 2027 | gpt-6-luna |
| gpt-4.1-2025-04-14 | 14 January 2027 | gpt-6-luna |
| gpt-4.1-mini-2025-04-14 | 14 January 2027 | gpt-6-luna |
| Fine-tunes of the above | 14 January 2027 | None (Luna has no fine-tuning) |
| gpt-4o-2024-05-13 | Shut down 23 October 2026 | gpt-5.6-sol |
| gpt-4.1-nano-2025-04-14 | Shut down 23 October 2026 | gpt-5.6-luna |
Four things make the deadline tighter than it looks.
Notice. OpenAI's policy promises at least six months' notice for generally available models unless safety or compliance needs a faster timeline. These models got three, a gap The New Stack reported the next day. The deprecations page adds that some developers may be able to arrange dedicated capacity through OpenAI's sales team to keep a model after its shutdown date. Treat that as a negotiation for large accounts, not a plan.
Tooling. The OpenAI Evals platform became read-only on 31 October 2026, and its dashboard and API shut down on 30 November 2026, the same day as reusable prompt objects (v1/prompts) and Agent Builder. Export eval data and move dashboard-stored prompts into code first; our guide to the November Agent Builder, Evals and prompts shutdown covers that work.
Fine-tuning. Active existing customers can no longer create new fine-tuning jobs from 6 January 2027, and Luna does not support fine-tuning. A fine-tuned GPT-4o mini classifier needs a prompt-based replacement, not a retrain.
Monitoring. The List models endpoint now returns an optional shutdown_date field, so a scheduled job can flag every model ID you call that has a retirement date.
GPT-4o audio, realtime and speech models follow separate January dates; see our guide to the tts-1 and legacy Realtime shutdowns.
Replacement mapping: price, context and behaviour
Standard prices per million tokens for prompts up to 272,000 input tokens come from OpenAI's pricing page and each model page.
| Old model | Old input / cached / output | Old context / max output | Luna input / cached / output | Luna context / max output | Main change to test |
|---|---|---|---|---|---|
| GPT-4o | $2.50 / $1.25 / $10.00 | 128,000 / 16,384 | $0.10 / $0.01 / $0.50 | 1,050,000 / 128,000 | Smaller tier; check writing and image quality |
| GPT-4o mini | $0.15 / $0.075 / $0.60 | 128,000 / 16,384 | $0.10 / $0.01 / $0.50 | 1,050,000 / 128,000 | Reasoning tokens can erase the saving |
| GPT-4.1 | $2.00 / $0.50 / $8.00 | 1,047,576 / 32,768 | $0.10 / $0.01 / $0.50 | 1,050,000 / 128,000 | Prompts over 272K cost 2x input |
| GPT-4.1 mini | $0.40 / $0.10 / $1.60 | 1,047,576 / 32,768 | $0.10 / $0.01 / $0.50 | 1,050,000 / 128,000 | Chat Completions tools need effort none |
Luna also bills cache writes: $0.125 per million tokens for 30-minute retention (1.25x input) and $0.25 for 12-hour retention. Its knowledge cutoff is 18 May 2026, against 1 October 2023 for GPT-4o and GPT-4o mini and 1 June 2024 for GPT-4.1 and GPT-4.1 mini. Throughput rises for the larger models: Luna's Build tier allows 2,000,000 tokens per minute against 450,000 for GPT-4o and GPT-4.1, while GPT-4o mini and GPT-4.1 mini were already at 2,000,000.
Luna is a step down the size ladder for full GPT-4o and GPT-4.1 users. If those workloads depend on long-form writing or image understanding, put two larger GPT-6 models on the same eval set:
- GPT-6.1 Terra, released on 26 October 2026: $1.00 input, $0.05 cached and $5.00 output. OpenAI aims it at visual reasoning, acting on application screens and drafting text, and it supports effort none.
- GPT-6.1 Sol: $2.00 input, $0.10 cached and $10.00 output, for complex coding, computer use and professional work. Its lowest effort is low.
Both need the Responses API for tool calling. Microsoft's GPT-6 launch post goes further and suggests that customers on legacy models evaluate GPT-5.6 Sol or newer. For a cross-vendor view of the budget tier, see our comparison of Gemini 3.8 Flash, Claude Haiku 5.5 and GPT-6 Luna.
Behaviour differences that break things
Swapping gpt-4.1 for gpt-6-luna in the model string will run. Several things then change.
Luna reasons by default
Luna's model page lists effort values none, low, medium (the default), high, xhigh and max. Change only the model name and every request runs at medium. OpenAI's reasoning guide says reasoning tokens are not returned as text, occupy context space and are billed as output tokens; the count appears in usage.output_tokens_details.reasoning_tokens. Latency rises too. Set effort explicitly on every call.
Parameters that stop working
The GPT-6 guide says that whenever effort is not none you must remove temperature, top_p and top_logprobs, and in Chat Completions also logprobs. Teams that used logprobs as a classification confidence score need a new signal or must stay at none. The Chat Completions reference marks max_tokens as deprecated in favour of max_completion_tokens, which caps reasoning and visible tokens together. A response that hits its cap comes back with status incomplete, possibly after billing input and reasoning tokens with no visible answer; OpenAI suggests reserving at least 25,000 tokens for reasoning and output while you experiment.
Tool calling and Chat Completions
Luna supports function calling in Chat Completions only with reasoning_effort set to none; reasoning plus tools needs the Responses API. Chat Completions remains supported, so you can move one flow at a time, but agents that think between tool calls must move. Strictness also changes. Chat Completions functions are non-strict by default, while Responses attempts strict mode when strict is omitted and falls back to best-effort calling only if the schema cannot comply. Check the resolved strict value on each tool after the switch.
Prompt caching and missing features
For GPT-5.6 and later, OpenAI's prompt caching guide sets a 1,024-token minimum prefix, bills cache writes at 1.25x input for 30-minute retention or 2.5x for 12-hour retention in the Responses API, and bills reads at 0.1x input for most models; earlier models carried no separate cache-write charge. When migrating from GPT-5.5 or older, replace prompt_cache_retention with prompt_cache_options.ttl. Luna also lacks fine-tuning, the Assistants API (shut down on 26 August 2026) and predicted outputs, which the GPT-4o page lists as supported.
One snapshot, no date
Luna lists a single snapshot ID, gpt-6-luna. On 25 September 2026 OpenAI fixed an image-encoding bug that had degraded image understanding in GPT-6 Sol and GPT-6 Luna, and advised developers with image inputs to rerun their evaluations. Rerun your suite whenever the changelog mentions Luna.
Azure OpenAI and Microsoft Foundry: 14 April 2027, with a catch
Azure customers get a later deadline under different rules. Microsoft's model retirement schedule, last updated on 23 September 2026, lists the dates below, set against OpenAI's own shutdowns.
| Azure model and version | Azure retirement | Azure replacement and auto-upgrade target | OpenAI API shutdown |
|---|---|---|---|
| gpt-4o 2024-05-13 | 14 January 2027 | gpt-5.1 (2025-11-13) | Already shut, 23 October 2026 |
| gpt-4o 2024-08-06 | 14 April 2027 | gpt-5.1 | 14 January 2027 |
| gpt-4o 2024-11-20 | 14 April 2027 | gpt-5.1 | 14 January 2027 |
| gpt-4o-mini 2024-07-18 | 14 April 2027 | Not yet listed | 14 January 2027 |
| gpt-4.1 2025-04-14 | 14 April 2027 | Not yet listed | 14 January 2027 |
| gpt-4.1-mini 2025-04-14 | 14 April 2027 | Not yet listed | 14 January 2027 |
| gpt-4.1-nano 2025-04-14 | 14 April 2027 | Not yet listed | Already shut, 23 October 2026 |
gpt-4o 2024-05-13 goes first. Its Global Standard, Data Zone Standard, provisioned and Global Batch offers retire on 14 January 2027, the same day as OpenAI's GPT-4 shutdown, and its Regional Standard deployments already retired on 31 March 2026. Microsoft's lifecycle policy page, last updated on 24 July 2026, uses this version as its worked example and gives the same date and target.
The auto-upgrade catch. Global Standard, Data Zone Standard and Standard deployments are upgraded automatically to the listed replacement at retirement. For GPT-4o that is gpt-5.1, which the same schedule retires on 13 July 2027, so letting Azure upgrade you buys about three months; OpenAI's own API retires gpt-5.1 on 1 April 2027. Provisioned deployments are never auto-upgraded, a deployment set to NoAutoUpgrade stops working at retirement, retired models return 410 Gone, and Microsoft says it does not extend retirement dates. Microsoft names replacements about 90 to 120 days before retirement, so the blanks above should fill between mid-December and mid-January. Do not wait for them.
Fine-tuned models get longer. Azure fine-tuned deployments of gpt-4o and gpt-4o-mini retire on 1 October 2027, and gpt-4.1 family fine-tunes on 14 October 2027; for existing customers, training on those models retires no earlier than 1 April and 14 April 2027 respectively. That helps only models trained on Azure.
Luna on Azure. Microsoft's 22 September launch post prices Luna on Global Standard at $0.10 input, $0.01 cached, $0.125 cache writes and $0.50 output for short context, with Data Zone Standard at $0.11 and $0.55 (US) and $0.12 and $0.60 (EU). At launch it listed Standard deployment for Luna in all 28 global regions and both data zones, and provisioned throughput only for Astra and Sol; the current region table also shows gpt-6-luna under Global Provisioned and Data Zone Provisioned.
Decision table: which GPT-6 model replaces your GPT-4.x workload
The table follows the model pages and OpenAI's GPT-6 guide.
| Pick this | If your GPT-4.x workload is | Start with |
|---|---|---|
| GPT-6 Luna at effort none | Classification, extraction, routing or short answers on GPT-4o mini or GPT-4.1 mini, including Chat Completions tool calls | Same API; replace max_tokens; sampling parameters allowed only at none |
| GPT-6 Luna at low or medium | Multi-step answers or agents on GPT-4o or GPT-4.1 | Responses API; no sampling parameters; larger output cap |
| GPT-6.1 Terra | Customer-facing writing, screenshots, image-heavy documents | Compare with Luna on the same golden set before paying 10x |
| GPT-6.1 Sol at low | Complex coding or long agent chains that stretched GPT-4.1 | Responses API for tools |
| Azure until 14 April 2027 | Procurement or data-zone rules tie you to Azure | Pick a target yourself rather than accept the gpt-5.1 auto-upgrade |
Prompt and structured-output changes
A typical GPT-4.1 structured-extraction call, and its Luna equivalent on the Responses API:
# Before: GPT-4.1 on Chat Completions
resp = client.chat.completions.create(
model="gpt-4.1-2025-04-14",
messages=[{"role": "system", "content": SYSTEM},
{"role": "user", "content": ticket_text}],
temperature=0,
max_tokens=800, # deprecated; use max_completion_tokens
response_format={"type": "json_schema",
"json_schema": {"name": "ticket", "strict": True, "schema": SCHEMA}},
)
# After: GPT-6 Luna on the Responses API
resp = client.responses.create(
model="gpt-6-luna",
reasoning={"effort": "none"}, # closest match to a non-reasoning GPT-4.x call
instructions=SYSTEM,
input=ticket_text,
max_output_tokens=800, # raise this if effort goes above "none"
text={"format": {"type": "json_schema", "name": "ticket",
"strict": True, "schema": SCHEMA}},
store=False, # Responses stores by default
)
We ran both calls through openai 3.42.0, the Python SDK release of 31 October 2026, against a mocked endpoint: the SDK accepted every argument and sent the request bodies as written. Beyond the snippet:
- Structured outputs carry over. Luna supports them, and
response_formatbecomestext.formatin Responses. Keep strict mode on and revalidate every schema.
- Decide storage. Responses are stored by default, so set
storeto false for zero-retention or DPDP reasons. With reasoning on and storage off, pass back the encrypted reasoning items the API returns so later turns keep their context.
- Specify style and clean up rules. OpenAI's GPT-6 prompting advice, written from Astra's behaviour, says the model leans towards detailed, formatted answers and reacts more to conflicting instructions, so state your output format and delete contradictory rules GPT-4o used to ignore.
- Order prompts for caching. Put static instructions, tool definitions and examples first, in prefixes above 1,024 tokens.
- Automate the mechanical edits. The GPT-6 guide offers a Codex skill command,
$openai-docs migrate this project to the GPT-6 model family, that applies the API changes. It does not test behaviour.
Start with an inventory: search code, environment variables, gateway configs and no-code tools for every alias, dated snapshot and ft: prefix, then cross-check the usage dashboard by model. An AI gateway such as LiteLLM, Portkey, Kong or TrueFoundry turns the cut-over into a configuration change.
Testing and evals plan: ten weeks to shutdown
From 1 November 2026, 74 days remain until 14 January 2027. This plan leaves slack for December change freezes.
| Window | Work | Exit criterion |
|---|---|---|
| 2 to 13 November | Inventory call sites; export OpenAI Evals data before 30 November; move prompt objects into code | Every model string has an owner and a monthly token figure |
| 9 to 20 November | Capture 200 to 500 recent GPT-4.x traces per workflow; label a golden set of 50 to 200 cases | Baseline quality, p95 latency and cost per request |
| 16 to 27 November | Run Luna at none, low and medium; add Terra or Sol where quality gaps appear | Model and effort chosen per workflow |
| 23 November to 4 December | Fix prompts, schemas and parameters; rerun | All gates green in CI |
| 30 November to 11 December | Shadow traffic, then 5% and 25% canaries through the gateway | No regression on live traffic |
| By 18 December | 100% on GPT-6; rollback target is another GPT-6 model | GPT-4.x traffic at zero |
| 14 January 2027 | OpenAI shutdown | Alerts on any retired model ID |
Score every workflow before and after on the same metrics: task success on the golden set, schema-valid output rate, tool-call accuracy (right tool, right arguments), refusal rate, groundedness for retrieval, p95 latency, and cost per successful task including reasoning tokens. Fix the gates before you see results, for example no more than a two-point drop in task success and 100% schema validity.
OpenAI points Evals users to Promptfoo as a migration path. Our guide to Langfuse, LangSmith, Braintrust, Phoenix and Opik covers capturing baseline traces, and catching silent agent failures in CI/CD covers the release gate.
Worked cost comparison
This is illustrative arithmetic from published Standard prices; eCorpIT did not benchmark these models.
Scenario A: support assistant. 1,000,000 requests a month, each with 2,000 input and 400 visible output tokens, no caching. That is 2,000 million input and 400 million output tokens a month.
| Model | Input cost | Output cost | Monthly total | Change |
|---|---|---|---|---|
| GPT-4o | 2,000M x $2.50 = $5,000 | 400M x $10.00 = $4,000 | $9,000 | baseline |
| GPT-4.1 | 2,000M x $2.00 = $4,000 | 400M x $8.00 = $3,200 | $7,200 | baseline |
| GPT-4.1 mini | 2,000M x $0.40 = $800 | 400M x $1.60 = $640 | $1,440 | baseline |
| GPT-4o mini | 2,000M x $0.15 = $300 | 400M x $0.60 = $240 | $540 | baseline |
| Luna, effort none | 2,000M x $0.10 = $200 | 400M x $0.50 = $200 | $400 | -96% vs GPT-4o, -94% vs GPT-4.1, -72% vs GPT-4.1 mini, -26% vs GPT-4o mini |
| Luna, medium, 600 reasoning tokens assumed | $200 | 1,000M x $0.50 = $500 | $700 | +30% vs GPT-4o mini |
| Luna, none, Batch or Flex | 2,000M x $0.05 = $100 | 400M x $0.25 = $100 | $200 | Half of Standard |
| GPT-6.1 Terra, none | 2,000M x $1.00 = $2,000 | 400M x $5.00 = $2,000 | $4,000 | -56% vs GPT-4o |
Look at GPT-4o mini. Luna at none saves $140 a month ($540 minus $400). Each reasoning token per request adds 1 million output tokens a month, or $0.50, so above 280 reasoning tokens per request ($140 divided by $0.50) the migrated workload costs more than before. Measure reasoning_tokens on your golden set first.
Scenario B: long documents. 10,000 requests a month at 300,000 input and 2,000 output tokens, or 3,000 million input and 20 million output tokens. GPT-4.1 had no long-context surcharge: 3,000M x $2.00 plus 20M x $8.00 is $6,160. Above 272,000 input tokens Luna charges 2x input and 1.5x output on the whole request: 3,000M x $0.20 plus 20M x $0.75 is $615. Trim input to 250,000 tokens and Luna costs 2,500M x $0.10 plus 20M x $0.50, or $260, so a 17% context cut saves 58%.
Caching. A 1,500-token shared prefix across 1,000,000 requests at a 95% hit rate means 1,425 million cached tokens and 75 million misses. On GPT-4.1 that costs $862.50 a month (1,425M x $0.50 plus 75M x $2.00); on Luna it costs about $23.63 (1,425M x $0.01 plus 75M x $0.125, counting every miss as a 30-minute cache write).
Add 10% for OpenAI regional processing endpoints on models released on or after 5 March 2026, which covers Luna but not these GPT-4.x snapshots, and the same 10% for FedRAMP endpoints from 1 November 2026. Fast mode costs 2x Standard.
India, EU and US notes
India. OpenAI's data controls guide lists an India endpoint, in.api.openai.com, with regional storage but no regional processing, and it requires approval for Modified Abuse Monitoring or Zero Data Retention. On Azure, the region table lists gpt-6-luna under Global Standard in South India but not under the Asia Pacific Data Zone Standard table, and Global deployments can process prompts in any Azure region where the model is deployed. Recheck any DPDP assessment that assumed in-country processing, set store to false where you can, keep prompt logging minimal and record the processing location.
EU. Luna supports EU data residency on Standard, Fast, Flex and Batch processing at the 10% regional uplift. Azure's EU Data Zone price is $0.12 input and $0.60 output. GPT-4o on an EU endpoint carried no uplift because it predates March 2026, so budget for the difference.
US. The FedRAMP uplift applies from 1 November 2026, and Azure's US Data Zone price for Luna is $0.11 input and $0.55 output.
How eCorpIT can help
eCorpIT is a Gurugram-based technology organisation, founded in 2021, assessed at CMMI Level 5 and MSME certified, with senior-led engineering teams working across AWS, Microsoft and Google platforms. Our LLM migration and cost optimisation service inventories your GPT-4.x calls, builds golden sets from production traces, scores Luna, Terra and Sol at different effort levels and gates the switch in CI. Talk to us at /contact-us/.
Last updated: 1 November 2026.