Skip to content

chore(prices): sync Azure prices: 20 models, 20 new [20 with gaps] - #42594

Closed
berriai-litellm-provider-info-sync[bot] wants to merge 4 commits into
mainfrom
litellm-providers/price-sync-azure
Closed

berriai-litellm-provider-info-sync[bot] wants to merge 4 commits into
mainfrom
litellm-providers/price-sync-azure

Conversation

@berriai-litellm-provider-info-sync

@berriai-litellm-provider-info-sync berriai-litellm-provider-info-sync Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

TLDR

Problem this solves:

  • Azure lists 20 models litellm has no prices for
  • Cost tracking for those models has no source values

How it solves it:

  • Adds 20 Azure entries read from Azure's pricing page
  • Only model_prices_and_context_window.json and its copies change

User Flow

This is a catalog data change only, so there is no user flow to walk through beyond the new price entries

Relevant issues

Affected release

Linear ticket

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have added meaningful tests
  • The handful of test files covering my change pass locally, e.g. uv run pytest tests/test_litellm/<your_test_file>.py -v. Leave the suites (make test-unit-*, make test-unit) to CI: it finishes in ~15 minutes where a laptop takes an hour or more
  • My PR passes all required CI/CD checks (e.g., lint, schema.d.ts sync check, etc.)
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have received a Greptile Confidence Score of at least 4/5 before requesting a maintainer review (Greptile reviews automatically once the PR is opened; only comment @greptileai to re-request a review after pushing changes)

Delays in PR merge?

If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).

Screenshots / Proof of Fix

Not applicable to an automated price sync; the per-model values and their source are in the appended sync report

Type

New Feature

Caveats (if any)

Medium

  • All 20 entries are new; nothing existing is repriced
  • Every new entry is missing at least one required field
    • Token limits and capability flags need filling by hand
  • Many capability flags were inferred from sibling entries, not the page

Low

  • Three rows skipped: o1, eu/o1, us/o1 had no readable input price
  • 34 priced rows have no litellm key or field, so they were left alone
  • 271 rows without a serverless token price were not read

QA runbook

Not applicable; this PR does not touch tests or e2e

Final Attestation

  • The tests check the right things, including the edge cases, and regressions in the respective real-world customer use-cases are not possible after this PR
Sync report

Updates 20 models (20 new), each read from its provider's own published prices.

Azure

Updates 20 models (20 new) from the provider's pricing page (page 7c69301eee64).

⚠️ New models written with required fields missing. litellm has no documented or inferable value for these; fill them by hand: azure_ai/deepseek-r1: max_output_tokens, max_tokens, supports_function_calling, supports_response_schema, supports_prompt_caching, cache_read_input_token_cost; azure_ai/deepseek-v3-0324: max_output_tokens, max_tokens, supports_tool_choice, supports_prompt_caching, cache_read_input_token_cost; azure_ai/deepseek-v3.1: max_input_tokens, max_output_tokens, max_tokens, supports_response_schema, cache_read_input_token_cost; azure_ai/grok-3: max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, supports_reasoning, cache_read_input_token_cost; azure_ai/grok-3-mini: supports_vision, supports_prompt_caching, cache_read_input_token_cost; azure_ai/grok-4-fast-non-reasoning: max_input_tokens, max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, cache_read_input_token_cost; azure_ai/grok-4-fast-reasoning: max_input_tokens, max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, cache_read_input_token_cost; azure_ai/MAI-Image-2e: max_input_tokens; azure/eu/gpt-5.1-chat: max_input_tokens, max_output_tokens, max_tokens, supports_reasoning; azure/eu/gpt-5.2-chat: max_output_tokens, max_tokens; azure/eu/gpt-5.3-chat: supports_reasoning; azure/eu/o1-preview: supports_function_calling, supports_tool_choice, supports_response_schema; azure/gpt-5-chat: max_input_tokens, max_output_tokens, max_tokens, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching, supports_reasoning; azure/gpt-5.1-chat: max_input_tokens, max_output_tokens, max_tokens, supports_reasoning; azure/gpt-5.2-chat: max_input_tokens, max_output_tokens, max_tokens; azure/gpt-5.3-chat: supports_tool_choice, supports_prompt_caching, supports_reasoning; azure/us/gpt-5.1-chat: max_input_tokens, max_output_tokens, max_tokens, supports_reasoning; azure/us/gpt-5.2-chat: max_input_tokens, max_output_tokens, max_tokens; azure/us/gpt-5.3-chat: max_input_tokens, supports_reasoning; azure/us/o1-preview: supports_function_calling, supports_tool_choice, supports_response_schema

Changes

  • azure_ai/deepseek-r1 (new): input_cost_per_token $1.35/1M, max_input_tokens $128000000000/1M, output_cost_per_token $5.4/1M, supports_reasoning true, supports_tool_choice true, supports_vision false (inferred by agent: max_input_tokens (agent: DeepSeek-R1 is a 128K-context model, matching sibling azure_ai/deepseek-v3 entry's 128000 max_input_tokens.), supports_reasoning (agent: DeepSeek-R1 is a reasoning model; azure_ai deepseek-v3.2/v4 reasoning siblings set supports_reasoning true.), supports_tool_choice (agent: All azure_ai DeepSeek entries (v3, v3.2, v4) set supports_tool_choice true.), supports_vision (agent: DeepSeek-R1 is text-only; all azure_ai Phi/DeepSeek text siblings set supports_vision false.); missing: max_output_tokens, max_tokens, supports_function_calling, supports_response_schema, supports_prompt_caching, cache_read_input_token_cost)
  • azure_ai/deepseek-v3-0324 (new): input_cost_per_token $1.14/1M, max_input_tokens $163840000000/1M, output_cost_per_token $4.56/1M, supports_function_calling true, supports_reasoning false, supports_response_schema true, supports_vision false (inferred by agent: max_input_tokens (agent: novita/deepseek/deepseek-v3-0324 and fireworks deepseek-v3-0324 both list 163840 input tokens.), supports_function_calling (agent: novita/deepseek/deepseek-v3-0324 and lambda_ai/deepseek-v3-0324 both set supports_function_calling true.), supports_reasoning (agent: No v3-0324 entry (novita, lambda_ai, fireworks) sets supports_reasoning; V3-0324 is a non-reasoning model.), supports_response_schema (agent: novita/deepseek/deepseek-v3-0324 and fireworks deepseek-v3-0324 both set supports_response_schema true.), supports_vision (agent: DeepSeek V3-0324 is a text-only model; no DeepSeek entry sets supports_vision true.); missing: max_output_tokens, max_tokens, supports_tool_choice, supports_prompt_caching, cache_read_input_token_cost)
  • azure_ai/deepseek-v3.1 (new): input_cost_per_token $1.23/1M, output_cost_per_token $4.94/1M, supports_function_calling true, supports_prompt_caching true, supports_reasoning true, supports_tool_choice true, supports_vision false (inferred by agent: supports_function_calling (agent: azure_ai/deepseek-v3.2, v3.2-speciale, v4-pro and v4-flash all set supports_function_calling true.), supports_prompt_caching (agent: azure_ai/deepseek-v3.2 and v4 entries set supports_prompt_caching true (DeepSeek context caching).), supports_reasoning (agent: DeepSeek V3.1 is a hybrid thinking model; siblings v3.2 and v4 set supports_reasoning true.), supports_tool_choice (agent: All azure_ai deepseek entries (v3, v3.2, v4) set supports_tool_choice true.), supports_vision (agent: No azure_ai deepseek sibling declares vision; DeepSeek V3.1 is text-only.); missing: max_input_tokens, max_output_tokens, max_tokens, supports_response_schema, cache_read_input_token_cost)
  • azure_ai/grok-3 (new): input_cost_per_token $3/1M, max_input_tokens $131072000000/1M, output_cost_per_token $15/1M, supports_function_calling true, supports_response_schema true, supports_tool_choice true (inferred by agent: max_input_tokens (agent: Grok-3's known 131072-token context, matching sibling azure_ai/grok-4 and azure_ai/grok-code-fast-1 entries.), supports_function_calling (agent: All azure_ai grok entries (grok-4, grok-4.3, grok-code-fast-1) set supports_function_calling true.), supports_response_schema (agent: All azure_ai grok entries (grok-4, grok-4.3, grok-code-fast-1) set supports_response_schema true.), supports_tool_choice (agent: All azure_ai grok entries (grok-4, grok-4.1-fast, grok-code-fast-1) set supports_tool_choice true.); missing: max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, supports_reasoning, cache_read_input_token_cost)
  • azure_ai/grok-3-mini (new): input_cost_per_token $0.25/1M, max_input_tokens $131072000000/1M, max_output_tokens $131072000000/1M, max_tokens $131072000000/1M, output_cost_per_token $1.27/1M, supports_function_calling true, supports_reasoning true, supports_response_schema true, supports_tool_choice true (inferred by agent: max_input_tokens (agent: vercel_ai_gateway/xai/grok-3-mini lists 131072 max_input_tokens), max_output_tokens (agent: vercel_ai_gateway/xai/grok-3-mini lists 131072 max_output_tokens), max_tokens (agent: vercel_ai_gateway/xai/grok-3-mini lists 131072 max_tokens), supports_function_calling (agent: vercel_ai_gateway/xai/grok-3-mini and all azure_ai grok entries set supports_function_calling true), supports_reasoning (agent: Grok 3 Mini is xAI's reasoning model exposing reasoning_effort, matching reasoning-capable azure_ai grok siblings), supports_response_schema (agent: All azure_ai grok entries (grok-4, grok-4-1-fast, grok-code-fast-1) set supports_response_schema true), supports_tool_choice (agent: vercel_ai_gateway/xai/grok-3-mini and azure_ai grok siblings set supports_tool_choice true); missing: supports_vision, supports_prompt_caching, cache_read_input_token_cost)
  • azure_ai/grok-4-fast-non-reasoning (new): input_cost_per_token $0.2/1M, output_cost_per_token $0.5/1M, supports_function_calling true, supports_reasoning false, supports_response_schema true, supports_tool_choice true (inferred by agent: supports_function_calling (agent: All azure_ai grok entries (grok-4, grok-4-1-fast-non-reasoning, grok-4-20-non-reasoning) set supports_function_calling true.), supports_reasoning (agent: Non-reasoning grok siblings (grok-4-1-fast-non-reasoning, grok-4-20-non-reasoning) omit supports_reasoning.), supports_response_schema (agent: All azure_ai grok entries set supports_response_schema true.), supports_tool_choice (agent: All azure_ai grok entries set supports_tool_choice true.); missing: max_input_tokens, max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, cache_read_input_token_cost)
  • azure_ai/grok-4-fast-reasoning (new): input_cost_per_token $0.2/1M, output_cost_per_token $0.5/1M, supports_function_calling true, supports_reasoning true, supports_response_schema true, supports_tool_choice true (inferred by agent: supports_function_calling (agent: All azure_ai Grok entries set supports_function_calling true.), supports_reasoning (agent: Named a reasoning variant, matching azure_ai/grok-4-1-fast-reasoning and grok-4-20-reasoning which set supports_reasoning true.), supports_response_schema (agent: All azure_ai Grok entries set supports_response_schema true.), supports_tool_choice (agent: All azure_ai Grok entries set supports_tool_choice true.); missing: max_input_tokens, max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, cache_read_input_token_cost)
  • azure_ai/MAI-Image-2e (new): input_cost_per_token $5/1M (missing: max_input_tokens)
  • azure/eu/gpt-5.1-chat (new): cache_read_input_token_cost $0.1375/1M, input_cost_per_token $1.375/1M, output_cost_per_token $11/1M, supports_function_calling true, supports_prompt_caching true, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: supports_function_calling (agent: All azure gpt-5.1 and gpt-5.1-codex entries set supports_function_calling true.), supports_prompt_caching (agent: All azure/openai gpt-5.1 entries set supports_prompt_caching true.), supports_response_schema (agent: All azure/openai gpt-5.1 entries set supports_response_schema true.), supports_tool_choice (agent: All azure gpt-5.1 and gpt-5.1-codex entries set supports_tool_choice true.), supports_vision (agent: All azure/openai gpt-5.1 entries set supports_vision true.); missing: max_input_tokens, max_output_tokens, max_tokens, supports_reasoning)
  • azure/eu/gpt-5.2-chat (new): cache_read_input_token_cost $0.1925/1M, input_cost_per_token $1.925/1M, max_input_tokens $128000000000/1M, output_cost_per_token $15.4/1M, supports_function_calling true, supports_prompt_caching true, supports_reasoning false, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: max_input_tokens (agent: openrouter/openai/gpt-5.2-chat lists 128000 max_input_tokens for the same chat variant.), supports_function_calling (agent: openrouter/openai/gpt-5.2-chat and all azure/gpt-5.2 siblings set supports_function_calling true.), supports_prompt_caching (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_prompt_caching true.), supports_reasoning (agent: openrouter/openai/gpt-5.2-chat sets supports_reasoning false for the non-reasoning chat variant.), supports_response_schema (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_response_schema true.), supports_tool_choice (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_tool_choice true.), supports_vision (agent: openrouter/openai/gpt-5.2-chat and all gpt-5.2 siblings set supports_vision true.); missing: max_output_tokens, max_tokens)
  • azure/eu/gpt-5.3-chat (new): cache_read_input_token_cost $0.1925/1M, input_cost_per_token $1.925/1M, max_input_tokens $128000000000/1M, max_output_tokens $64000000000/1M, max_tokens $64000000000/1M, output_cost_per_token $15.4/1M, supports_function_calling true, supports_prompt_caching true, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: max_input_tokens (agent: chatgpt/gpt-5.3-chat-latest, same gpt-5.3-chat family on another provider, lists 128000 input tokens.), max_output_tokens (agent: chatgpt/gpt-5.3-chat-latest lists 64000 max output tokens.), max_tokens (agent: chatgpt/gpt-5.3-chat-latest lists max_tokens 64000.), supports_function_calling (agent: chatgpt/gpt-5.3-chat-latest and all azure gpt-5.x entries set supports_function_calling true.), supports_prompt_caching (agent: All azure gpt-5.x entries set supports_prompt_caching true, consistent with the given cache_read_input_token_cost.), supports_response_schema (agent: chatgpt/gpt-5.3-chat-latest and azure gpt-5.x siblings set supports_response_schema true.), supports_tool_choice (agent: All azure gpt-5.x siblings (gpt-5.3-codex, gpt-5.4, gpt-5.5, gpt-5.6) set supports_tool_choice true.), supports_vision (agent: chatgpt/gpt-5.3-chat-latest and azure gpt-5.3-codex set supports_vision true.); missing: supports_reasoning)
  • azure/eu/o1-preview (new): cache_read_input_token_cost $8.25/1M, input_cost_per_token $16.5/1M, max_input_tokens $128000000000/1M, max_output_tokens $32768000000/1M, max_tokens $32768000000/1M, output_cost_per_token $66/1M, supports_prompt_caching true, supports_reasoning true, supports_vision false (inferred by agent: max_input_tokens (agent: o1-preview is well known to have a 128k context window, matching azure/o1-mini siblings' 128000 max_input_tokens.), max_output_tokens (agent: o1-preview's documented max completion tokens is 32,768 (lower than o1-mini's 65,536).), max_tokens (agent: Sibling azure o1 entries set max_tokens equal to max_output_tokens; o1-preview's is 32,768.), supports_prompt_caching (agent: All azure o1/o3/o4 sibling entries set supports_prompt_caching true.), supports_reasoning (agent: o1-preview is an OpenAI reasoning model, like azure/o1-mini and azure/o1 which set supports_reasoning true.), supports_vision (agent: o1-preview is text-only, like azure/o1-mini and azure/o3-mini which set supports_vision false.); missing: supports_function_calling, supports_tool_choice, supports_response_schema)
  • azure/gpt-5-chat (new): cache_read_input_token_cost $0.125/1M, input_cost_per_token $1.25/1M, output_cost_per_token $10/1M (missing: max_input_tokens, max_output_tokens, max_tokens, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching, supports_reasoning)
  • azure/gpt-5.1-chat (new): cache_read_input_token_cost $0.125/1M, input_cost_per_token $1.25/1M, output_cost_per_token $10/1M, supports_function_calling true, supports_prompt_caching true, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: supports_function_calling (agent: All gpt-5.1 entries (openai gpt-5.1, azure/gpt-5.1-2025-11-13, openrouter gpt-5.1) set supports_function_calling true.), supports_prompt_caching (agent: azure/gpt-5.1-2025-11-13 and openrouter/openai/gpt-5.1 both set supports_prompt_caching true.), supports_response_schema (agent: All gpt-5.1 family entries across openai, azure and openrouter set supports_response_schema true.), supports_tool_choice (agent: azure/gpt-5.1-2025-11-13 and openrouter/openai/gpt-5.1 both set supports_tool_choice true.), supports_vision (agent: All gpt-5.1 family entries across openai, azure and openrouter set supports_vision true.); missing: max_input_tokens, max_output_tokens, max_tokens, supports_reasoning)
  • azure/gpt-5.2-chat (new): cache_read_input_token_cost $0.175/1M, input_cost_per_token $1.75/1M, output_cost_per_token $14/1M, supports_function_calling true, supports_prompt_caching true, supports_reasoning false, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: supports_function_calling (agent: openrouter/openai/gpt-5.2-chat and all azure/gpt-5.2* entries set supports_function_calling true.), supports_prompt_caching (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_prompt_caching true, consistent with the given cache read price.), supports_reasoning (agent: openrouter/openai/gpt-5.2-chat, the same chat variant on another provider, sets supports_reasoning false.), supports_response_schema (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_response_schema true.), supports_tool_choice (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_tool_choice true.), supports_vision (agent: openrouter/openai/gpt-5.2-chat and all azure/gpt-5.2 entries set supports_vision true.); missing: max_input_tokens, max_output_tokens, max_tokens)
  • azure/gpt-5.3-chat (new): cache_read_input_token_cost $0.175/1M, input_cost_per_token $1.75/1M, max_input_tokens $128000000000/1M, max_output_tokens $64000000000/1M, max_tokens $64000000000/1M, output_cost_per_token $14/1M, supports_function_calling true, supports_response_schema true, supports_vision true (inferred by agent: max_input_tokens (agent: chatgpt/gpt-5.3-chat-latest, the same chat model on another provider, lists 128000 input tokens.), max_output_tokens (agent: chatgpt/gpt-5.3-chat-latest lists max_output_tokens 64000.), max_tokens (agent: chatgpt/gpt-5.3-chat-latest lists max_tokens 64000.), supports_function_calling (agent: chatgpt/gpt-5.3-chat-latest and all azure gpt-5.x entries set supports_function_calling true.), supports_response_schema (agent: chatgpt/gpt-5.3-chat-latest and all azure gpt-5.x entries set supports_response_schema true.), supports_vision (agent: chatgpt/gpt-5.3-chat-latest and all azure gpt-5.x entries set supports_vision true.); missing: supports_tool_choice, supports_prompt_caching, supports_reasoning)
  • azure/us/gpt-5.1-chat (new): cache_read_input_token_cost $0.1375/1M, input_cost_per_token $1.375/1M, output_cost_per_token $11/1M, supports_function_calling true, supports_prompt_caching true, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: supports_function_calling (agent: All azure/openai gpt-5.1 and gpt-5.1-codex entries set supports_function_calling true.), supports_prompt_caching (agent: azure/gpt-5.1-2025-11-13 and openrouter gpt-5.1 entries set supports_prompt_caching true.), supports_response_schema (agent: Every gpt-5.1 family entry sets supports_response_schema true.), supports_tool_choice (agent: azure/gpt-5.1-2025-11-13 and all gpt-5.1 siblings set supports_tool_choice true.), supports_vision (agent: Every gpt-5.1 family entry across azure, openai and openrouter sets supports_vision true.); missing: max_input_tokens, max_output_tokens, max_tokens, supports_reasoning)
  • azure/us/gpt-5.2-chat (new): cache_read_input_token_cost $0.1925/1M, input_cost_per_token $1.925/1M, output_cost_per_token $15.4/1M, supports_function_calling true, supports_prompt_caching true, supports_reasoning false, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: supports_function_calling (agent: openrouter/openai/gpt-5.2-chat and all azure gpt-5.2 entries set supports_function_calling true.), supports_prompt_caching (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_prompt_caching true, and a cache read price is given.), supports_reasoning (agent: openrouter/openai/gpt-5.2-chat, the same chat variant family, sets supports_reasoning false.), supports_response_schema (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_response_schema true.), supports_tool_choice (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_tool_choice true.), supports_vision (agent: openrouter/openai/gpt-5.2-chat and azure/gpt-5.2 set supports_vision true.); missing: max_input_tokens, max_output_tokens, max_tokens)
  • azure/us/gpt-5.3-chat (new): cache_read_input_token_cost $0.1925/1M, input_cost_per_token $1.925/1M, max_output_tokens $64000000000/1M, max_tokens $64000000000/1M, output_cost_per_token $15.4/1M, supports_function_calling true, supports_prompt_caching true, supports_response_schema true, supports_tool_choice true, supports_vision true (inferred by agent: max_output_tokens (agent: chatgpt/gpt-5.3-chat-latest lists max_output_tokens 64000 for the same gpt-5.3-chat model.), max_tokens (agent: chatgpt/gpt-5.3-chat-latest lists max_tokens 64000 for the same gpt-5.3-chat model.), supports_function_calling (agent: chatgpt/gpt-5.3-chat-latest and all gpt-5.3/5.4/5.6 Azure siblings set supports_function_calling true.), supports_prompt_caching (agent: A cache_read_input_token_cost is given and all Azure gpt-5.x siblings set supports_prompt_caching true.), supports_response_schema (agent: chatgpt/gpt-5.3-chat-latest and all Azure gpt-5.x siblings set supports_response_schema true.), supports_tool_choice (agent: azure/gpt-5.3-codex and openrouter gpt-5.3-codex set supports_tool_choice true.), supports_vision (agent: chatgpt/gpt-5.3-chat-latest and all Azure gpt-5.x siblings set supports_vision true.); missing: max_input_tokens, supports_reasoning)
  • azure/us/o1-preview (new): cache_read_input_token_cost $8.25/1M, input_cost_per_token $16.5/1M, max_input_tokens $128000000000/1M, max_output_tokens $32768000000/1M, max_tokens $32768000000/1M, output_cost_per_token $66/1M, supports_prompt_caching true, supports_reasoning true, supports_vision false (inferred by agent: max_input_tokens (agent: o1-preview is well known to have a 128k context window, consistent with sibling azure o1-mini entries (128000).), max_output_tokens (agent: o1-preview's documented max completion tokens is 32768 (lower than o1-mini's 65536).), max_tokens (agent: Matches max_output_tokens convention used in azure o1 entries where max_tokens equals output limit.), supports_prompt_caching (agent: All azure o1/o1-mini entries in catalog set supports_prompt_caching true, and a cache read price is given.), supports_reasoning (agent: azure/o1-mini and azure/o1 entries set supports_reasoning true; o1-preview is a reasoning model.), supports_vision (agent: azure/us/o1-mini-2024-09-12 and azure/o1-mini set supports_vision false; o1-preview is text-only.); missing: supports_function_calling, supports_tool_choice, supports_response_schema)

Skipped by the parser (3)

These rows price models litellm has keys for, but the parser could not read them. A human needs to check them against the page.

  • eu/o1: emitted model has no input_cost_per_token
  • o1: emitted model has no input_cost_per_token
  • us/o1: emitted model has no input_cost_per_token
No litellm key or field (34)

Rows the page prices that litellm has no key or field for. Nothing to apply; listed so the omission is deliberate, not missed.

  • 5.2 chat 0210: no map entry; example meter 5.2 chat 0210 inp Gl 1M Tokens; no map entry; example meter 5.2 chat 0210 inp Dz 1M Tokens; no map entry; example meter 5.2 chat 0210 opt Gl 1M Tokens; no map entry; example meter 5.2 chat 0210 cd inp Gl 1M Tokens; no map entry; example meter 5.2 chat 0210 cd inp Dz 1M Tokens; no map entry; example meter 5.2 chat 0210 opt Dz 1M Tokens
  • Code 1.1 Flash: no map entry; example meter Code 1.1 Flash Output Glbl 1M Tokens; no map entry; example meter Code 1.1 Flash Input glbl 1M Tokens; no map entry; example meter Code 1.1 Flash Cd Input glbl 1M Tokens
  • Command A Plus: no map entry; example meter Command A Plus Inp DZ 1M Tokens; no map entry; example meter Command A Plus Outp Glbl 1M Tokens; no map entry; example meter Command A Plus Inp Glbl 1M Tokens; no map entry; example meter Command A Plus Outp DZ 1M Tokens
  • FW Deepseek v4 Flash: no map entry; example meter FW Deepseek-v4-Flash In DZ Tokens; no map entry; example meter FW Deepseek-v4-Flash Cd In DZ Tokens; no map entry; example meter FW Deepseek-v4-Flash Opt DZ Tokens
  • FW DS V4.1 Flash: no map entry; example meter FW DS-V4.1-Flash Gl Inp Tokens; no map entry; example meter FW DS-V4.1-Flash Gl Cd Inp Tokens; no map entry; example meter FW DS-V4.1-Flash Gl Opt Tokens
  • FW GLM 5.3: no map entry; example meter FW GLM 5.3 Cd Inp Tokens; no map entry; example meter FW GLM 5.3 DZ Cd Inp Tokens; no map entry; example meter FW GLM 5.3 Opt Tokens; no map entry; example meter FW GLM 5.3 DZ Inp Tokens; no map entry; example meter FW GLM 5.3 Inp Tokens; no map entry; example meter FW GLM 5.3 DZ Opt Tokens
  • FW GLM 5.3 Flash: no map entry; example meter FW GLM-5.3-Flash Gl Inp Tokens; no map entry; example meter FW GLM-5.3-Flash Gl Opt Tokens; no map entry; example meter FW GLM-5.3-Flash Gl Cd Inp Tokens
  • FW GPT OSS 120B: no map entry; example meter FW GPT OSS 120B Inp DZ Tokens; no map entry; example meter FW GPT OSS 120B Outp DZ Tokens; no map entry; example meter FW GPT OSS 120B Cache Inp DZ Tokens
  • gpt 4o mini0718 BatchOutp: no map entry; example meter gpt 4o mini0718 BatchOutp DataZone Tokens
  • gpt4o realtimePrvwAudInp: no map entry; example meter gpt4o realtimePrvwAudInp DataZone Tokens
  • gpt4o realtimePrvwAudOutp: no map entry; example meter gpt4o realtimePrvwAudOutp DataZone Tokens
  • gpt4o realtimePrvwTxtInp: no map entry; example meter gpt4o realtimePrvwTxtInp DataZone Tokens
  • gpt4o realtimePrvwTxtOutp: no map entry; example meter gpt4o realtimePrvwTxtOutp DataZone Tokens
  • gpt4omini aud1217: no map entry; example meter gpt4omini-aud1217 Inp glbl Tokens; no map entry; example meter gpt4omini-aud1217 Outp regnl Tokens; no map entry; example meter gpt4omini-aud1217 Inp regnl Tokens; no map entry; example meter gpt4omini-aud1217 Outp glbl Tokens; no map entry; example meter gpt4omini-aud1217 Inp DZone Tokens; no map entry; example meter gpt4omini-aud1217 Outp DZone Tokens
  • gpt4omini aud1217 txt: no map entry; example meter gpt4omini-aud1217-txt Inp DZone Tokens; no map entry; example meter gpt4omini-aud1217-txt Outp DZone Tokens; no map entry; example meter gpt4omini-aud1217-txt Outp regnl Tokens; no map entry; example meter gpt4omini-aud1217-txt Inp glbl Tokens; no map entry; example meter gpt4omini-aud1217-txt Outp glbl Tokens; no map entry; example meter gpt4omini-aud1217-txt Inp regnl Tokens
  • K2 Thinking: no map entry; example meter K2 Thinking Outp glbl Tokens; no map entry; example meter K2 Thinking Inp glbl Tokens; no map entry; example meter K2 Thinking Outp DZ Tokens; no map entry; example meter K2 Thinking Inp DZ Tokens
  • MAI Cyber 1 Flash: no map entry; example meter MAI-Cyber-1-Flash Inp glbl 1M Tokens; no map entry; example meter MAI-Cyber-1-Flash Cd Inp glbl 1M Tokens; no map entry; example meter MAI-Cyber-1-Flash Opt glbl 1M Tokens
  • MM3.5: no map entry; example meter MM3.5 Inp glbl Tokens; no map entry; example meter MM3.5 Outp glbl Tokens; no map entry; example meter MM3.5 Inp DZ Tokens; no map entry; example meter MM3.5 Outp DZ Tokens
  • Model 6: no map entry; example meter Model 6 Outp glbl Tokens; no map entry; example meter Model 6 Outp DZ Tokens
  • Model 7: no map entry; example meter Model 7 Outp glbl Tokens; no map entry; example meter Model 7 Inp DZ Tokens; no map entry; example meter Model 7 Inp glbl Tokens; no map entry; example meter Model 7 Outp DZ Tokens
  • o1 pro: no map entry; example meter o1-pro Batch Inp Data Zone Tokens; no map entry; example meter o1-pro Batch Inp glbl Tokens; no map entry; example meter o1-pro Inp Data Zone Tokens; no map entry; example meter o1-pro Batch Outp glbl Tokens; no map entry; example meter o1-pro Batch Outp Data Zone Tokens; no map entry; example meter o1-pro Outp glbl Tokens; no map entry; example meter o1-pro Outp Data Zone Tokens; no map entry; example meter o1-pro Outp regnl Tokens; no map entry; example meter o1-pro Inp regnl Tokens; no map entry; example meter o1-pro Inp glbl Tokens
  • Phi 4 reasoning plus: no map entry; example meter Phi-4-reasoning-plus-input Tokens; no map entry; example meter Phi-4-reasoning-plus-output Tokens
  • gpt-4o: retirement date differs by version
  • gpt-4o-mini-transcribe: retirement date differs by version
  • gpt-4o-mini-tts: retirement date differs by version
  • gpt-5-chat: retirement date differs by version
  • gpt-5.2-chat: retirement date differs by version
  • gpt-audio-mini: retirement date differs by version
  • gpt-chat-latest: retirement date differs by version
  • gpt-realtime-mini-2025-10-06: conflicting retirement dates
  • gpt-realtime-mini-2025-12-15: conflicting retirement dates
  • gpt-realtime-mini: retirement date differs by version
  • sora-2: retirement date differs by version
  • azure_ai/model-router: retirement date differs by version

271 rows the source lists without a serverless token price (dedicated or unpriced models) were not read.

Opened by the litellm-providers price sync. Every price is read from the provider's own published source and gated before it is applied; the audit trail for each value is in the portal's sync history.


Note

Low Risk
Catalog-only JSON updates for cost tracking; incorrect token prices or limits could skew spend estimates but do not change auth or request handling.

Overview
Extends LiteLLM’s cost and context catalog with new Azure / Azure AI model keys in model_prices_and_context_window.json and its backup copy—no changes to runtime routing or existing model prices.

The bulk of the diff adds ~20 automated sync rows from Azure’s Foundry Models retail API: DeepSeek, Grok, regional GPT-5.x chat and o1-preview variants (azure/, azure/eu/, azure/us/), plus azure_ai/MAI-Image-2e (embedding). A follow-up session adds four partner Foundry entries with fuller metadata: FW-DeepSeek-V4.1-Flash, FW-GLM-5.3, FW-GLM-5.3-Flash, and Cohere-command-a-plus-05-2026.

Entries include per-token input/output (and cache-read where known), context limits, capability flags, deprecation dates when documented, and a source URL. Several sync rows still omit fields or infer capabilities from sibling models, as noted in the PR sync report.

Reviewed by Cursor Bugbot for commit 2704168. Bugbot is set up for automated code reviews on this repo. Configure here.

Session additions

A path 2 session added four Azure partner entries verified against the Foundry Models retail feed and smoke tested through litellm with a temporary eastus2 deployment: azure_ai/FW-DeepSeek-V4.1-Flash, azure_ai/FW-GLM-5.3, azure_ai/FW-GLM-5.3-Flash and azure_ai/Cohere-command-a-plus-05-2026. Prices come from https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption' (meters FW DS-V4.1-Flash Gl *, FW GLM 5.3 *, FW GLM-5.3-Flash Gl *, Command A Plus * Glbl 1M Tokens). Context lengths for the Fireworks models come from https://api.fireworks.ai/inference/v1/models, the Cohere limits and retirement date from https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure and https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule

Link to Devin session: https://app.devin.ai/sessions/4f42b9c89b2a4aeba41004b26502ff02
Open in Devin Desktop: https://app.devin.ai/desktop/session/4f42b9c89b2a4aeba41004b26502ff02?variant=devin

@CLAassistant

CLAassistant commented Sep 22, 2026 •

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
0 out of 2 committers have signed the CLA.

❌ kerry-berri
❌ berriai-litellm-provider-info-sync[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

"litellm_provider": "azure_ai",
"mode": "embedding",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MAI-Image-2e marked as embedding

High Severity

azure_ai/MAI-Image-2e is an image generation model but is stored as mode embedding with only input_cost_per_token. Sibling azure_ai/MAI-Image-2.5 entries use image_generation plus output image pricing. Image calls therefore miss output billing and can log near-zero spend.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0e79584. Configure here.

@greptile-apps

greptile-apps Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

This PR is not safe to merge until MAI-Image-2e is classified correctly and the repository's required feature coverage is added

Findings

  1. P1 Incorrect MAI Image Mode ▶
  2. P2 Required Tests Are Missing ▶

Summary

Adds twenty Azure and Azure AI model records to both pricing registries, covering token prices, regional variants, capabilities, and inferred limits. One image model is assigned the wrong mode, and the new registry behavior lacks required invariant coverage

Reviews (1) · Last reviewed commit: "chore(prices): sync Azure prices: 20 mod..."

"azure_ai/MAI-Image-2e": {
"input_cost_per_token": 5e-06,
"litellm_provider": "azure_ai",
"mode": "embedding",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Incorrect MAI Image Mode

When model-info consumers inspect MAI-Image-2e, this entry labels an image-generation model as embedding, so endpoint filtering and model listings classify it incorrectly

Comment on lines +71886 to +72133
},
"azure_ai/deepseek-r1": {
"input_cost_per_token": 1.35e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"output_cost_per_token": 5.4e-06,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": false
},
"azure_ai/deepseek-v3-0324": {
"input_cost_per_token": 1.14e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"output_cost_per_token": 4.56e-06,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_reasoning": false,
"supports_response_schema": true,
"supports_vision": false
},
"azure_ai/deepseek-v3.1": {
"input_cost_per_token": 1.23e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"output_cost_per_token": 4.94e-06,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": false
},
"azure_ai/grok-3": {
"input_cost_per_token": 3e-06,
"litellm_provider": "azure_ai",
"max_input_tokens": 131072,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_tool_choice": true
},
"azure_ai/grok-3-mini": {
"input_cost_per_token": 2.5e-07,
"litellm_provider": "azure_ai",
"max_input_tokens": 131072,
"max_output_tokens": 131072,
"max_tokens": 131072,
"mode": "chat",
"output_cost_per_token": 1.27e-06,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true
},
"azure_ai/grok-4-fast-non-reasoning": {
"input_cost_per_token": 2e-07,
"litellm_provider": "azure_ai",
"mode": "chat",
"output_cost_per_token": 5e-07,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_reasoning": false,
"supports_response_schema": true,
"supports_tool_choice": true
},
"azure_ai/grok-4-fast-reasoning": {
"input_cost_per_token": 2e-07,
"litellm_provider": "azure_ai",
"mode": "chat",
"output_cost_per_token": 5e-07,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true
},
"azure_ai/MAI-Image-2e": {
"input_cost_per_token": 5e-06,
"litellm_provider": "azure_ai",
"mode": "embedding",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure/eu/gpt-5.1-chat": {
"cache_read_input_token_cost": 1.375e-07,
"input_cost_per_token": 1.375e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1.1e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/eu/gpt-5.2-chat": {
"cache_read_input_token_cost": 1.925e-07,
"input_cost_per_token": 1.925e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1.54e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": false,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/eu/gpt-5.3-chat": {
"cache_read_input_token_cost": 1.925e-07,
"input_cost_per_token": 1.925e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1.54e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/eu/o1-preview": {
"cache_read_input_token_cost": 8.25e-06,
"input_cost_per_token": 1.65e-05,
"litellm_provider": "azure",
"max_input_tokens": 128000,
"max_output_tokens": 32768,
"max_tokens": 32768,
"mode": "chat",
"output_cost_per_token": 6.6e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_vision": false
},
"azure/gpt-5-chat": {
"cache_read_input_token_cost": 1.25e-07,
"input_cost_per_token": 1.25e-06,
"litellm_provider": "azure",
"max_input_tokens": 128000,
"max_output_tokens": 16384,
"max_tokens": 16384,
"mode": "chat",
"output_cost_per_token": 1e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_vision": true
},
"azure/gpt-5.1-chat": {
"cache_read_input_token_cost": 1.25e-07,
"input_cost_per_token": 1.25e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/gpt-5.2-chat": {
"cache_read_input_token_cost": 1.75e-07,
"input_cost_per_token": 1.75e-06,
"litellm_provider": "azure",
"max_input_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": false,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/gpt-5.3-chat": {
"cache_read_input_token_cost": 1.75e-07,
"input_cost_per_token": 1.75e-06,
"litellm_provider": "azure",
"max_input_tokens": 128000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 1.4e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
},
"azure/us/gpt-5.1-chat": {
"cache_read_input_token_cost": 1.375e-07,
"input_cost_per_token": 1.375e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1.1e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/us/gpt-5.2-chat": {
"cache_read_input_token_cost": 1.925e-07,
"input_cost_per_token": 1.925e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1.54e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_prompt_caching": true,
"supports_reasoning": false,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/us/gpt-5.3-chat": {
"cache_read_input_token_cost": 1.925e-07,
"input_cost_per_token": 1.925e-06,
"litellm_provider": "azure",
"mode": "chat",
"output_cost_per_token": 1.54e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"azure/us/o1-preview": {
"cache_read_input_token_cost": 8.25e-06,
"input_cost_per_token": 1.65e-05,
"litellm_provider": "azure",
"max_input_tokens": 128000,
"max_output_tokens": 32768,
"max_tokens": 32768,
"mode": "chat",
"output_cost_per_token": 6.6e-05,
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'",
"supports_prompt_caching": true,
"supports_vision": false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Required Tests Are Missing

This feature adds twenty pricing entries without meaningful regression tests, violating the repository requirement. Add invariant coverage for registry loading and cost lookup before merging

Context Used: CLAUDE.md (source)

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@codspeed

codspeed Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 31 untouched benchmarks


Comparing litellm-providers/price-sync-azure (2704168) with main (5dfaa8d)

Open in CodSpeed

@codecov

codecov Bot commented Sep 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@berriai-litellm-provider-info-sync berriai-litellm-provider-info-sync Bot changed the title chore(prices): sync Azure prices: 20 models, 20 new [20 with gaps] chore(prices): sync Azure prices: 20 models, 20 new [19 with gaps] Sep 22, 2026
@berriai-litellm-provider-info-sync
berriai-litellm-provider-info-sync Bot force-pushed the litellm-providers/price-sync-azure branch from 0e79584 to 6b4568e Compare September 22, 2026 22:03
@devin-ai-integration

Copy link
Copy Markdown
Contributor

Fourteen new keys (gpt-5.1-chat, gpt-5.3-chat, MAI-Image-2e, deepseek-r1, grok-3 and siblings) are past retirement on https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/model-lifecycle-retirement, so they should not be created

@berriai-litellm-provider-info-sync berriai-litellm-provider-info-sync Bot changed the title chore(prices): sync Azure prices: 20 models, 20 new [19 with gaps] chore(prices): sync Azure prices: 20 models, 20 new [18 with gaps] Sep 22, 2026
@berriai-litellm-provider-info-sync
berriai-litellm-provider-info-sync Bot force-pushed the litellm-providers/price-sync-azure branch from 6b4568e to 869f021 Compare September 22, 2026 22:32
@berriai-litellm-provider-info-sync berriai-litellm-provider-info-sync Bot changed the title chore(prices): sync Azure prices: 20 models, 20 new [18 with gaps] chore(prices): sync Azure prices: 20 models, 20 new [20 with gaps] Sep 22, 2026
@berriai-litellm-provider-info-sync
berriai-litellm-provider-info-sync Bot force-pushed the litellm-providers/price-sync-azure branch 3 times, most recently from 3abc20a to fc0700b Compare September 23, 2026 00:03
@berriai-litellm-provider-info-sync berriai-litellm-provider-info-sync Bot changed the title chore(prices): sync Azure prices: 20 models, 20 new [20 with gaps] chore(prices): sync Azure prices: 20 models, 20 new [19 with gaps] Sep 23, 2026
@berriai-litellm-provider-info-sync
berriai-litellm-provider-info-sync Bot force-pushed the litellm-providers/price-sync-azure branch from fc0700b to 6a98d61 Compare September 23, 2026 00:32
@devin-ai-integration

Copy link
Copy Markdown
Contributor

azure_ai/MAI-Image-2e is written as mode embedding with only input 5e-6; the Azure retail API also prices Image 2e output tokens at 0.0195 per 1K

azure_ai/deepseek-r1: input_cost_per_token, output_cost_per_token, max_input_tokens, supports_tool_choice, supports_vision, supports_reasoning
azure_ai/deepseek-v3-0324: input_cost_per_token, output_cost_per_token, max_input_tokens, supports_function_calling, supports_vision, supports_response_schema, supports_reasoning
azure_ai/deepseek-v3.1: input_cost_per_token, output_cost_per_token, supports_function_calling, supports_tool_choice, supports_vision, supports_prompt_caching, supports_reasoning
azure_ai/grok-3: input_cost_per_token, output_cost_per_token, max_input_tokens, supports_function_calling, supports_tool_choice, supports_response_schema
azure_ai/grok-3-mini: input_cost_per_token, output_cost_per_token, max_input_tokens, max_output_tokens, max_tokens, supports_function_calling, supports_tool_choice, supports_response_schema, supports_reasoning
azure_ai/grok-4-fast-non-reasoning: input_cost_per_token, output_cost_per_token, supports_function_calling, supports_tool_choice, supports_response_schema, supports_reasoning
azure_ai/grok-4-fast-reasoning: input_cost_per_token, output_cost_per_token, supports_function_calling, supports_tool_choice, supports_response_schema, supports_reasoning
azure_ai/MAI-Image-2e: input_cost_per_token
azure/eu/gpt-5.1-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching
azure/eu/gpt-5.2-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, max_input_tokens, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching, supports_reasoning
azure/eu/gpt-5.3-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, max_input_tokens, max_output_tokens, max_tokens, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching
azure/eu/o1-preview: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, max_input_tokens, max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, supports_reasoning
azure/gpt-5-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost
azure/gpt-5.1-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching
azure/gpt-5.2-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching, supports_reasoning
azure/gpt-5.3-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, max_input_tokens, max_output_tokens, max_tokens, supports_function_calling, supports_vision, supports_response_schema
azure/us/gpt-5.1-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching
azure/us/gpt-5.2-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching, supports_reasoning
azure/us/gpt-5.3-chat: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, max_output_tokens, max_tokens, supports_function_calling, supports_tool_choice, supports_vision, supports_response_schema, supports_prompt_caching
azure/us/o1-preview: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost, max_input_tokens, max_output_tokens, max_tokens, supports_vision, supports_prompt_caching, supports_reasoning
@berriai-litellm-provider-info-sync berriai-litellm-provider-info-sync Bot changed the title chore(prices): sync Azure prices: 20 models, 20 new [19 with gaps] chore(prices): sync Azure prices: 20 models, 20 new [20 with gaps] Sep 23, 2026
@berriai-litellm-provider-info-sync
berriai-litellm-provider-info-sync Bot force-pushed the litellm-providers/price-sync-azure branch from 6a98d61 to 4a3ce04 Compare September 23, 2026 01:03
azure_ai/deepseek-r1: deprecation_date
azure_ai/deepseek-v3-0324: deprecation_date
azure_ai/deepseek-v3.1: deprecation_date
azure_ai/grok-3: deprecation_date
azure_ai/grok-3-mini: deprecation_date
azure_ai/grok-4-fast-non-reasoning: deprecation_date
azure_ai/grok-4-fast-reasoning: deprecation_date
azure_ai/MAI-Image-2e: deprecation_date
azure/eu/gpt-5.1-chat: deprecation_date
azure/eu/gpt-5.3-chat: deprecation_date
azure/gpt-5.1-chat: deprecation_date
azure/gpt-5.3-chat: deprecation_date
azure/us/gpt-5.1-chat: deprecation_date
azure/us/gpt-5.3-chat: deprecation_date

Price-Sync: litellm-providers
… Cohere Command A Plus

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

Source row for the new entries: FW GLM 5.3 Inp Tokens retailPrice 0.00175 per 1K, Command A Plus Inp Glbl 1M Tokens 0.8

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

There are 3 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c256ecd. Configure here.

"supports_prompt_caching": true,
"supports_tool_choice": true,
"supports_vision": true
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DeepSeek Flash omits reasoning flag

Medium Severity

azure_ai/FW-DeepSeek-V4.1-Flash omits supports_reasoning while setting other inferred flags. This model is a reasoning model; sibling Azure Fireworks DeepSeek rows and the OpenRouter/Fireworks V4.1 Flash entries all set supports_reasoning true. LiteLLM then treats the model as non-reasoning, so reasoning params and cost handling stay off.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c256ecd. Configure here.

"input_cost_per_token": 3.75e-07,
"litellm_provider": "azure_ai",
"max_input_tokens": 1048576,
"max_tokens": 1048576,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DeepSeek Flash output limit inflated

Medium Severity

azure_ai/FW-DeepSeek-V4.1-Flash sets max_tokens to 1048576 and omits max_output_tokens. get_max_tokens then reports a 1M output cap. OpenRouter and Fireworks list this model near 384k–393k output, and sibling azure_ai/FW-DeepSeek-V4-Pro uses 384000. Callers can send completions far above the provider limit.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c256ecd. Configure here.

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Superseded by the rolling registry PR #42951, which carries these values re-verified against the official sources with a co-author credit. Thanks!

@berriai-litellm-provider-info-sync
berriai-litellm-provider-info-sync Bot deleted the litellm-providers/price-sync-azure branch September 25, 2026 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant