diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index f36f70fab22..d13f8397906 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -4404,6 +4404,38 @@ "supports_system_messages": true, "supports_tool_choice": true }, + "azure/gpt-realtime-mini-2025-12-15": { + "cache_creation_input_audio_token_cost": 3e-07, + "cache_read_input_token_cost": 6e-08, + "input_cost_per_audio_token": 1e-05, + "input_cost_per_image": 8e-07, + "input_cost_per_token": 6e-07, + "litellm_provider": "azure", + "max_input_tokens": 32000, + "max_output_tokens": 4096, + "max_tokens": 4096, + "mode": "chat", + "output_cost_per_audio_token": 2e-05, + "output_cost_per_token": 2.4e-06, + "supported_endpoints": [ + "/v1/realtime" + ], + "supported_modalities": [ + "text", + "image", + "audio" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_system_messages": true, + "supports_tool_choice": true + }, "azure/gpt-4o-mini-transcribe": { "input_cost_per_audio_token": 1.25e-06, "input_cost_per_token": 1.25e-06, @@ -16378,6 +16410,55 @@ "search_context_size_high": 0.035 } }, + "gemini-live-2.5-flash-native-audio": { + "cache_read_input_token_cost": 7.5e-08, + "input_cost_per_audio_token": 3e-06, + "input_cost_per_token": 3e-07, + "litellm_provider": "vertex_ai-language-models", + "max_audio_length_hours": 8.4, + "max_audio_per_prompt": 1, + "max_images_per_prompt": 3000, + "max_input_tokens": 1048576, + "max_output_tokens": 65535, + "max_pdf_size_mb": 30, + "max_tokens": 65535, + "max_video_length": 1, + "max_videos_per_prompt": 10, + "mode": "realtime", + "output_cost_per_audio_token": 1.2e-05, + "output_cost_per_token": 2e-06, + "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", + "supported_endpoints": [ + "/vertex_ai/live" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "supports_function_calling": true, + "supports_parallel_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_url_context": true, + "supports_vision": true, + "supports_web_search": true, + "search_context_cost_per_query": { + "search_context_size_low": 0.035, + "search_context_size_medium": 0.035, + "search_context_size_high": 0.035 + } + }, "gemini-2.5-flash-lite-preview-06-17": { "deprecation_date": "2025-11-18", "cache_read_input_token_cost": 2.5e-08, diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py index fcf22a8e7fa..e8691a9ea6a 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py @@ -1682,4 +1682,46 @@ def test_zai_glm_5_2_pricing_in_model_cost_map(): assert model_info["cache_read_input_token_cost"] == 2.6e-07 assert model_info["litellm_provider"] == "zai" assert model_info["supports_reasoning"] is True - assert model_info["supports_prompt_caching"] is True \ No newline at end of file + assert model_info["supports_prompt_caching"] is True + + + +def test_azure_gpt_realtime_mini_2025_12_15_in_model_cost_map(): + """Test that azure/gpt-realtime-mini-2025-12-15 is present in the model cost map.""" + from pathlib import Path + + cost_map_path = Path(__file__).parent.parent.parent.parent.parent / "model_prices_and_context_window.json" + with open(cost_map_path) as f: + model_cost = json.load(f) + + model = "azure/gpt-realtime-mini-2025-12-15" + assert model in model_cost, f"{model} not found in model cost map" + + model_info = model_cost[model] + assert model_info["input_cost_per_token"] == 6e-07 + assert model_info["output_cost_per_token"] == 2.4e-06 + assert model_info["input_cost_per_audio_token"] == 1e-05 + assert model_info["output_cost_per_audio_token"] == 2e-05 + assert model_info["litellm_provider"] == "azure" + assert model_info["mode"] == "chat" + assert "/v1/realtime" in model_info["supported_endpoints"] + + +def test_gemini_live_2_5_flash_native_audio_in_model_cost_map(): + """Test that gemini-live-2.5-flash-native-audio is present in the model cost map.""" + from pathlib import Path + + cost_map_path = Path(__file__).parent.parent.parent.parent.parent / "model_prices_and_context_window.json" + with open(cost_map_path) as f: + model_cost = json.load(f) + + model = "gemini-live-2.5-flash-native-audio" + assert model in model_cost, f"{model} not found in model cost map" + + model_info = model_cost[model] + assert model_info["input_cost_per_token"] == 3e-07 + assert model_info["output_cost_per_token"] == 2e-06 + assert model_info["input_cost_per_audio_token"] == 3e-06 + assert model_info["output_cost_per_audio_token"] == 1.2e-05 + assert model_info["litellm_provider"] == "vertex_ai-language-models" + assert model_info["mode"] == "realtime" \ No newline at end of file