Azure OpenAI Service is a managed platform from Microsoft that provides access to OpenAI’s language models, including the GPT-6 and GPT-5.6 families, earlier GPT-5 and GPT-4.1 models, and the o-series reasoning models, through familiar REST APIs. It is now delivered through Microsoft Foundry. Developers can integrate natural language processing, text summarization, code generation, semantic search, image generation, and audio capabilities into their applications while benefiting from Azure’s reliability, scalability, and enterprise security controls.
Unlike the publicly accessible OpenAI API, Azure OpenAI integrates natively with other Azure resources, such as private networking, identity, and compliance tooling. This gives enterprises finer control over model deployment, data handling, and monitoring. Every token sent and received is billed based on the model chosen and the deployment configuration selected.
Understanding those billing dimensions is the first step toward controlling costs at scale.
This is part of a series of articles about AI Costs.
Related content:
Read our guide to Bedrock Pricing
Azure OpenAI offers several ways to pay for the same model. Choosing the right one for each workload is one of the highest-leverage decisions you can make before spending a single dollar.
The default pay-as-you-go model. You are charged per million tokens processed, with input and output priced separately and no upfront commitment. This model is ideal for variable or unpredictable workloads, development environments, and initial production workloads where consumption patterns are not yet established.
For the GPT-6 and GPT-5.6 families, Microsoft’s price list offers Flex pricing on Global deployments at 50% of the Global Standard rate. Microsoft’s price list doesn’t include Batch meters for these newer models, so Flex is the discounted option to evaluate for them. Check Microsoft’s documentation for Flex latency and availability terms before moving production traffic.
For non-interactive, large-volume workloads that can tolerate delayed responses (results returned within 24 hours), the Batch API delivers a 50% discount compared to Global Standard pricing. Batch pricing is listed for GPT-5.5, GPT-5.4, GPT-5, GPT-4.1, GPT-4o and the o-series models. Use cases include nightly data processing, large-scale document analysis, embedding generation pipelines, and any workflow where real-time latency is not a requirement.
Priority Processing is the opposite trade-off: faster, more consistent service at a premium. On the models where it is listed, such as GPT-6 Sol and the GPT-5.6 family, it costs 2× the Global Standard rate.
PTUs let organizations reserve a fixed amount of model throughput, delivering consistent latency and predictable spend. This model is best suited to stable, high-volume production workloads where you can forecast request rates. PTUs are billed hourly per deployed unit. Microsoft offers a substantial term discount when you buy an Azure Reservation, and notes that a reservation can cost less than scaling a deployment up and down with traffic.
Beyond pricing model, organizations choose between three deployment configurations: global deployments (Microsoft-routed); data zone deployments (US or EU data residency); and regional deployments (processing in a specific Azure region). For the models we checked, Data Zone and Regional token prices run about 10% above Global. Data residency requirements often dictate which options are available. Where flexibility exists, global deployments are generally the most cost-efficient.
All prices below are per million tokens unless otherwise noted, and represent Global Standard pay-as-you-go list prices from Microsoft’s Azure price list as of October 2026. Prices are subject to change, so always verify current rates on the Azure OpenAI pricing page before making architectural decisions.
| Model | Input | Cached Input | Output | Flex Input | Flex Output |
|---|---|---|---|---|---|
| GPT-6 Astra | $10.00 | $1.00 | $50.00 | $5.00 | $25.00 |
| GPT-6.1 Sol | $2.00 | $0.10 | $10.00 | $1.00 | $5.00 |
| GPT-6 Sol | $2.00 | $0.20 | $10.00 | $1.00 | $5.00 |
| GPT-6 Luna | $0.10 | $0.01 | $0.50 | $0.05 | $0.25 |
| GPT-5.6 Sol | $4.00 | $0.40 | $20.00 | $2.00 | $10.00 |
| GPT-5.6 Terra | $2.00 | $0.20 | $12.00 | $1.00 | $6.00 |
| GPT-5.6 Luna | $0.20 | $0.02 | $1.20 | $0.10 | $0.60 |
GPT-6.1 Sol and GPT-6 Sol share the same list price, but GPT-6.1 Sol’s cached input costs half as much. For cache-heavy workloads, it is the cheaper of the two.
Long-context pricing: Microsoft meters GPT-6 requests in a short-context band and a long-context band. In the long band, input and cached input cost 2× and output costs 1.5×. For example, GPT-6.1 Sol goes from $2/$10 to $4/$15, and GPT-6 Astra from $10/$50 to $20/$75.
Cache writes: For the GPT-6 and GPT-5.6 families, Microsoft’s price list includes a cache-write meter at 1.25× the input price (for example, $2.50 per million tokens on GPT-6.1 Sol).
| Model | Input | Cached Input | Output | Batch Input | Batch Output |
|---|---|---|---|---|---|
| GPT-5.5 | $5.00 | $0.50 | $30.00 | $2.50 | $15.00 |
| GPT-5.4 | $2.50 | $0.25 | $15.00 | $1.25 | $7.50 |
| GPT-5.4 mini | $0.75 | $0.075 | $4.50 | $0.375 | $2.25 |
| GPT-5.4 nano | $0.20 | $0.02 | $1.25 | $0.10 | $0.625 |
| GPT-5 | $1.25 | $0.125 | $10.00 | $0.625 | $5.00 |
| GPT-5 mini | $0.25 | $0.025 | $2.00 | $0.125 | $1.00 |
| GPT-5 nano | $0.05 | $0.005 | $0.40 | $0.025 | $0.20 |
| GPT-4.1 | $2.00 | $0.50 | $8.00 | $1.00 | $4.00 |
| GPT-4.1 mini | $0.40 | $0.10 | $1.60 | $0.20 | $0.80 |
| GPT-4.1 nano | $0.10 | $0.025 | $0.40 | $0.05 | $0.20 |
| GPT-4o | $2.50 | $1.25 | $10.00 | $1.25 | $5.00 |
| GPT-4o mini | $0.15 | $0.075 | $0.60 | $0.075 | $0.30 |
GPT-4o and GPT-4o mini are still metered on Azure, but they are legacy models. If you still run production traffic on them, check Microsoft’s model retirement schedule and benchmark a current model.
| Model | Input | Cached Input | Output | Batch Input | Batch Output |
|---|---|---|---|---|---|
| o3 | $2.00 | $0.50 | $8.00 | $1.00 | $4.00 |
| o4-mini | $1.10 | $0.275 | $4.40 | $0.55 | $2.20 |
| o1 | $15.00 | $7.50 | $60.00 | $7.50 | $30.00 |
| o3 Deep Research | $10.00 | $2.50 | $40.00 |
o3 Deep Research: Bing Search charged separately.
| Model / Service | Pricing |
|---|---|
| Image Generation | |
| GPT-Image-1 Global | Text input: $5/M · Image input: $10/M · Output image: $40/M tokens |
| DALL·E 3 (1024×1024 standard, regional) | $4.40 per 100 images; $8.80 per 100 for HD |
| Audio and Realtime | |
| gpt-realtime-2.1 Global | Text: $4 input / $24 output · Audio: $32 input / $64 output per M tokens |
| gpt-realtime-2.1-mini Global | Text: $0.60 input / $2.40 output · Audio: $10 input / $20 output per M tokens |
| GPT-4o audio Global | Text: $2.50 input / $10 output · Audio: $40 input / $80 output per M tokens |
| Embeddings (Global) | |
| text-embedding-3-large | $0.00013 per 1,000 tokens |
| text-embedding-3-small | $0.00002 per 1,000 tokens |
| Ada (v2) | $0.0001 per 1,000 tokens |
| Deployment Type | Hourly Rate per PTU | Minimum Deployment (latest models) |
|---|---|---|
| Global Provisioned | $1.00 | 15 PTUs |
| Data Zone Provisioned | $1.10 | 15 PTUs |
| Regional Provisioned | $2.00 | 25 to 50 PTUs, depending on model |
How to read PTU costs: The hourly rate is what you pay without a reservation. One Global PTU running for a full month (about 730 hours) costs roughly $730. A minimum 15-PTU Global deployment costs roughly $10,950 per month at the hourly rate. Monthly and yearly Azure Reservations lower the effective rate significantly. Microsoft doesn’t publish reservation prices in its public price list, so get your rate from the Azure pricing calculator or your Microsoft account team. Throughput per PTU depends on the model, prompt size, output size, and call rate, so size deployments with Microsoft’s capacity calculator.
Fine-tuning o4-mini with reinforcement fine-tuning costs $100/hour for training and $1.70/hour for hosting. Input and output inference pricing aligns with the base model (e.g., $1.21 input and $4.84 output per million tokens for o4-mini Regional).
Here are a few ways your organization can optimize costs for OpenAI models consumed through the Azure platform.
1. Model Selection and Right-Sizing
Selecting the appropriate model for your workload is the single highest-leverage cost lever available. GPT-6 Astra costs 100× as much per token as GPT-6 Luna ($10 vs $0.10 input, $50 vs $0.50 output). For many real-world tasks (classification, extraction, summarization, FAQ answering), a smaller and cheaper model produces acceptable quality at a fraction of the cost.
Right-sizing also applies to context length and throughput settings. On GPT-6 models, prompts that fall into the long-context band pay 2× for input, so trimming context can cut costs twice: fewer tokens, and a lower rate per token. If your use case does not require high peak throughput, lower PTU reservations control costs without sacrificing reliability. Periodically reevaluate model choices, because Azure OpenAI’s model catalog evolves rapidly and newer, cheaper models regularly outperform older, more expensive ones.
Token consumption drives every line item on your Azure OpenAI bill. Both input (prompt) and output (completion) tokens count. Efficient prompt engineering reduces unnecessary tokens without sacrificing quality. Write prompts that are concise and directive, eliminate redundant context that the model does not need for each call, and instruct the model to limit response length when verbose outputs are not required.
Implement hard limits on output tokens to cap output length at the application level. Regularly audit production interactions to identify recurring inefficiencies: repeated system context that could be cached, overly generous output caps set during development that were never revisited, or lengthy examples that could be compressed.
Many production applications send structurally identical prompts repeatedly, such as FAQ lookups, template-based text generation, repeated classification of similar inputs, or code snippet retrieval. Implementing a caching layer to store and reuse model outputs for frequently repeated prompts eliminates the token cost of redundant API calls entirely.
Azure OpenAI’s prompt caching feature reduces per-token costs for cached input tokens (GPT-6.1 Sol cached input is $0.10 versus $2.00 standard, a 95% discount). On GPT-6 and GPT-5.6 models, factor in the cache-write meter at 1.25× input: caching pays off when a prefix is reused, not when it’s written once and never read again. Beyond this native feature, application-layer caching using Redis, a database, or an in-memory store for deterministic or near-deterministic queries delivers additional savings. Monitor cache hit rates regularly. Low hit rates are often a symptom of unnecessary prompt variability that can be normalized without impacting output quality.
The deployment type selected for Azure OpenAI resources directly affects per-token pricing. Global deployments are generally the most cost-effective option for workloads without data residency requirements. Data Zone and Regional deployments cost about 10% more per token for the models we checked, and Regional provisioned deployments have higher PTU minimums and a higher hourly rate ($2.00 vs $1.00 per PTU).
Throughput allocation requires similar care. Overestimating PTU needs means paying for idle reserved capacity, and underestimating leads to throttling and degraded user experience. Assess historical request patterns across time-of-day and day-of-week dimensions to size PTU commitments accurately, and consider using standard on-demand capacity to absorb unexpected demand spikes above your PTU baseline.
Azure Cost Management provides foundational tooling for tracking, analyzing, and forecasting Azure OpenAI expenditure. Set up custom cost alerts and budget thresholds to detect anomalies early and avoid billing surprises. Azure’s usage analytics can break down consumption by model, resource group, project, or department, giving enough visibility to identify broad trends and locate the highest-spend workloads.
Use these metrics in regular operating reviews to align resource allocation with business demand. Azure Cost Management’s forecasting features help finance teams plan quarterly and annual AI budgets. However, for organizations running AI workloads at scale across multiple models, teams, products, or clouds, native Azure tooling quickly reaches its limits in terms of cost attribution granularity, shared cost handling, and cross-cloud visibility.
Organizations scaling AI workloads beyond the basics need deeper visibility and precise cost attribution than Azure’s native tooling provides. Finout is an enterprise-grade FinOps platform that combines Azure billing data, Azure OpenAI usage metrics, and business context to give teams end-to-end financial management across complex, multi-cloud environments.