Skip to main content
Watch: I Built an AI App Without Leaving Databricks

Cost levers - verified

How to cut your Azure OpenAI API bill

Prompt caching: automatic and explicit. Cache lifetime: 30 min (GPT-5.6+); earlier models 5 to 10 min, up to 24 hours. Batch: 50% off, 24h target, jobs not expired. Batch and caching stack: not stated. Service tiers: Flex (preview) (50% off), Priority (premium, multiplier not stated).

Read from learn.microsoft.com. Compare every provider's cost levers

Caching
Automatic and explicit
Cache hit saves
See docs
Batch
50% off
Service tiers
2

Prompt caching

Mode

Both: automatic caching by default, plus explicit breakpoints you control

Automatic (implicit) prompt caching on by default for supported models; explicit cache breakpoints on GPT-5.6+ Standard pay-as-you-go deployments (not PTU-M).

Cache lifetime

GPT-5.6+: prompt_cache_options.ttl 30m minimum (only value). Earlier models: in-memory typically cleared within 5 to 10 minutes of inactivity, always within one hour of last use; extended retention up to 24 hours on listed models.

Minimum prompt

1,024 tokens, first 1,024 identical

Cache write cost

Models before GPT-5.6: no extra charge to write. GPT-5.6 and later: cache writes can incur charges in addition to discounted reads.

Cache read cost

Discount on input token pricing for Standard deployments; up to 100% discount on input tokens for Provisioned deployments

Storage cost
Not stated
How to enable

On by default. On GPT-5.6+ use prompt_cache_options.mode and add prompt_cache_breakpoint to a content block; reuse a prompt_cache_key.

Request fragment
prompt_cache_breakpoint: { "mode": "explicit" }
From the docs
“For supported models, cache reads are billed at a discount on input token pricing for Standard deployment types and up to 100% discount on input tokens for Provisioned deployment types.”
learn.microsoft.com
“Models before the GPT-5.6 family don't charge extra to write to the cache. On GPT-5.6 models and later model families, cache writes can incur charges in addition to discounted cache reads.”
learn.microsoft.com
“The only supported value is `30m`, which is also the default. A cached prefix remains eligible for reuse for at least 30 minutes, but the service might retain it longer.”
learn.microsoft.com
“The system typically clears caches within 5 to 10 minutes of inactivity and always removes them within one hour of the cache's last use.”
learn.microsoft.com
“Extended prompt cache retention keeps cached prefixes active for longer, up to a maximum of 24 hours.”
learn.microsoft.com
“A minimum of 1,024 tokens in length.”
learn.microsoft.com
“The first 1,024 tokens in the prompt must be identical.”
learn.microsoft.com
“Add `prompt_cache_breakpoint: { "mode": "explicit" }` to a supported prompt content block.”
learn.microsoft.com
“Prompt caching is enabled by default for supported models.”
learn.microsoft.com

Batch API

Discount

50% off

50% less cost than Global Standard

Window

24-hour target turnaround (completion_window must be 24h); jobs that take longer are not expired and continue until finished or cancelled

Limits

Max 100,000 requests per file; max input file 200 MB (1 GB with bring-your-own-storage); 500 input files without expiration (10,000 with expiration set); queue bounded by enqueued token quota

Endpoint

Global Batch deployment + Batch API (JSONL lines target /v1/responses or chat completions)

Stacks with caching

Not stated: the provider's pages do not say

From the docs
“It processes asynchronous groups of requests with separate quota and offers a 24-hour target turnaround at 50% less cost than global standard.”
learn.microsoft.com
“The service aims to process batch requests within 24 hours, but it doesn't expire jobs that take longer.”
learn.microsoft.com
“Currently, you must set this value to 24h. Completion within 24 hours isn't guaranteed, and a job can continue until it finishes or you cancel it.”
learn.microsoft.com
“| Maximum requests per file | 100,000 |”
learn.microsoft.com
“| Maximum input file size | 200 MB |”
learn.microsoft.com
“There's no fixed limit on the number of requests you can batch, however, it will depend on your enqueued token quota.”
learn.microsoft.com

Service tiers

Flex trades speed or availability for a lower price; Priority and Fast cost more for lower latency or reserved capacity.

Flex

Flex processing (preview)

Set with service_tier: flex

Price effect

50% discount vs Standard token rates; cached-token discounts also apply

Trade-off

Variable latency, HTTP 429 when capacity unavailable (not billed), no latency or service SLA, no automatic fallback; Global Standard deployments only

From the docs
“Flex processing (preview) provides inference at a 50% discount compared with Standard processing for workloads that can tolerate slower response times and occasional resource unavailability.”
learn.microsoft.com
“Flex processing has no latency SLA or service SLA.”
learn.microsoft.com
“A Flex request rejected because processing capacity is unavailable isn't billed.”
learn.microsoft.com

Priority

Priority processing

Set with service_tier: priority (deployment-level or request-level)

Price effect

Premium over standard (see Azure pricing page; multiplier not stated in the doc)

Trade-off

Consistent low latency, pay-as-you-go; may be re-routed to standard (billed at standard) on ramp-rate limits (>50% TPM increase in <15 minutes), peak periods, or long-context requests

From the docs
“Priority processing provides low-latency performance with the flexibility of pay-as-you-go.”
learn.microsoft.com
“Currently, the ramp rate limit is defined as increasing traffic by more than 50% tokens per minute in less than 15 minutes.”
learn.microsoft.com
“The service bills requests processed by the standard service tier at standard rates.”
learn.microsoft.com

Other discounts and surcharges

  • Provisioned throughput (PTU) deployments

    “up to 100% discount on input tokens for Provisioned deployment types”
    learn.microsoft.com

Azure OpenAI per-model prices

This site does not track per-model Azure OpenAI prices. Use the sources below for the current rate card.

Research notes

Flex availability table lists gpt-6.1-sol, gpt-6-sol, gpt-6-luna, gpt-6-astra, gpt-5.6-sol, gpt-5.6-luna and gpt-5.6-terra (Global Standard only). Priority multiplier is on the Azure pricing page, not in the doc. Claude on Foundry follows Anthropic pricing (fast mode available on Azure-hosted Opus 5.5 deployments per Anthropic docs).

FAQ

Does Azure OpenAI cache prompts automatically?

Both: automatic caching by default, plus explicit breakpoints you control. Automatic (implicit) prompt caching on by default for supported models; explicit cache breakpoints on GPT-5.6+ Standard pay-as-you-go deployments (not PTU-M). How to enable: On by default. On GPT-5.6+ use prompt_cache_options.mode and add prompt_cache_breakpoint to a content block; reuse a prompt_cache_key.

How much does a cache hit cost on Azure OpenAI?

Discount on input token pricing for Standard deployments; up to 100% discount on input tokens for Provisioned deployments. This site has no per-model Azure OpenAI prices to compute it from.

Does Azure OpenAI have a batch API discount?

50% less cost than Global Standard. Window: 24-hour target turnaround (completion_window must be 24h); jobs that take longer are not expired and continue until finished or cancelled. Stacks with caching: not stated: the provider's pages do not say.

What service tiers does Azure OpenAI offer?

Flex (preview): 50% discount vs Standard token rates; cached-token discounts also apply. Priority: Premium over standard (see Azure pricing page; multiplier not stated in the doc).

Sources

Last verified from Azure OpenAI in Microsoft Foundry's own pages below. Quotes are verbatim; each was matched against the live page.

Newsletter

Know when a provider changes its prices

One email per week. New model releases, pricing changes and what they mean for what you build.