Azure OpenAI pricing is made of tokens per million by model and deployment type (global, data zone, regional), provisioned throughput units by the hour or under a reservation, batch tokens at half price, training tokens and hosting hours for fine-tuning, and the calls and tools an agent consumes in Foundry Agent Service. What usually dominates the bill is output tokens, which cost four to eight times the input price depending on the model, and on provisioned deployments the PTU hours, which run regardless of use for as long as the deployment exists.
Microsoft's documentation calls the product Microsoft Foundry on the read date: the page "What is Microsoft Foundry?" lists "Azure AI Studio / Azure AI Foundry" as the previous brand and "Azure AI Services" as the predecessor of Foundry Tools; the OpenAI models are "Azure OpenAI in Microsoft Foundry Models", while the pricing page still carries the title Azure OpenAI. The meters in the price list follow the new structure, as the billing-data section shows.
Pricing dimensions
| What is metered | Unit | What drives it | Optional |
|---|---|---|---|
| Input tokens | per 1 million tokens, by model and deployment type; global is the lowest price, data zone is ten percent above it for gpt-4.1 in Germany West Central, regional higher still | Prompt length, system prompts, conversation history, tool definitions | No |
| Cached input tokens | per 1 million tokens; a quarter of the input price for gpt-4.1 | Repeated prompt prefixes that hit the prompt cache | Yes, through prompt structure |
| Output tokens | per 1 million tokens; four times the input price on gpt-4.1, eight times on GPT-5 | Response length, reasoning tokens on reasoning models | No |
| Batch tokens | per 1 million tokens, Global Batch and Data Zone Batch at 50 percent of the Global Standard price, 24-hour target | Asynchronous jobs from a file; completed work is billed, also after a cancellation | Yes |
| Provisioned throughput units | per PTU and hour from creation to deletion of the deployment, regardless of tokens; minimum 15 PTUs (global and data zone) or 50 PTUs (regional) for gpt-4.1, in steps of 5 or 50 | Reserved capacity per model; throughput per PTU depends on the model | Yes |
| Fine-tuning training | per 1 million training tokens times epochs (SFT, DPO) or per training hour (RFT); global and Developer cheaper than Standard | Size of the training file, number of epochs, grader tokens for RFT | Yes |
| Fine-tuning hosting | per hour and deployed model for as long as the deployment exists; Developer deployments carry no hosting fee but last 24 hours | Number of deployed fine-tuned models | Yes |
| Agents | No charge of their own: inference per call plus the tools used, for hosted agents container compute on top | Number of calls, tool calls, sessions | Yes |
| Foundry Tools commitment tiers | A monthly quota at a fixed price for speech, translation, language, OCR and document intelligence; not available on a Foundry or multi-service resource and not for OpenAI models | Monthly usage of those services | Yes |
| Purchase option | PTU reservations for one month or one year per deployment type, applied as a discount on the hourly PTU meter; the page on Azure reservations covers purchase, scope and exchange |
The provisioned throughput unit is the unit of reserved capacity: one PTU stands for a fixed amount of model processing that Microsoft holds for the deployment whether requests arrive or not. How many tokens per minute a PTU delivers depends on the model; for gpt-4.1 the sizing documentation gives 3,000 input tokens per minute and PTU, and one output token counts as four input tokens, matching the price ratio of the Global Standard tier. Cached input tokens consume no PTU capacity on these models. The deployment types also set where processing happens: global in any Azure region, data zone inside the EU data boundary or the United States, Standard and Regional Provisioned inside the chosen geography; new models arrive as global first, then data zone, then regional.
How it appears in your billing data
The price list carries every model Microsoft sells itself under the service Foundry Models in the service family AI + Machine Learning; the OpenAI models have the product names Azure OpenAI, Azure OpenAI GPT5, Azure OpenAI Reasoning, Azure OpenAI Embedding and Azure OpenAI Media, next to Azure Llama Models, Azure Mistral Models, Azure Deepseek Models and MAI Models. The meters encode model, direction and deployment type in their names, for example gpt 4.1 Inp glbl Tokens, gpt 4.1 Outp glbl Tokens, gpt 4.1 cached Inp glbl Tokens, gpt 4.1 Inp Data Zone Tokens, gpt 4.1 Batch Inp glbl Tokens or o4-mini 0416 Inp regnl Tokens; the unit is 1,000 tokens for older models and one million for the GPT-5 meters. Provisioned capacity runs on Provisioned Managed Global Unit, Provisioned Managed Data Zone Unit and Provisioned Managed Regional Unit per hour, the reservation on the product Azure AI Foundry Provisioned Throughput Reservation. Fine-tuning produces meters such as gpt-4.1-mini FT Training global Tokens, gpt-4.1-mini-ft hosting global Unit per hour and gpt-4.1-mini-ft input global Tokens for inference on the customised model.
In the cost export ConsumedService is Microsoft.CognitiveServices and the ResourceId points at the account Microsoft.CognitiveServices/accounts/…; the deployment, which is the model and the deployment type, is not a line of its own but sits in the meter name and in AdditionalInfo. Allocating cost per model or per application therefore needs either one Foundry resource per application or the service's own usage data; the page on AI provider usage exports describes that route, the page on Azure cost exports the export fields. A PTU reservation appears as a purchase with PricingModel Reservation and ChargeType Purchase; the amortized file spreads it over the hours in which it covers PTU meters. In the FOCUS export the token, PTU and hosting lines carry ChargeCategory Usage, the reservation purchase Purchase, and x_SkuMeterName holds the meter name (FOCUS columns). Models from partners and the community (Cohere or Claude models, for instance) are Marketplace offers instead: the provider sets licence and price through Azure Marketplace, the lines carry PublisherType Marketplace in the export, and CSP subscriptions cannot buy them; models Microsoft sells itself are billed through the Azure subscription under Azure's SLA. Diagnostic logs of a Foundry resource land on the meters of Azure Monitor and Log Analytics, private endpoints on the networking meters.
Levers
Configuration:
- Model choice. In Germany West Central gpt-4.1 mini costs a fifth of gpt-4.1 per token and gpt-4.1 nano a twentieth. Which tasks a smaller model can carry is a measurement per use case; the page on model pricing and rate cards holds the comparison method.
- Prompt caching and batch. Cached input tokens cost a quarter on gpt-4.1, batch jobs half the Global Standard price. Both are properties of the application, not of the contract; caching, batching and routing describes the patterns.
- Deployment type. Global is cheapest, data zone costs ten percent more, regional more still and arrives last. Anyone who needs the EU data boundary pays the data zone premium; what data residency costs elsewhere is under data residency and its cost.
- Cap the output. Output tokens cost four to eight times as much; a maximum response length and terse formats are the most direct lever on the cost per request.
Purchase option:
- PTUs only with a reservation. The hourly PTU meter in the example below is 2.8 times the pay-as-you-go price for the same token volume; only the monthly or yearly reservation brings a PTU to or below the token price, and only at close to full utilisation. Microsoft advises creating the deployment first and buying the reservation second, because reservations do not secure capacity. Commitment coverage and utilisation explains how to check utilisation.
- Contract discounts. EA and MCA discounts apply to every meter; how the billing account sets the price is under Azure billing accounts.
Architecture:
- Delete fine-tuned models that do nothing. Hosting is billed per hour from deployment; a forgotten deployment of a customised model is a typical find among idle and orphaned resources. Developer deployments for testing carry no hosting fee but end after 24 hours.
- Agents as a token multiplier. An agent has no charge of its own, but every tool call is another model call with its own context; how to measure agent cost is the subject of agents and tool calls.
- Spillover instead of over-provisioning. A provisioned deployment can hand overflow to a standard deployment on the same resource, so the PTUs cover the base load and pay-as-you-go the peaks.
Where it goes wrong
- PTU hours with no load. Symptom: a constant line on the provisioned meter at low usage. Cause: PTU billing starts at creation and ends at deletion; check the utilisation metric, and delete or shrink deployments outside load hours only if the capacity will be available again later.
- A reservation with no deployment. Symptom: a reservation purchase with no PTU hours against it. Cause: the deployment was deleted or moved to another type; reservations for global, data zone and regional are not interchangeable and keep running until you cancel or exchange them.
- Hosting for a forgotten model. Symptom: an hourly hosting line for a fine-tuned model with no inference tokens. Cause: the deployment still exists; delete it, the model itself is kept.
- Data zone instead of global. Symptom: every token meter carries
Data Zonealthough no residency requirement exists. Cause: the deployment type was chosen at creation; a new global deployment costs ten percent less per token. - Output tokens from reasoning. Symptom: output tokens exceed the visible response length many times over. Cause: reasoning models bill their internal thinking tokens as output; measure tokens per request rather than characters.
- Cost with no application. Symptom: one account carries all the token cost and no team recognises its share. Cause: the deployment is not a line in the export; separate resources per application or use the service's usage data.
Example
List prices from the Azure Retail Prices API in EUR for Germany West Central, read on 2026-10-21: gpt-4.1 Global Standard costs EUR 1.76 per million input tokens, EUR 0.44 per million cached input tokens and EUR 7.04 per million output tokens; data zone EUR 1.936, 0.484 and 7.744; Global Batch EUR 0.88 and 3.52. A Global Provisioned PTU costs EUR 0.879972 per hour, EUR 228.79 per PTU and month as a monthly reservation, EUR 2,333.69 per PTU and year as a yearly reservation. The smallest gpt-4.1 deployment of 15 PTUs delivers, at 3,000 input tokens per minute and PTU over 730 hours, 1,971 million normalised input tokens, which cost EUR 3,468.96 at the Global Standard price; the same 15 PTUs cost EUR 9,635.69 by the hour, EUR 3,431.89 with a monthly reservation and EUR 2,917.11 per month with a yearly reservation. Fine-tuning gpt-4.1 mini costs EUR 4.40 per million training tokens (global) and hosting EUR 1.495952 per hour, EUR 1,092.04 over 730 hours, before a single inference token is billed. The figures show that a PTU reaches the token price only with a reservation and near-full utilisation, and that in fine-tuning it is hosting, not training, that sets the monthly line.
Sources
Read on 2026-10-21. Microsoft: Azure OpenAI pricing, What is Microsoft Foundry, Deployment types, Provisioned throughput, PTU sizing, Provisioned throughput reservations, Batch, Fine-tuning costs, Fine-tuning overview, Foundry Models sold by Azure, Foundry Models from partners, Foundry Agent Service, Commitment tiers for Foundry Tools, Cost details fields, FOCUS cost export schema. Prices: Azure Retail Prices API, EUR, Germany West Central, queries for Foundry Models, consumption and Foundry Models, reservations. The billing compared with Bedrock: Azure OpenAI and Bedrock billing.