#31087 Realtime WebSocket cost tracking returns $0 for gpt-realtime-mini-2025-12-15 and gemini-live-2.5-flash-native-audio โ missing model_cost entries + base_model/custom_pricing ignored in realtime path
## Summary
Realtime WebSocket calls (`_arealtime`) always report \$0 cost for two models because the model names sent in the `session.created` event are not in `model_prices_and_context_window.json`, and the realtime cost path does not fall back to `base_model` or custom pricing fields from config.
## Affected models
| Model | `session.created` model name | Key tried in `model_cost` | Present? | |---|---|---|---| | `azure/gpt-realtime-mini` (v2025-12-15 deployment) | `gpt-realtime-mini-2025-12-15` | `azure/gpt-realtime-mini-2025-12-15` | โ missing | | `vertex_ai/gemini-live-2.5-flash-native-audio` | `gemini-live-2.5-flash-native-audio` | `vertex_ai/gemini-live-2.5-flash-native-audio` | โ missing | | `azure/gpt-realtime` (v2025-08-28 deployment) | `gpt-realtime-2025-08-28` | `azure/gpt-realtime-2025-08-28` | โ works |
Note: `azure/gpt-realtime-mini-2025-10-06` **is** present, but Azure's current deployment returns version `2025-12-15` in `session.created`.
## Root cause
`handle_realtime_stream_cost_calculation()` (`cost_calculator.py`) only does direct `model_cost` dictionary lookups. It does **not** use: - `base_model` from model_info (the standard workaround for Azure model โฆ