From 06c84765442854286cf8bbc445c46a7243b836bc Mon Sep 17 00:00:00 2001 From: Sameer Kankute Date: Fri, 27 Mar 2026 10:49:13 +0530 Subject: [PATCH 1/2] feat(gemini): add gemini-3.1-flash-live-preview to model cost map Made-with: Cursor --- ...odel_prices_and_context_window_backup.json | 58 +++++++++++++++++++ model_prices_and_context_window.json | 58 +++++++++++++++++++ .../test_gemini_realtime_transformation.py | 15 +++++ 3 files changed, 131 insertions(+) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index c53ee943c5..a063e3a4c6 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -36830,6 +36830,34 @@ "supports_audio_input": true, "supports_audio_output": true }, + "gemini-3.1-flash-live-preview": { + "input_cost_per_audio_token": 1e-06, + "input_cost_per_token": 3e-07, + "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/models", + "supported_endpoints": [ + "/v1/realtime" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "supports_function_calling": true, + "supports_vision": true + }, "gemini/gemini-2.5-flash-native-audio-latest": { "input_cost_per_audio_token": 1e-06, "input_cost_per_token": 3e-07, @@ -36908,6 +36936,36 @@ "tpm": 250000, "rpm": 10 }, + "gemini/gemini-3.1-flash-live-preview": { + "input_cost_per_audio_token": 1e-06, + "input_cost_per_token": 3e-07, + "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/models", + "supported_endpoints": [ + "/v1/realtime" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "supports_function_calling": true, + "supports_vision": true, + "tpm": 250000, + "rpm": 10 + }, "gemini-2.5-flash-preview-tts": { "input_cost_per_token": 3e-07, "litellm_provider": "gemini", diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index c53ee943c5..a063e3a4c6 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -36830,6 +36830,34 @@ "supports_audio_input": true, "supports_audio_output": true }, + "gemini-3.1-flash-live-preview": { + "input_cost_per_audio_token": 1e-06, + "input_cost_per_token": 3e-07, + "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/models", + "supported_endpoints": [ + "/v1/realtime" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "supports_function_calling": true, + "supports_vision": true + }, "gemini/gemini-2.5-flash-native-audio-latest": { "input_cost_per_audio_token": 1e-06, "input_cost_per_token": 3e-07, @@ -36908,6 +36936,36 @@ "tpm": 250000, "rpm": 10 }, + "gemini/gemini-3.1-flash-live-preview": { + "input_cost_per_audio_token": 1e-06, + "input_cost_per_token": 3e-07, + "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/models", + "supported_endpoints": [ + "/v1/realtime" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "audio" + ], + "supports_audio_input": true, + "supports_audio_output": true, + "supports_function_calling": true, + "supports_vision": true, + "tpm": 250000, + "rpm": 10 + }, "gemini-2.5-flash-preview-tts": { "input_cost_per_token": 3e-07, "litellm_provider": "gemini", diff --git a/tests/test_litellm/llms/gemini/realtime/test_gemini_realtime_transformation.py b/tests/test_litellm/llms/gemini/realtime/test_gemini_realtime_transformation.py index 69741cdec6..cc0a32d2ce 100644 --- a/tests/test_litellm/llms/gemini/realtime/test_gemini_realtime_transformation.py +++ b/tests/test_litellm/llms/gemini/realtime/test_gemini_realtime_transformation.py @@ -10,6 +10,7 @@ sys.path.insert( 0, os.path.abspath("../../../../..") ) # Adds the parent directory to the system path +import litellm from litellm.llms.gemini.realtime.transformation import GeminiRealtimeConfig from litellm.types.llms.openai import OpenAIRealtimeStreamSessionEvents @@ -227,3 +228,17 @@ def test_gemini_realtime_transformation_generation_complete(): contains_audio_delta = True break assert contains_audio_delta, "Expected audio delta event" + + +def test_gemini_3_1_flash_live_preview_model_cost_map_entry(): + for key in ( + "gemini-3.1-flash-live-preview", + "gemini/gemini-3.1-flash-live-preview", + ): + assert key in litellm.model_cost + info = litellm.model_cost[key] + assert "/v1/realtime" in info.get("supported_endpoints", []) + assert info.get("max_input_tokens") == 131072 + assert info.get("max_output_tokens") == 65536 + assert "video" in info.get("supported_modalities", []) + assert info.get("supports_function_calling") is True From 226e18534e06b78a5e0555ff8d7e01043191ff8b Mon Sep 17 00:00:00 2001 From: Sameer Kankute Date: Fri, 27 Mar 2026 11:03:37 +0530 Subject: [PATCH 2/2] Add correct pricing --- ...odel_prices_and_context_window_backup.json | 26 ++++++++++++------- model_prices_and_context_window.json | 26 ++++++++++++------- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index a063e3a4c6..ff75c8d3e4 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -36831,15 +36831,18 @@ "supports_audio_output": true }, "gemini-3.1-flash-live-preview": { - "input_cost_per_audio_token": 1e-06, - "input_cost_per_token": 3e-07, + "input_cost_per_audio_token": 3e-06, + "input_cost_per_image_token": 1e-06, + "input_cost_per_token": 7.5e-07, + "input_cost_per_video_per_second": 3.3333333333333335e-05, "litellm_provider": "gemini", "max_input_tokens": 131072, "max_output_tokens": 65536, "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 2.5e-06, - "source": "https://ai.google.dev/gemini-api/docs/models", + "output_cost_per_audio_token": 1.2e-05, + "output_cost_per_token": 4.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -36856,7 +36859,8 @@ "supports_audio_input": true, "supports_audio_output": true, "supports_function_calling": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gemini/gemini-2.5-flash-native-audio-latest": { "input_cost_per_audio_token": 1e-06, @@ -36937,15 +36941,18 @@ "rpm": 10 }, "gemini/gemini-3.1-flash-live-preview": { - "input_cost_per_audio_token": 1e-06, - "input_cost_per_token": 3e-07, + "input_cost_per_audio_token": 3e-06, + "input_cost_per_image_token": 1e-06, + "input_cost_per_token": 7.5e-07, + "input_cost_per_video_per_second": 3.3333333333333335e-05, "litellm_provider": "gemini", "max_input_tokens": 131072, "max_output_tokens": 65536, "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 2.5e-06, - "source": "https://ai.google.dev/gemini-api/docs/models", + "output_cost_per_audio_token": 1.2e-05, + "output_cost_per_token": 4.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -36963,6 +36970,7 @@ "supports_audio_output": true, "supports_function_calling": true, "supports_vision": true, + "supports_web_search": true, "tpm": 250000, "rpm": 10 }, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index a063e3a4c6..ff75c8d3e4 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -36831,15 +36831,18 @@ "supports_audio_output": true }, "gemini-3.1-flash-live-preview": { - "input_cost_per_audio_token": 1e-06, - "input_cost_per_token": 3e-07, + "input_cost_per_audio_token": 3e-06, + "input_cost_per_image_token": 1e-06, + "input_cost_per_token": 7.5e-07, + "input_cost_per_video_per_second": 3.3333333333333335e-05, "litellm_provider": "gemini", "max_input_tokens": 131072, "max_output_tokens": 65536, "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 2.5e-06, - "source": "https://ai.google.dev/gemini-api/docs/models", + "output_cost_per_audio_token": 1.2e-05, + "output_cost_per_token": 4.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -36856,7 +36859,8 @@ "supports_audio_input": true, "supports_audio_output": true, "supports_function_calling": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gemini/gemini-2.5-flash-native-audio-latest": { "input_cost_per_audio_token": 1e-06, @@ -36937,15 +36941,18 @@ "rpm": 10 }, "gemini/gemini-3.1-flash-live-preview": { - "input_cost_per_audio_token": 1e-06, - "input_cost_per_token": 3e-07, + "input_cost_per_audio_token": 3e-06, + "input_cost_per_image_token": 1e-06, + "input_cost_per_token": 7.5e-07, + "input_cost_per_video_per_second": 3.3333333333333335e-05, "litellm_provider": "gemini", "max_input_tokens": 131072, "max_output_tokens": 65536, "max_tokens": 65536, "mode": "chat", - "output_cost_per_token": 2.5e-06, - "source": "https://ai.google.dev/gemini-api/docs/models", + "output_cost_per_audio_token": 1.2e-05, + "output_cost_per_token": 4.5e-06, + "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" ], @@ -36963,6 +36970,7 @@ "supports_audio_output": true, "supports_function_calling": true, "supports_vision": true, + "supports_web_search": true, "tpm": 250000, "rpm": 10 },