Repository navigation
fix(model_prices): add Bedrock flex prices, Anthropic web search flags, Gemini shutdown dates, OpenRouter alias drift, Mistral Large 4 context - #44910
Conversation
Co-authored-by: moyai-devin-berriai[bot] <336287033+moyai-devin-berriai[bot]@users.noreply.github.com> Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…e and Omni previews Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
|
…search flags and OpenRouter Claude Haiku 5.5 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…y_audit_20261006 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> # Conflicts: # litellm/model_prices_and_context_window_backup.json # model_prices_and_context_window.json
…ther DeepSeek V4 dates Absorbs #45320 (Bedrock flex prices, verified against the AWS Price List API) and the DeepSeek V4 date removals from #45307 (verified against Together docs and API) Co-authored-by: Roi <roi@roitev.com> Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…y_audit_20261006 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> # Conflicts: # litellm/model_prices_and_context_window_backup.json # model_prices_and_context_window.json
…aliases and batch pricing Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Summary
Rolling registry PR for the scheduled model-pricing audit. Data-only change to
model_prices_and_context_window.jsonand its byte-identical backup; generated schema unchanged. The Claude Haiku 5.5 flag fix, theopenrouter/anthropic/claude-haiku-5.5row and the Mistral Large 4 rows from earlier runs have since landed on main with the same values, so they drop out of this diffRun of 2026-10-08 evening
Mistral (direct):
max_input_tokensandmax_tokensonmistral/mistral-large-4andmistral/mistral-large-4-0go from 524288 to 1048576. The raw https://docs.mistral.ai/models/mistral-large-4 model card shows Context 1M, andGET https://api.mistral.ai/v1/modelsreturnsmax_context_length: 1048576for both ids.max_output_tokensis not set on these rows and was left unset.tests/unit/test_mistral_large_4_model_metadata.py(added in #44870 with the 524288 value) now expects 1048576OpenRouter (source for every row:
GET https://openrouter.ai/api/v1/models, OpenRouter's own price list for its routes)openrouter/mistralai/mistral-large-4-0max_input_tokensopenrouter/~anthropic/claude-sonnet-latestcache_read_input_token_costopenrouter/~openai/gpt-sol-latestcache_read_input_token_cost/_above_272k_tokensopenrouter/anthropic/claude-sonnet-5.5:batchcache_read_input_token_costopenrouter/~anthropic/claude-haiku-latest*_above_100k_tokenstiersopenrouter/anthropic/claude-haiku-5.5:batchThe
~anthropic/claude-haiku-latestalias drifted when OpenRouter repointed it at Haiku 5.5, and the API now returns the same prices and limits asopenrouter/anthropic/claude-haiku-5.5, which main already carries. The Sonnet 5.5 and Haiku 5.5 cache-read prices match the raw https://platform.claude.com/docs/en/about-claude/pricing rows ($0.10 and $0.01 per MTok)Checked this run and not changed:
codestral-2508, because/v1/modelssays 256k context but the raw https://docs.mistral.ai/models/model-cards/codestral-25-08 card says 128k. Anthropicclaude-sonnet-4-5-20250929, because/v1/modelsreports the 200k default while the registry carries the documented 1M beta window.gpt-audio-mini-2025-10-06, with no separate price row. OpenRouter open-weight routes, whose headline price follows the cheapest live provider and moves daily. Fireworksqwen3p8-2p4t-a95bstill has no price on https://fireworks.ai/pricing or its model page viar.jina.ai(context 262k only). BedrockListFoundationModelsprofile-only base ids (openai.gpt-6-astra,xai.grok-4.6,zai.glm-5.3and others) already haveus./global.rowsBedrock flex tier prices (absorbed from #45320 by @roytev, run of 2026-10-08)
input_cost_per_token_flex,output_cost_per_token_flexand, where the model has cache pricing,cache_read_input_token_cost_flexadded to 110 Bedrock rows across 43 models (225 fields). Applied at field level from the PR's own merge base, so no existing field changedSource: AWS Price List API offer file https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrock/current/index.json (13315 products, 3157
*-flexusage types). Every one of the 225 values was matched to the*-flexusage type for the same model and region (bedrock/<region>/...rows to that region,us./eu./apac.profiles to the regions whose standard price equals the row's standard price, unprefixed rows to any region), with the per-1K or per-1M unit converted to per token. Example:us.amazon.nova-2-lite-v1:0maps toUSE1/USE2/USW2-Nova2.0Lite-input-tokens-flex0.000165 per 1K, soinput_cost_per_token_flex1.65e-07, output 1.375e-06, cache read 4.125e-08Together AI (absorbed in part from #45307)
deprecation_date2026-09-29 removed fromtogether_ai/deepseek-ai/DeepSeek-V4-Flash-0731andtogether_ai/deepseek-ai/DeepSeek-V4-Pro-0813. The raw https://docs.together.ai/docs/deprecations.md table no longer lists either id (it lists onlydeepseek-ai/DeepSeek-V4-Proat 2026-08-27), andGET https://api.together.ai/v1/modelsstill serves both on 2026-10-08 with prices matching main, so the lapsed date would wrongly mark live models as retiredDropped from #45307: the
together_ai/Qwen/Qwen3.7-Maxprice change, because/v1/modelsreturns 2.50 / 7.50 / 0.50 cached per 1M while the raw https://www.together.ai/pricing row says $1.50 / $4.50 / $0.30 cached, so the official sources disagree. Thetogether/Tev1-4B-experimentalcache-price removal, because the pricing page publishes no cache column for it. The 19 absent-model warnings, because Together gives no removal date for themAnthropic (direct
litellm_provider: "anthropic")supports_web_search: trueadded to 11 rows that lacked it:claude-opus-5-5,claude-fable-5-1,claude-opus-5,claude-sonnet-5,claude-fable-5,claude-opus-4-8,claude-opus-4-7,claude-sonnet-4-6,claude-opus-4-6,claude-opus-4-5-20251101,claude-haiku-4-5-20251001. Source:GET https://api.anthropic.com/v1/modelsreturnscapabilities.server_tools.web_search.supported: truefor each id, and https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool says to read that Models API capability for per-model availabilityGemini API
Source for every row: https://ai.google.dev/gemini-api/docs/deprecations, raw HTML table rows cross-checked with
r.jina.aigemini/gemini-2.5-flash-imagegemini/gemini-omni-flash-previewgemini-2.5-flash-native-audio-preview-12-2025andgemini/copygemini-3.1-flash-live-previewandgemini/copygemini-2.5-flash-preview-ttsandgemini/copygemini/gemini-2.5-pro-preview-tts,gemini/gemini-3.1-flash-tts-previewChecked in earlier runs and not changed
OpenAI (
/v1/models): only fine-tune, dated search, deep-research and computer-use snapshots are absent; no published per-token row was confirmed for the dated aliasesGemini (
/v1beta/models):antigravity-preview-*is a managed agent andaqausesgenerateAnswer, so neither is a token-priced chat row. API token limits disagree with https://ai.google.dev/gemini-api/docs/models for image, Lyria, Veo, Deep Research and Live rows, so no limit was changedBedrock (
ListFoundationModels,ListInferenceProfiles): only provisioned-only Nova/Titan variants and legacy profiles are missingAzure: https://prices.azure.com/api/retail/prices matches
azure/gpt-5.6-lunaandazure/gpt-5.6-terra. Voyage: https://docs.voyageai.com/docs/pricing matches. Nebius: pricing page is behind a login, nothing checked. Fireworks:qwen3p8-2p4t-a95bhas no published per-token price. Perplexity: https://docs.perplexity.ai/docs/agent-api/models matches. Cohere: model page limits kept over the/v1/modelscontext length. Groq:allam-2-7bhas no price on https://groq.com/pricing. Mistral, xAI and DeepSeek: no missing rowsCapability pins:
ci_cd/cost_map_pins.jsondoes not exist on main, so no pinned flag could be comparedOpen registry PRs re-checked and not absorbed
kimi-k2.5moonshot/kimi-k2.5deepseek-v3tinkerprovider exists in LiteLLMembed-multilingual-light-v3.0xai/grok-4*keys no longer exist on mainus.xai.grok-4.3ListFoundationModelsqwen3.7-maxlitellm_provider: "anthropic"Superseded and closed: #45320, #45307
Checks:
LITELLM_LOCAL_MODEL_COST_MAP=True uv run --no-sync pytest -q tests/unit/test_model_prices_schema.py tests/unit/test_model_cost_aliases.py86 passed,check_files_match.pypassed,cost_map_guard.py --base origin/main --head HEAD --head-ref litellm_model_registry_audit_20261006passed, duplicate-key JSON parse and jsonschema validation passed, schema generator produced no diffLink to Devin session: https://app.devin.ai/sessions/74ee32335515402a92a8b25ff7cfdab0
Open in Devin Desktop: https://app.devin.ai/desktop/session/74ee32335515402a92a8b25ff7cfdab0?variant=devin