From ee06b9278a32617b8a66ed5cfe6abc13ea286f90 Mon Sep 17 00:00:00 2001 From: csoni-cweave Date: Sat, 11 Apr 2026 19:46:40 -0700 Subject: [PATCH] feat(model):add wandb model offerings to include kimi-k2.5 and minimax-m2.5 (#25409) --- litellm/constants.py | 3 ++ ...odel_prices_and_context_window_backup.json | 28 +++++++++++++++++++ model_prices_and_context_window.json | 28 +++++++++++++++++++ tests/test_litellm/test_cost_calculator.py | 17 +++++++++++ 4 files changed, 76 insertions(+) diff --git a/litellm/constants.py b/litellm/constants.py index 337cb1243f..300cd8a391 100644 --- a/litellm/constants.py +++ b/litellm/constants.py @@ -1060,6 +1060,9 @@ WANDB_MODELS: set = set( "Qwen/Qwen3-235B-A22B-Thinking-2507", # moonshotai "moonshotai/Kimi-K2-Instruct", + "moonshotai/Kimi-K2.5", + # MiniMaxAI + "MiniMaxAI/MiniMax-M2.5", # meta models "meta-llama/Llama-3.1-8B-Instruct", "meta-llama/Llama-3.3-70B-Instruct", diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 63ca003a26..ae4a79c909 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -32396,6 +32396,34 @@ "litellm_provider": "wandb", "mode": "chat" }, + "wandb/moonshotai/Kimi-K2.5": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "cache_read_input_token_cost": 1e-07, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3e-06, + "litellm_provider": "wandb", + "mode": "chat", + "source": "https://wandb.ai/inference/coreweave/cw_moonshotai_Kimi-K2.5", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_vision": true + }, + "wandb/MiniMaxAI/MiniMax-M2.5": { + "max_tokens": 197000, + "max_input_tokens": 197000, + "max_output_tokens": 197000, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "litellm_provider": "wandb", + "mode": "chat", + "source": "https://wandb.ai/inference/coreweave/cw_MiniMaxAI_MiniMax-M2.5", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true + }, "wandb/meta-llama/Llama-3.1-8B-Instruct": { "max_tokens": 128000, "max_input_tokens": 128000, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 90ff7d1103..0e7e2557d1 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -32381,6 +32381,34 @@ "litellm_provider": "wandb", "mode": "chat" }, + "wandb/moonshotai/Kimi-K2.5": { + "max_tokens": 262144, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "cache_read_input_token_cost": 1e-07, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3e-06, + "litellm_provider": "wandb", + "mode": "chat", + "source": "https://wandb.ai/inference/coreweave/cw_moonshotai_Kimi-K2.5", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_vision": true + }, + "wandb/MiniMaxAI/MiniMax-M2.5": { + "max_tokens": 197000, + "max_input_tokens": 197000, + "max_output_tokens": 197000, + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "litellm_provider": "wandb", + "mode": "chat", + "source": "https://wandb.ai/inference/coreweave/cw_MiniMaxAI_MiniMax-M2.5", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_response_schema": true + }, "wandb/meta-llama/Llama-3.1-8B-Instruct": { "max_tokens": 128000, "max_input_tokens": 128000, diff --git a/tests/test_litellm/test_cost_calculator.py b/tests/test_litellm/test_cost_calculator.py index 0258eaabe3..446316a02d 100644 --- a/tests/test_litellm/test_cost_calculator.py +++ b/tests/test_litellm/test_cost_calculator.py @@ -93,6 +93,23 @@ def test_baseten_model_api_pricing_entries(): assert model_info["output_cost_per_token"] == output_cost +def test_wandb_model_api_pricing_entries(): + os.environ["LITELLM_LOCAL_MODEL_COST_MAP"] = "True" + litellm.model_cost = litellm.get_model_cost_map(url="") + + expected_pricing = { + "wandb/moonshotai/Kimi-K2.5": (6e-07, 3e-06), + "wandb/MiniMaxAI/MiniMax-M2.5": (3e-07, 1.2e-06), + } + + for model_name, (input_cost, output_cost) in expected_pricing.items(): + model_info = litellm.model_cost.get(model_name) + assert model_info is not None, f"Missing model pricing entry: {model_name}" + assert model_info["litellm_provider"] == "wandb" + assert model_info["input_cost_per_token"] == input_cost + assert model_info["output_cost_per_token"] == output_cost + + def test_cost_calculator_with_usage(monkeypatch): os.environ["LITELLM_LOCAL_MODEL_COST_MAP"] = "True" litellm.model_cost = litellm.get_model_cost_map(url="")