On 14 January 2027 Azure retires every base-model offer of gpt-4o version 2024-05-13 and names gpt-5.1 (2025-11-13) as the replacement. Global Standard and Data Zone Standard deployments are upgraded automatically, Provisioned and Global Batch deployments are not. On Azure’s list prices the swap is cheaper per million tokens: $1.25 input and $10.00 output against $5.00 and $15.00 on Global Standard. The bill only climbs back if you switch reasoning on, because reasoning tokens are billed as output.
What changes on 14 January 2027
Microsoft’s Foundry model retirement page lists six offers of gpt-4o 2024-05-13 that retire that day in every Azure public cloud region: Global Standard, Data Zone Standard, Regional Provisioned, Global Provisioned, Data Zone Provisioned and Global Batch. Regional Standard is not on the list because it already retired on 31 March 2026. The replacement is the same everywhere, gpt-5.1 version 2025-11-13.
What differs is who does the work. Half of these deployments move on their own, the other half stop answering if you do nothing.
The deployments Azure upgrades for you
Global Standard and Data Zone Standard deployments are switched to gpt-5.1 automatically at retirement. Your deployment name stays, your quota carries over, and your code keeps calling the same endpoint. Priority Processing follows the same path as Standard.
The setting that decides this is versionUpgradeOption on the deployment. It takes three values:
- OnceNewDefaultVersionAvailable, which upgrades as soon as a new default version exists;
- OnceCurrentVersionExpired, which upgrades only at retirement;
- NoAutoUpgrade, which never upgrades, so the deployment simply stops working on 14 January.
If someone on your team set NoAutoUpgrade to freeze behaviour, that deployment is the one that breaks. Check it first.
Provisioned and Batch deployments you move yourself
Provisioned deployments are not auto-upgraded. You create a gpt-5.1 deployment and move the traffic, either in place (Azure migrates traffic over a 20 to 30 minute window without downtime) or side by side (new deployment, test, switch, delete the old one). Quota for the target model must be available before you start.
Global Batch is the trap. Microsoft states that the shared retirement date does not imply automatic upgrades for Global Batch: you deploy gpt-5.1, resubmit the jobs and retire the old deployment yourself. A nightly batch pipeline pointed at gpt-4o will fail on 14 January, not silently get cheaper.
The other gpt-4o versions get until 14 April 2027
The January date covers 2024-05-13 only. gpt-4o versions 2024-08-06 and 2024-11-20, gpt-4o-mini 2024-07-18 and gpt-4.1-mini 2025-04-14 retire on 14 April 2027 across all their base-model offers. Fine-tuned models follow separate schedules.
On OpenAI’s own API the calendar is tighter. Its deprecations page shows gpt-4o-2024-05-13 already shut down on 23 October 2026, and gpt-4o 2024-08-06 and 2024-11-20 shutting down on 14 January 2027 with gpt-6-luna as the recommended replacement. Azure gives you three more months on those two versions.
gpt-4o vs gpt-5.1 per million tokens on Azure
All prices below come from Azure’s public retail price list as read on 8 November 2026, in US dollars, for the US East region. The Global rates are the same in West Europe. Your enterprise agreement may discount them, but the ratio between the two models holds.
On Global Standard, gpt-5.1 costs $1.25 per million input tokens and $10.00 per million output tokens, against $5.00 and $15.00 for gpt-4o 2024-05-13.
Global Standard
Input drops by three quarters and output by a third. That is the deployment type most teams run, and the one Azure upgrades without asking.
| Global Standard, per 1M tokens | gpt-4o 2024-05-13 to gpt-5.1 |
|---|---|
| Input | $5.00 to $1.25 |
| Cached input | no cached rate listed to $0.125 |
| Output | $15.00 to $10.00 |
Data Zone and Batch
Data Zone keeps processing inside the US or EU zone and costs 10% more than Global on both models. Batch halves the Global rate on both. The direction of the swap does not change:
| Deployment, input / output per 1M | gpt-4o 2024-05-13 to gpt-5.1 |
|---|---|
| Data Zone Standard | $5.50 / $16.50 to $1.375 / $11.00 |
| Global Batch | $2.50 / $7.50 to $0.625 / $5.00 |
| Data Zone Batch | $2.75 / $8.25 to $0.6875 / $5.50 |
gpt-5.1 also offers a Priority Processing tier on Global at $2.50 input, $0.25 cached and $20.00 output. You only pay it if you opt in.
What one request costs before and after
Take a typical chat request: 2,000 input tokens, 500 output tokens. On Global Standard, 1,000 of those requests cost $17.50 on gpt-4o 2024-05-13 and $7.50 on gpt-5.1 with reasoning off. On Data Zone Standard the same 1,000 requests go from $19.25 to $8.25.
My verdict: for a plain chat or extraction workload, the forced upgrade is a price cut of more than half. For a wider comparison of Azure against the direct API on other models, see our Azure OpenAI pricing calculator.
Where the cheaper bill can leak back
gpt-5.1 is a reasoning model and gpt-4o is not. Three things decide whether the cut above survives contact with your traffic.
Reasoning tokens bill as output
Microsoft’s reasoning models documentation is explicit: reasoning tokens never appear in the answer, but they are billed as output tokens. The good news is that gpt-5.1’s reasoning_effort defaults to none, so an auto-upgraded deployment does not start thinking unless your code asks it to.
The moment you set reasoning_effort to low, medium or high, the arithmetic moves. On the 2,000 in / 500 out request above, gpt-5.1 reaches gpt-4o’s $17.50 per 1,000 requests at 1,500 output tokens, which leaves room for about 1,000 reasoning tokens per request. Past that, the “cheaper” model costs more. Two habits keep this in check:
- read completion_tokens_details.reasoning_tokens (Chat Completions) or output_tokens_details.reasoning_tokens (Responses) on a sample of real requests before rolling out;
- cap the total with max_completion_tokens or max_output_tokens, which count reasoning tokens too.
Cached input that gpt-4o 2024-05-13 never had
Azure’s price list carries no cached-input meter for gpt-4o 2024-05-13, while gpt-5.1 bills cached input at $0.125 per million on Global, a tenth of its input rate. If your requests share a long system prompt, this is where the migration pays most.
On the same request with 1,500 of the 2,000 input tokens served from cache, 1,000 requests on gpt-5.1 cost about $5.81 instead of $7.50. Against gpt-4o’s $17.50, that is a third of the old bill.
Break-even: on a 2,000 in / 500 out request, gpt-5.1 costs as much as gpt-4o 2024-05-13 only once it spends about 1,000 reasoning tokens per request.
Provisioned capacity is priced per PTU, not per model
The hourly PTU rate does not depend on the model: $1.00 per PTU-hour on Global and $2.00 on Regional, with a minimum of 15 PTUs on Global and Data Zone and 50 on Regional for both gpt-4o and gpt-5.1. Microsoft states that PTU capacity is model-agnostic and fungible across provisioned deployments.
What changes is the work each PTU does, since a reasoning model can produce more tokens per call. Size the new deployment with the Foundry capacity calculator on your real prompts, not on gpt-4o’s numbers.
What to do before the switch
Nine weeks is enough if you start with the deployments that will not move on their own. The order I would follow:
- List every gpt-4o 2024-05-13 deployment and its type with the Models API, which exposes lifecycleStatus and a per-SKU deprecationDate.
- Check versionUpgradeOption on each Standard deployment and remove NoAutoUpgrade where you want the upgrade.
- Create gpt-5.1 Provisioned deployments, confirm quota, and migrate traffic before 14 January.
- Redeploy Global Batch jobs on gpt-5.1 and resubmit them.
- Pin reasoning_effort explicitly in code, even to none, so a future default change does not reach your bill.
One caution on the target itself: OpenAI’s model page already marks gpt-5.1-2025-11-13 as deprecated on its own API. If you are migrating by hand anyway, compare it with newer models such as GPT-6 Sol and GPT-6 Luna before you commit a PTU reservation to it, and check the deprecation field the Models API returns for gpt-5.1 in your region.
Frequently asked questions
Will my Azure gpt-4o deployment stop working on 14 January 2027?
Only if it is a gpt-4o 2024-05-13 deployment that Azure does not upgrade: Provisioned, Global Batch, or a Standard deployment set to NoAutoUpgrade. Global and Data Zone Standard deployments keep working on gpt-5.1. Versions 2024-08-06 and 2024-11-20 run until 14 April 2027.
Is gpt-5.1 more expensive than gpt-4o on Azure?
No, per token it is cheaper on every deployment type: $1.25 against $5.00 input and $10.00 against $15.00 output on Global Standard. It becomes more expensive per request only when reasoning tokens push total output past roughly three times the visible answer.
Can I keep gpt-4o 2024-05-13 past the retirement date?
No. Microsoft states that retirement dates are not extendable and that no exception is granted. The only way to stay on gpt-4o past January is to move to version 2024-08-06 or 2024-11-20, which buys you three months until 14 April 2027.