feat(pricing): add gemini-live-2.5-flash-native-audio to model cost map

Missing entry caused a cascade: _model_cost_entry returned {} for
vertex_ai/gemini-live-2.5-flash-native-audio, so _is_audio_only_live_model
returned False, _coerce_response_modalities never coerced TEXT -> AUDIO in
the Vertex setup message, the session hung, and no usage was ever logged.

Add bare key (vertex_ai-language-models provider) and gemini/ prefixed key
(gemini provider) with GA pricing: $0.50/M text in, $3.00/M audio in,
$2.00/M text out, $12.00/M audio out, gemini_native_audio=true.

Also extend the existing parametrized tests to assert the vertex_ai/ prefix
resolves correctly through _model_cost_entry's stripped-prefix fallback.
This commit is contained in:
mubashir1osmani 2026-08-27 15:39:23 -04:00
parent 25ec6827b7
commit 3ee24cda01
2 changed files with 84 additions and 0 deletions

View file

@ -20273,6 +20273,81 @@
},
"supports_image_size": false
},
"gemini-live-2.5-flash-native-audio": {
"input_cost_per_audio_token": 3e-06,
"input_cost_per_token": 5e-07,
"litellm_provider": "vertex_ai-language-models",
"max_input_tokens": 1048576,
"max_output_tokens": 65535,
"max_tokens": 65535,
"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",
"/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_parallel_function_calling": true,
"supports_pdf_input": true,
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_url_context": true,
"supports_vision": true,
"supports_web_search": true,
"gemini_native_audio": true
},
"gemini/gemini-live-2.5-flash-native-audio": {
"input_cost_per_audio_token": 3e-06,
"input_cost_per_token": 5e-07,
"litellm_provider": "gemini",
"max_input_tokens": 1048576,
"max_output_tokens": 65535,
"max_tokens": 65535,
"mode": "realtime",
"output_cost_per_audio_token": 1.2e-05,
"output_cost_per_token": 2e-06,
"source": "https://ai.google.dev/gemini-api/docs/pricing",
"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_parallel_function_calling": true,
"supports_pdf_input": true,
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_url_context": true,
"supports_vision": true,
"supports_web_search": true,
"gemini_native_audio": true
},
"gemini-live-2.5-flash-preview-native-audio-09-2025": {
"cache_read_input_token_cost": 7.5e-08,
"input_cost_per_audio_token": 3e-06,

View file

@ -1813,6 +1813,8 @@ def patch_gemini_audio_cost_map_entries(monkeypatch):
"gemini-2.5-flash-native-audio",
"gemini-2.5-flash-native-audio-latest",
"gemini/gemini-2.5-flash-native-audio-latest",
"gemini-live-2.5-flash-native-audio",
"gemini/gemini-live-2.5-flash-native-audio",
]
flash_live_models = [
"gemini-3.1-flash-live-preview",
@ -1835,6 +1837,10 @@ def patch_gemini_audio_cost_map_entries(monkeypatch):
("gemini/gemini-3.1-flash-live-preview", True),
("gemini-2.5-flash-native-audio-latest", True),
("gemini/gemini-2.5-flash-native-audio-latest", True),
("gemini-live-2.5-flash-native-audio", True),
("gemini/gemini-live-2.5-flash-native-audio", True),
# vertex_ai/ prefix must resolve via the stripped-prefix fallback
("vertex_ai/gemini-live-2.5-flash-native-audio", True),
("gemini-2.0-flash", False),
("gemini-2.5-flash", False),
],
@ -1848,6 +1854,9 @@ def test_is_audio_only_live_model_uses_cost_map(model, expected, patch_gemini_au
[
("gemini-2.5-flash-native-audio-latest", True),
("gemini/gemini-2.5-flash-native-audio-latest", True),
("gemini-live-2.5-flash-native-audio", True),
("gemini/gemini-live-2.5-flash-native-audio", True),
("vertex_ai/gemini-live-2.5-flash-native-audio", True),
("gemini-3.1-flash-live-preview", False),
("gemini/gemini-3.1-flash-live-preview", False),
("gemini-2.0-flash", False),