Skip to content

fix(pricing): rolling model registry update: Gemini lyria-3.5, Voyage multilingual-2, ChatGPT GPT-5.5/5.6, Vertex Haiku 4.5 output, Bedrock Mantle gpt-oss rates, Scaleway deprecation dates - #31884

Open
devin-ai-integration[bot] wants to merge 7 commits into
litellm_internal_stagingfrom
litellm_add-claude-sonnet-5-pricing

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

TLDR

Problem this solves:

  • Several registry entries carry values that disagree with the provider's official docs
  • Gemini lyria-3.5, Voyage voyage-multilingual-2 and the ChatGPT GPT-5.5 and GPT-5.6 models have no registry entry
  • Six Scaleway models have announced end of life dates but no deprecation_date
  • Open registry PRs are spread across many branches instead of one rolling PR

How it solves it:

  • Adds gemini/lyria-3.5 at $0.08 per song from the Gemini pricing page
  • Adds voyage/voyage-multilingual-2 at $0.12 per 1M tokens from the Voyage pricing page
  • Adds chatgpt/gpt-5.5, chatgpt/gpt-5.6-sol, chatgpt/gpt-5.6-luna, chatgpt/gpt-5.6-terra (absorbed from feat(chatgpt): register GPT-5.5 and GPT-5.6 models #39812)
  • Vertex Claude Haiku 4.5: max_output_tokens 8192 -> 64000 on both aliases
  • Bedrock Mantle gpt-oss-20b input 7.5e-8 -> 7e-8; safeguard-20b input 7e-8, output 2e-7
  • Adds deprecation_date to six Scaleway models from Scaleway's EOL table
  • Merges litellm_internal_staging into this rolling registry PR; every value below was re-read from raw provider HTML or the provider's model API

User Flow

Before: a developer routing ChatGPT subscription traffic to GPT-5.6 through the proxy has the call skip the Responses bridge, and a Lyria 3.5 song is logged at $0

  1. They add chatgpt/gpt-5.6-sol to the proxy config and send POST https://litellm-domain/v1/chat/completions with "model": "gpt-5.6-sol"
  2. The registry has no chatgpt/gpt-5.6-sol entry, so the model resolves as plain chat mode and the request is sent as a chat completions call the ChatGPT backend does not serve
  3. They send GET https://litellm-domain/model/info and gemini/lyria-3.5 has no max_input_tokens or output_cost_per_image
  4. They generate a song with gemini/lyria-3.5 and https://litellm-domain/ui/?page=logs shows the request at $0.00

After: the same requests resolve against the registry

  1. They add chatgpt/gpt-5.6-sol to the proxy config and send POST https://litellm-domain/v1/chat/completions with "model": "gpt-5.6-sol"
  2. The registry marks the model as responses mode with the chat completions endpoint supported, so the request is bridged and a normal chat completion comes back
  3. They send GET https://litellm-domain/model/info and gemini/lyria-3.5 reports max_input_tokens: 1048576, max_output_tokens: 65536 and output_cost_per_image: 0.08
  4. They generate a song with gemini/lyria-3.5 and https://litellm-domain/ui/?page=logs shows the request at $0.08

Relevant issues

Supports #26900

Linear ticket

Sources for every changed value

Gemini lyria-3.5: the raw pricing page at https://ai.google.dev/gemini-api/docs/pricing lists "Lyria 3.5 lyria-3.5 ... Lyria 3.5 (Full Song) ... $0.08 per song" (paid tier, free tier not available). Limits come from the official Gemini models API (GET https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5): inputTokenLimit 1048576, outputTokenLimit 65536. Flags and the output_cost_per_image convention mirror the existing gemini/lyria-3.5-pro-preview entry, which the same pricing page now lists under "legacy music generation models"

Voyage voyage-multilingual-2: https://docs.voyageai.com/docs/pricing lists voyage-multilingual-2 at $0.12 per 1M tokens; https://docs.voyageai.com/docs/embeddings lists context length 32,000 and embedding dimension 1024

ChatGPT GPT-5.5 and GPT-5.6 (chatgpt/gpt-5.5, chatgpt/gpt-5.6-sol, chatgpt/gpt-5.6-luna, chatgpt/gpt-5.6-terra): absorbed from #39812, including its test file. The OpenAI model pages at https://platform.openai.com/docs/models/gpt-5.5, https://platform.openai.com/docs/models/gpt-5.6-sol, https://platform.openai.com/docs/models/gpt-5.6-luna and https://platform.openai.com/docs/models/gpt-5.6-terra each state "1,050,000 context window" and "128,000 max output tokens", and gpt-5.5, gpt-5.6-sol, gpt-5.6-luna, gpt-5.6-terra are all live IDs in GET https://api.openai.com/v1/models. The chatgpt/ entries follow the same shape as the existing chatgpt/gpt-5.4 (no per token price, responses mode, chat completions bridged), and each new entry carries the model page as source. The previous revision of this PR dropped #39812 for lack of an official page; the model pages above settle that

Vertex Claude Haiku 4.5 (vertex_ai/claude-haiku-4-5, vertex_ai/claude-haiku-4-5@20251001): the model card at https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude/haiku-4-5 lists maximum output tokens 64,000. Absorbed from #32197

Bedrock Mantle gpt-oss (bedrock_mantle/openai.gpt-oss-20b, bedrock_mantle/openai.gpt-oss-safeguard-20b): the AWS price list offer file for us-east-1 at https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrock/current/us-east-1/index.json lists GPT OSS 20B at $0.00007 per 1K input and $0.0003 per 1K output, and GPT OSS Safeguard 20B at $0.00007 input and $0.0002 output. The same rows appear on https://aws.amazon.com/bedrock/pricing/. Absorbed from #39866, including its test expectation update

Scaleway deprecation dates: the deprecation table at https://www.scaleway.com/en/docs/generative-apis/reference-content/supported-models/ gives EOL dates of August 1, 2026 for gemma-3-27b-it, devstral-2-123b-instruct-2512 and voxtral-small-24b-2507, August 9, 2026 for holo2-30b-a3b, and October 1, 2026 for pixtral-12b-2409 and qwen3-coder-30b-a3b-instruct. deprecation_date uses the EOL (shutdown) date, matching how the Gemini and Anthropic entries use the shutdown or retirement date

Audit results for the 2026-09-05 run: checked and left alone

OpenAI: every ID in GET /v1/models (156) has a registry entry once text-completion-openai and azure keys are counted (babbage-002, davinci-002, gpt-3.5-turbo-instruct, computer-use-preview live under those providers). The OpenAI model pages say GPT-5.6 Sol, Luna and Terra have a 1,050,000 context window while the gpt-5.6* OpenAI and Azure entries carry max_input_tokens: 922000; that cap was set on purpose in 6bb677d (1,050,000 context minus 128,000 output), so it is left as is and the same 1,050,000 figure used by chatgpt/gpt-5.4 and chatgpt/gpt-5.5 on the base is kept for the new chatgpt/ entries

Anthropic: all 11 IDs from GET /v1/models are present

Gemini: the models API also lists aqa, antigravity-preview-05-2026, deep-research-preview-04-2026 and deep-research-max-preview-04-2026 (the last two already exist under gemini/deep-research-* keys). aqa and antigravity have no row on the pricing page, so nothing was added

Fireworks: accounts/fireworks/models/qwen3p8-2p4t-a95b and accounts/fireworks/routers/glm-5p3-fast are in the model list but https://docs.fireworks.ai/serverless/pricing has no row for either exact ID (it prices "Qwen 3.8 Max" and "GLM 5.3 Flash", which already exist as qwen3p8-max and glm-5p3-flash), so nothing was added

Together: the model API lists 232 IDs without a registry entry, almost all image, video, embedding without published token pricing, or legacy models. Context length differences reported for Qwen3-Coder-480B-A35B-Instruct-FP8, DeepSeek-V3.1, GLM-4.5-Air-FP8, GLM-4.6 and GLM-4.7 were not changed: Together's model API context_length and the registry max_input_tokens represent different limits (total context vs input) and the entries already cite Together's pricing page. BAAI/bge-base-en-v1.5 output cost stays 0 (embeddings have no output tokens)

Groq: the model table at https://console.groq.com/docs/models lists groq/compound, groq/compound-mini (131,072 context, 8,192 output, billed per underlying model) and minimaxai/minimax-m2.7 (contact sales). None has a per token price, so nothing was added

Mistral: GET /v1/models reports codestral-2508 at max_context_length 256000 while the model card at https://docs.mistral.ai/models/model-cards/codestral-25-08 says 128k with $0.3 input and $0.9 output per 1M, matching the registry; the registry follows the model card. mistral-medium-2604 and mistral-vibe-cli-* appear in the API with no model card or pricing row, so they were not added

Cohere: https://docs.cohere.com/docs/models lists command-a-plus-05-2026, command-a-reasoning-08-2025, command-a-translate-08-2025, command-a-vision-07-2025, rerank-v4.0-pro, rerank-v4.0-fast, parse-v5.0 and the transcribe models without registry entries. The raw https://cohere.com/pricing page carries no per token or per search price for any of them (the rendered pricing table is client side; the static page only prices Command, Command-light, Command R 03-2024, Command R+ and Aya Expanse), so none were added. command-r-03-2024 and command-r-plus-04-2024 are marked deprecated Sept 15, 2025 and are out of scope for this automation

xAI, DeepSeek, Perplexity, Nebius, Azure, Bedrock: the provider model lists matched existing entries; no value differences found against the official pages

Voyage: all current voyage-4*, voyage-3*, voyage-code-*, voyage-context-* and rerank-* prices match https://docs.voyageai.com/docs/pricing. voyage-4-nano is listed in the embeddings table but has no pricing row (open weights), so it was not added. voyage-01, voyage-02, voyage-lite-01-instruct, voyage-large-2-instruct, rerank-1, rerank-lite-1 are legacy models and were left out

OpenRouter: openrouter/z-ai/glm-5.3-flash already exists on the base with the live https://openrouter.ai/api/v1/models values (prompt 7.5e-8, completion 2.5e-7, cache read 1.5e-8, context 1,310,720, max output 131,072)

Audit results from earlier runs: already correct on the base branch

These were re-read from raw provider HTML and already match, so nothing changed: Anthropic retirement dates at https://docs.anthropic.com/en/docs/about-claude/model-deprecations (Claude 3 Haiku, Claude 3 Opus, Haiku 4.5, Sonnet 4.5, Sonnet 4.6, Sonnet 5, Opus 4.5 through 4.8, Opus 5, Fable 5 and 5.1); Gemini shutdown dates at https://ai.google.dev/gemini-api/docs/deprecations (2.0 Flash and Flash Lite June 1, 2026, 2.5 Flash Image October 2, 2026, 3 Pro Image Preview and 3.1 Flash Image Preview June 25, 2026, gemini-embedding-001 May 14, 2028, 2.5 GA models no date announced); Vertex retirement dates at https://cloud.google.com/vertex-ai/generative-ai/docs/learn/model-versions; OpenAI shutdown dates at https://platform.openai.com/docs/deprecations (gpt-5.3-chat-latest, gpt-5.2-codex, gpt-5.1-codex-max, gpt-5.1-codex-mini); Bedrock lifecycle dates at https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html; Bedrock Mantle Grok 4.3 and 4.6 pricing; Scaleway glm-5.2 and deepseek-v4-flash-0731 pricing and limits; Z.ai GLM-5.2 pricing at https://docs.z.ai/guides/overview/pricing across the existing routes

Other open registry PRs

Closed as superseded by this PR in the 2026-09-05 run: #39812 (ChatGPT GPT-5.5 and GPT-5.6 entries and tests, absorbed with the OpenAI model pages as source), #39919 (OpenRouter z-ai/glm-5.3-flash: the entry already exists on litellm_internal_staging with the live OpenRouter API prices, 7.5e-8 input and 2.5e-7 output, where the PR proposed 1.5e-7 and 5e-7)

Closed as superseded by this PR in earlier runs: #32197 (Vertex Haiku 4.5 output limit, absorbed), #39866 (Bedrock Mantle gpt-oss rates, absorbed), #38201 (Scaleway: its additions glm-5.2 and deepseek-v4-flash-0731 are already on the base, and the models it removes now carry deprecation_date from Scaleway's EOL table instead of being deleted), #33176 and #33618 (undated azure/gpt-audio-mini and azure/gpt-realtime-mini aliases already exist on the base with the base's realtime mode kept), #32754 (the gpt-image-2 output_cost_per_token removal is already on the base)

Dropped as not verifiable from an official source: #32035 (SambaNova DeepSeek-V3.2 128k; https://docs.sambanova.ai/cloud/docs/get-started/supported-models lists 32k), #32117 (Cohere embed-multilingual-light-v3.0 1e-7; the Cohere pricing page does not list a per token price for that model), #30019 (gpt-5.4-mini 400k input; the OpenAI model page and the registry history disagree, so left at 272k pending a decision), #26380 (DeepSeek V4 pricing that disagrees with https://api-docs.deepseek.com/quick_start/pricing, which lists $0.44 input and $1.32 output per 1M for V4 Flash and $1.32 and $3.96 for V4 Pro at peak, matching the base), #31460 (Fireworks GLM 5.2 Fast: pricing is on https://fireworks.ai/pricing but no official model page exists for the fast router), #32842 (openai/z-ai/glm-5.2 route: pricing confirmed but the provider route is not documented), #32291 (ChatGPT gpt-5.4-mini: no official page confirms the chatgpt/ limits), #31155 (GitHub Copilot gpt-5.5 and gpt-5.4-mini: no official Copilot model list confirms them), #29920 (qwen3.7-max: raw Alibaba pricing not confirmed), #38516 (Volcengine Seed 2.1: the Volcengine page did not yield the proposed values), #37972 (94 EmpirioLabs entries: no official source located), #27064 (azure_ai/gpt-image-2: image pricing not confirmed), #31806 (DeepSeek and OpenRouter cache costs across 11 entries: cache read rates for the older DeepSeek models are not on the current DeepSeek pricing page)

Left open because they are code or behavior changes that only incidentally touch the JSON: #33920 (supports_web_search on Anthropic models; Anthropic says web search is unavailable on Bedrock, so alias scope needs a code review), #32455 and #39115 (bedrock_converse_supports_strict_tools, a behavior flag tied to transformation code), #39764 (GovCloud pricing plus whitelist and test changes, authored by a maintainer), #39414 (Vertex DeepSeek OCR pricing bundled with OCR code and tests, authored by a maintainer), #31018 (DeepSeek V4 output limit 393216 -> 384000 inside a 55 file code change; DeepSeek writes "384K", which does not settle 384,000 vs 393,216), #31963 and #38189 (large code PRs whose registry edits are already on the base), #39835 and #39845 (cost map guard and sync bot CI changes)

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

Run on 2026-09-05. Before is the merge base with litellm_internal_staging, After is this PR's tip. Same config, same request, only the checked out commit differs. The registry change adds data only; the only code change is the absorbed test file, so the surfaces to exercise are the registry lookups that /model/info returns.

Before (8771979)

Proxy boot (single process, LITELLM_LOCAL_MODEL_COST_MAP=true, no database, config listing the six new deployments with dummy keys):

env -u DATABASE_URL PYTHONPATH=/home/ubuntu/qa_worktrees/before LITELLM_LOCAL_MODEL_COST_MAP=true CHATGPT_TOKEN_DIR=/home/ubuntu/audit/chatgpt_dummy_tokens /home/ubuntu/repos/litellm/.venv/bin/python litellm/proxy/proxy_cli.py --config /home/ubuntu/audit/proof_config.yaml --host 127.0.0.1 --port 4101 --detailed_debug > /home/ubuntu/audit/proxy_before.log 2>&1

GET /model/info for the six new deployments

printf 'model_name\tlitellm_params.model\tmax_input_tokens\tmax_output_tokens\tinput_cost_per_token\toutput_cost_per_token\toutput_cost_per_image\toutput_vector_size\tmode\n'; curl -sS -H 'Authorization: Bearer sk-qa-1234' http://127.0.0.1:4101/model/info | jq -r '.data[] | [.model_name, .litellm_params.model, (.model_info.max_input_tokens // ""), (.model_info.max_output_tokens // ""), (.model_info.input_cost_per_token // ""), (.model_info.output_cost_per_token // ""), (.model_info.output_cost_per_image // ""), (.model_info.output_vector_size // ""), (.model_info.mode // "")] | @tsv'
model_name	litellm_params.model	max_input_tokens	max_output_tokens	input_cost_per_token	output_cost_per_token	output_cost_per_image	output_vector_size	mode
qa-gemini	gemini/lyria-3.5			0	0			
qa-voyage	voyage/voyage-multilingual-2			0	0			
qa-chatgpt-55	chatgpt/gpt-5.5			0	0			
qa-chatgpt-56-sol	chatgpt/gpt-5.6-sol			0	0			
qa-chatgpt-56-luna	chatgpt/gpt-5.6-luna			0	0			
qa-chatgpt-56-terra	chatgpt/gpt-5.6-terra			0	0

Every registry-derived column is empty: the proxy knows nothing about these six models beyond what the config says.

After (b4e7776)

Proxy boot (single process, LITELLM_LOCAL_MODEL_COST_MAP=true, no database, config listing the six new deployments with dummy keys):

env -u DATABASE_URL PYTHONPATH=/home/ubuntu/qa_worktrees/after LITELLM_LOCAL_MODEL_COST_MAP=true CHATGPT_TOKEN_DIR=/home/ubuntu/audit/chatgpt_dummy_tokens /home/ubuntu/repos/litellm/.venv/bin/python litellm/proxy/proxy_cli.py --config /home/ubuntu/audit/proof_config.yaml --host 127.0.0.1 --port 4102 --detailed_debug > /home/ubuntu/audit/proxy_after.log 2>&1

GET /model/info for the six new deployments

printf 'model_name\tlitellm_params.model\tmax_input_tokens\tmax_output_tokens\tinput_cost_per_token\toutput_cost_per_token\toutput_cost_per_image\toutput_vector_size\tmode\n'; curl -sS -H 'Authorization: Bearer sk-qa-1234' http://127.0.0.1:4102/model/info | jq -r '.data[] | [.model_name, .litellm_params.model, (.model_info.max_input_tokens // ""), (.model_info.max_output_tokens // ""), (.model_info.input_cost_per_token // ""), (.model_info.output_cost_per_token // ""), (.model_info.output_cost_per_image // ""), (.model_info.output_vector_size // ""), (.model_info.mode // "")] | @tsv'
model_name	litellm_params.model	max_input_tokens	max_output_tokens	input_cost_per_token	output_cost_per_token	output_cost_per_image	output_vector_size	mode
qa-gemini	gemini/lyria-3.5	1048576	65536	0	0	0.08		chat
qa-voyage	voyage/voyage-multilingual-2	32000		1.2e-07	0		1024	embedding
qa-chatgpt-55	chatgpt/gpt-5.5	1050000	128000	0	0			responses
qa-chatgpt-56-sol	chatgpt/gpt-5.6-sol	1050000	128000	0	0			responses
qa-chatgpt-56-luna	chatgpt/gpt-5.6-luna	1050000	128000	0	0			responses
qa-chatgpt-56-terra	chatgpt/gpt-5.6-terra	1050000	128000	0	0			responses

Limits, prices, output_cost_per_image, output_vector_size and mode now come back from the registry for all six deployments.

Observations:

  • voyage/voyage-multilingual-2 has no max_output_tokens, same as every other Voyage embedding entry
  • No provider call was made; the proof stops at registry lookup by design

Type

🐛 Bug Fix

Caveats (if any)

Low

  • chatgpt/gpt-5.6-* use max_input_tokens 1050000 like chatgpt/gpt-5.4; the OpenAI gpt-5.6* entries use the 922000 cap from 6bb677d
  • deprecation_date for Scaleway uses the EOL date, not the earlier "deprecation" date in Scaleway's table
  • gpt-5.4-mini context (272k vs 400k) left unresolved; needs a maintainer decision

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
  • b4e7776 passes /live-pr-risk

Link to Devin session: https://app.devin.ai/sessions/c23aa606fe89455ea099593883bdd2d8
Open in Devin Desktop: https://app.devin.ai/desktop/session/c23aa606fe89455ea099593883bdd2d8?variant=devin
Requested by: @mateo-berri


Note

Low Risk
Changes are data-only in the cost map plus unit tests; the main behavioral impact is correct ChatGPT Responses bridging and billing metadata, with no runtime logic changes beyond registry lookups.

Overview
This PR refreshes model_prices_and_context_window.json (and its backup) so proxy routing, limits, cost logging, and deprecation warnings match current provider docs.

New registry entries: chatgpt/gpt-5.5 and three chatgpt/gpt-5.6-* variants (responses mode, 1.05M / 128k limits, chat-completions bridge); gemini/lyria-3.5 with output_cost_per_image 0.08; voyage/voyage-multilingual-2 embedding pricing and 1024-dim metadata.

Corrections: Vertex claude-haiku-4-5 (both aliases) max_output_tokens raised 8192 → 64000; Bedrock Mantle gpt-oss-20b input 7.5e-8 → 7e-8 and gpt-oss-safeguard-20b output 3e-7 → 2e-7; deprecation_date added on six Scaleway models.

Tests: ChatGPT tests cover the new models’ metadata and responses_api_bridge_check; Bedrock Mantle tests assert the revised gpt-oss pricing and add safeguard-20b coverage.

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

Add Claude Sonnet 5 with introductory pricing (/0 per MTok, through
Aug 31 2026) across Anthropic, Bedrock (global + regional), Vertex AI,
Azure AI, and Snowflake providers. Includes cache pricing (1.25x write,
2x 1hr write, 0.1x read) and 128K output context.

Fixes #31868

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

Copy link
Copy Markdown
Contributor Author

@greptileai review

@CLAassistant

CLAassistant commented Jul 1, 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.
1 out of 2 committers have signed the CLA.

✅ mateo-berri
❌ unknown


unknown seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@greptile-apps

greptile-apps Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR synchronizes the primary and bundled model registries with newly available models and corrected provider metadata.

  • Adds ChatGPT GPT-5.5/GPT-5.6, Gemini Lyria 3.5, and Voyage Multilingual 2 metadata.
  • Corrects Vertex Haiku 4.5 output limits and Bedrock Mantle GPT-OSS pricing.
  • Adds announced Scaleway model retirement dates.
  • Adds focused regression coverage for ChatGPT Responses routing and Bedrock Mantle safeguard pricing.

Confidence Score: 5/5

The PR appears safe to merge; the registry copies are synchronized and the corrected routing and pricing paths have focused regression coverage.

No new actionable defects remain. Both unresolved previous findings are now fully addressed: the fragile backup exact-equality assertion was removed, and the safeguard-20b rates now have exact test coverage.

Important Files Changed

Filename Overview
model_prices_and_context_window.json Adds and corrects model limits, capabilities, pricing, and deprecation metadata in the primary registry.
litellm/model_prices_and_context_window_backup.json Keeps the bundled fallback registry synchronized with the primary registry changes.
tests/test_litellm/llms/bedrock_mantle/test_bedrock_mantle_transformation.py Updates GPT-OSS pricing expectations and adds exact safeguard-20b rate coverage.
tests/test_litellm/llms/chatgpt/responses/test_chatgpt_responses_transformation.py Verifies metadata lookup and Chat Completions-to-Responses bridging for the new ChatGPT models.

Reviews (7): Last reviewed commit: "fix(model_prices): add gemini lyria-3.5,..." | Re-trigger Greptile

Comment thread tests/test_litellm/test_claude_sonnet_5_config.py Outdated
@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@greptile-apps

greptile-apps Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds pricing and capability entries for Claude Sonnet 5 across all supported providers (Anthropic, Bedrock Converse with regional variants, Vertex AI, Azure AI, and Snowflake), registers the model in BEDROCK_CONVERSE_MODELS, syncs the bundled backup cost map, and adds a dedicated test file.

  • Claude Sonnet 5 entries are added with introductory pricing ($2/$10 per MTok input/output) and full capability flags (supports_adaptive_thinking, supports_reasoning, supports_prompt_caching, etc.). Bedrock regional variants carry the standard 10% uplift; Snowflake caps max_input_tokens at 200 K and max_output_tokens at 16 K, consistent with other Snowflake Claude entries.
  • Unrelated change in the same diff: supports_reasoning: true is removed from bedrock/us-east-1/minimax.minimax-m2.5, bedrock/us-west-2/minimax.minimax-m2.5, and the top-level minimax.minimax-m2.5 converse entry, while all other regional variants of this model retain the flag — this inconsistency is out of scope for the stated PR goal.
  • Backup JSON is synced to match the root file, removing supports_adaptive_thinking from pre-existing versioned Bedrock model entries where the root had already dropped it.

Confidence Score: 3/5

The claude-sonnet-5 additions themselves look correct, but the PR bundles an unrelated capability change that removes supports_reasoning from the two most commonly used US Bedrock minimax-m2.5 endpoints while other regions keep the flag.

The claude-sonnet-5 pricing entries, capability flags, regional bedrock variants, and BEDROCK_CONVERSE_MODELS registration are all consistent with existing patterns. The concern is the unrelated removal of supports_reasoning: true from bedrock/us-east-1/minimax.minimax-m2.5, bedrock/us-west-2/minimax.minimax-m2.5, and the top-level minimax.minimax-m2.5 converse entry — the other 10+ regional minimax-m2.5 entries retain the flag. Any litellm user routing minimax-m2.5 calls through us-east-1 or us-west-2 Bedrock would now see supports_reasoning: false from get_model_info, silently disabling reasoning-gated features.

model_prices_and_context_window.json around the bedrock/us-east-1/minimax.minimax-m2.5 and bedrock/us-west-2/minimax.minimax-m2.5 entries (and the mirrored change in the backup JSON).

Important Files Changed

Filename Overview
litellm/constants.py Adds anthropic.claude-sonnet-5 to BEDROCK_CONVERSE_MODELS — correct, minimal, and consistent with the pattern used for all other claude bedrock models.
model_prices_and_context_window.json Adds all claude-sonnet-5 provider entries with correct introductory pricing and capability flags. Also contains an unrelated removal of supports_reasoning: true from bedrock/us-east-1/minimax.minimax-m2.5, bedrock/us-west-2/minimax.minimax-m2.5, and the top-level minimax.minimax-m2.5 entry while all other regional variants keep the flag — creating an inconsistency for the most commonly used US Bedrock endpoints.
litellm/model_prices_and_context_window_backup.json Syncs backup cost map to match the root JSON: adds all claude-sonnet-5 entries and removes supports_adaptive_thinking from pre-existing entries where the root had already dropped it. Mirrors the same minimax-m2.5 supports_reasoning removal as the root.
tests/test_litellm/test_claude_sonnet_5_config.py New test file covering pricing, capability flags, bedrock regional variants, and provider resolution for claude-sonnet-5. No network calls. The backup-equality assertion in test_sonnet_5_present_in_bundled_backup will be brittle once the two JSON files diverge in routine maintenance.

Reviews (2): Last reviewed commit: "feat: add claude-sonnet-5 pricing to mod..." | Re-trigger Greptile

Comment thread model_prices_and_context_window.json Outdated
Comment on lines +123 to +140
def test_sonnet_5_present_in_bundled_backup():
backup = GetModelCostMap.load_local_model_cost_map()
root = _load_root_cost_map()
for model_name in (
"claude-sonnet-5",
"anthropic.claude-sonnet-5",
"global.anthropic.claude-sonnet-5",
"us.anthropic.claude-sonnet-5",
"eu.anthropic.claude-sonnet-5",
"au.anthropic.claude-sonnet-5",
"jp.anthropic.claude-sonnet-5",
"vertex_ai/claude-sonnet-5",
"vertex_ai/claude-sonnet-5@default",
"azure_ai/claude-sonnet-5",
"snowflake/claude-sonnet-5",
):
assert model_name in backup, f"Missing from backup cost map: {model_name}"
assert backup[model_name] == root[model_name], model_name

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 Exact-equality backup assertion will break on next routine JSON sync

test_sonnet_5_present_in_bundled_backup asserts backup[model_name] == root[model_name] for every claude-sonnet-5 key. Because model_prices_and_context_window_backup.json is a snapshot that typically lags model_prices_and_context_window.json, the moment any field (e.g. pricing, a capability flag) is updated in the root but not yet synced to the backup, this test will fail for all eleven model keys, even when the underlying claude-sonnet-5 configuration is correct. Checking only the critical pricing and capability fields (as the other tests already do) would make this assertion resilient to expected drift.

The original JSON had duplicate minimax.minimax-m2.5 entries; the first
had supports_reasoning: true, the second did not. JSON deduplication
kept the second. Restore the flag on the surviving entries and add 1hr
cache TTL assertions to the regional bedrock test

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

Copy link
Copy Markdown
Contributor Author

@greptileai review

@mateo-berri mateo-berri 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.

Wasn't sonnet 5 already added? What problem is this pr trying to solve?

@@ -1170,7 +1165,6 @@
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"supports_adaptive_thinking": 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.

Why are you removing adaptive thinking here? 4.6+ supports it

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.

hey @devin-ai-integration are you there

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

After merging litellm_internal_staging, this PR no longer touches claude-sonnet-5 or adaptive thinking. The diff is now only the registry fixes described above.

mateo-berri and others added 2 commits September 5, 2026 13:28
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…pt-oss rates, add Scaleway deprecation dates

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
devin-ai-integration Bot requested a review from a team September 5, 2026 13:29
@codspeed-hq

codspeed-hq Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 31 untouched benchmarks


Comparing litellm_add-claude-sonnet-5-pricing (b4e7776) with litellm_internal_staging (8771979)

Open in CodSpeed

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

@greptileai

Comment on lines +54326 to +54327
"input_cost_per_token": 7e-08,
"output_cost_per_token": 2e-07,

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 Safeguard rates lack coverage

The safeguard-20b input and output rates both change here, but the pricing test update only checks the regular gpt-oss-20b rates. No test verifies safeguard-20b's exact 7e-8 input and 2e-7 output rates, so a typo or later regression in either corrected value could pass unnoticed and produce inaccurate cost calculations. Please add exact-rate coverage for safeguard-20b.

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

Copy link
Copy Markdown
Contributor Author

@greptileai

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

@greptileai review

@mateo-berri

Copy link
Copy Markdown
Contributor

bugbot run

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

❌ Cannot revive Devin session - the session is too old. Please start a new session instead.

View session

@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.

"supports_reasoning": true,
"supports_vision": true
"supports_vision": true,
"deprecation_date": "2026-08-09"

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.

Holo2 deprecation date looks unofficial

Medium Severity

scaleway/hcompany/holo2-30b-a3b now carries deprecation_date 2026-08-09, but Scaleway's July 2026 serverless deprecation notice lists Gemma 3, Pixtral, Qwen 3 Coder, Devstral 2, and Voxtral Small and does not mention Holo2. The supported-models catalog still lists Holo2 as available, so /model/deprecations and Slack alerts will treat a live model as already retired.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 528f3ae. Configure here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Scaleway's supported-models page lists holo2-30b-a3b in its deprecation table: deprecated July 9, 2026, EOL August 9, 2026, replacement qwen3.6-35b-a3b. Verified today from raw HTML.

@mateo-berri

Copy link
Copy Markdown
Contributor

bugbot run

@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.

mateo-berri and others added 2 commits September 5, 2026 19:19
…pt gpt-5.5 and gpt-5.6 entries

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration devin-ai-integration Bot changed the title fix(pricing): rolling model registry update: Vertex Haiku 4.5 output, Bedrock Mantle gpt-oss rates, Scaleway deprecation dates fix(pricing): rolling model registry update: Gemini lyria-3.5, Voyage multilingual-2, ChatGPT GPT-5.5/5.6, Vertex Haiku 4.5 output, Bedrock Mantle gpt-oss rates, Scaleway deprecation dates Sep 5, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

@greptileai

@mateo-berri

Copy link
Copy Markdown
Contributor

bugbot run

@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.

✅ Bugbot reviewed your changes and found no new issues!

1 issue from previous review remains unresolved.

Fix All in Cursor

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b4e7776. Configure here.

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.

2 participants