What is wrong
azure/gpt-5.6-terra and azure/gpt-5.6-luna, along with their azure/us/ and azure/eu/ data-zone siblings, currently hold OpenAI's direct post-cut prices. Azure never made that cut.
OpenAI reduced Terra by 20% and Luna by 80% on 2026-07-30. #35481 then applied the same reduction to the twelve Azure rows on 2026-08-05. Its stated basis was that "Azure global historically mirrors OpenAI global for these models"; the Azure link it cites is a Microsoft Foundry availability announcement, not a pricing page. @mihidumh raised exactly this objection in a comment on the merged PR the next morning ("Azure has not updated their pricing yet, this should be reverted for now"), and the change is still on main and litellm_internal_staging today.
Evidence
Azure's public retail prices API is the authoritative list-price source, and it needs no authentication:
curl -sS -G "https://prices.azure.com/api/retail/prices" \
--data-urlencode "currencyCode=USD" \
--data-urlencode "\$filter=contains(productName,'Azure OpenAI') and armRegionName eq 'eastus2'"
Every GPT-5.6 meter still carries effectiveStartDate of 2026-07-01 as a single version, so there is no cut applied and none future-dated. The values are identical in eastus2, westus3 and swedencentral, so this is not a regional anomaly. Global Standard rates, per 1M tokens:
| Model |
Field |
Azure meter |
Cost map today |
Error |
| terra |
input |
$2.50 |
$2.00 |
20% under |
| terra |
output |
$15.00 |
$12.00 |
20% under |
| terra |
cache read |
$0.25 |
$0.20 |
20% under |
| luna |
input |
$1.00 |
$0.20 |
5x under |
| luna |
output |
$6.00 |
$1.20 |
5x under |
| luna |
cache read |
$0.10 |
$0.02 |
5x under |
The relevant meter names are 5.6 terra ShortCo Inp Std Gl 1M Tokens and siblings, where Gl is Global and DZ is Data Zone at exactly 1.1x, Std is Standard and PP is Priority Processing at exactly 2x, and ShortCo/LongCo are the base and above-272k tiers. Those exact 1.1x and 2x ratios hold across the whole family, which is a good indication the rows are live rather than stale. Sol was not cut by either vendor and is correct as it stands.
Impact
Any Azure deployment of GPT-5.6 Terra or Luna under-reports spend by 20% and 80% respectively, silently, on every request. Luna is the worse case because the map bills a fifth of the real rate.
#35481 also added test_generic_cost_per_token_azure_gpt56, which asserts the incorrect Azure global and EU data-zone values. The wrong numbers are now test-locked, so a straight revert of the JSON alone will fail CI; the test needs correcting in the same change.
The same root cause is about to land again in #35125
#35125 is open and adds the missing cache_creation_input_token_cost fields to all twelve Azure GPT-5.6 entries. The underlying gap is real, since Azure does publish cache-write meters and the map currently bills those tokens at zero. The Sol and base-alias values in that PR match Azure exactly, but the Terra and Luna values are OpenAI-derived in the same way as #35481:
| Key |
Field |
Azure meter |
#35125 |
azure/gpt-5.6-terra |
cache write |
$3.125 |
$2.50 |
azure/gpt-5.6-terra |
cache write above 272k |
$6.25 |
$5.00 |
azure/gpt-5.6-luna |
cache write |
$1.25 |
$0.25 |
azure/gpt-5.6-luna |
cache write above 272k |
$2.50 |
$0.50 |
Separately, that PR derives the data-zone _priority cache-write fields with a 2.5x multiplier where Azure's Priority Processing meters are exactly 2x Standard, so azure/us/gpt-5.6 and azure/eu/gpt-5.6 come out at $17.1875 against a published $13.75, and the Sol rows likewise.
Suggested fix
Restore the Terra and Luna token prices on all twelve Azure rows to the meter values in the first table, and correct test_generic_cost_per_token_azure_gpt56 to match. For #35125, resource the Terra and Luna cache-write numbers from the Cd Wr meters and use 2x rather than 2.5x for the Priority Processing fields.
More generally, an OpenAI price change is not evidence about Azure. The retail prices API query above is cheap, unauthenticated and definitive, and it is worth making the standard check before porting any price movement onto an azure/ row.
I am happy to open the PR for either part if that helps.
What is wrong
azure/gpt-5.6-terraandazure/gpt-5.6-luna, along with theirazure/us/andazure/eu/data-zone siblings, currently hold OpenAI's direct post-cut prices. Azure never made that cut.OpenAI reduced Terra by 20% and Luna by 80% on 2026-07-30. #35481 then applied the same reduction to the twelve Azure rows on 2026-08-05. Its stated basis was that "Azure global historically mirrors OpenAI global for these models"; the Azure link it cites is a Microsoft Foundry availability announcement, not a pricing page. @mihidumh raised exactly this objection in a comment on the merged PR the next morning ("Azure has not updated their pricing yet, this should be reverted for now"), and the change is still on
mainandlitellm_internal_stagingtoday.Evidence
Azure's public retail prices API is the authoritative list-price source, and it needs no authentication:
Every GPT-5.6 meter still carries
effectiveStartDateof 2026-07-01 as a single version, so there is no cut applied and none future-dated. The values are identical ineastus2,westus3andswedencentral, so this is not a regional anomaly. Global Standard rates, per 1M tokens:The relevant meter names are
5.6 terra ShortCo Inp Std Gl 1M Tokensand siblings, whereGlis Global andDZis Data Zone at exactly 1.1x,Stdis Standard andPPis Priority Processing at exactly 2x, andShortCo/LongCoare the base and above-272k tiers. Those exact 1.1x and 2x ratios hold across the whole family, which is a good indication the rows are live rather than stale. Sol was not cut by either vendor and is correct as it stands.Impact
Any Azure deployment of GPT-5.6 Terra or Luna under-reports spend by 20% and 80% respectively, silently, on every request. Luna is the worse case because the map bills a fifth of the real rate.
#35481 also added
test_generic_cost_per_token_azure_gpt56, which asserts the incorrect Azure global and EU data-zone values. The wrong numbers are now test-locked, so a straight revert of the JSON alone will fail CI; the test needs correcting in the same change.The same root cause is about to land again in #35125
#35125 is open and adds the missing
cache_creation_input_token_costfields to all twelve Azure GPT-5.6 entries. The underlying gap is real, since Azure does publish cache-write meters and the map currently bills those tokens at zero. The Sol and base-alias values in that PR match Azure exactly, but the Terra and Luna values are OpenAI-derived in the same way as #35481:azure/gpt-5.6-terraazure/gpt-5.6-terraazure/gpt-5.6-lunaazure/gpt-5.6-lunaSeparately, that PR derives the data-zone
_prioritycache-write fields with a 2.5x multiplier where Azure's Priority Processing meters are exactly 2x Standard, soazure/us/gpt-5.6andazure/eu/gpt-5.6come out at $17.1875 against a published $13.75, and the Sol rows likewise.Suggested fix
Restore the Terra and Luna token prices on all twelve Azure rows to the meter values in the first table, and correct
test_generic_cost_per_token_azure_gpt56to match. For #35125, resource the Terra and Luna cache-write numbers from theCd Wrmeters and use 2x rather than 2.5x for the Priority Processing fields.More generally, an OpenAI price change is not evidence about Azure. The retail prices API query above is cheap, unauthenticated and definitive, and it is worth making the standard check before porting any price movement onto an
azure/row.I am happy to open the PR for either part if that helps.