What component(s) are affected?
Describe the problem
Following the provider-registration fixes already merged for azure (#7262), xai (#7433), deepseek (#7434), perplexity (#7432), fireworks_ai (#7554) and moonshot (#7604), several more high-volume providers are still dropped at load time. CostService.buildModelPrice returns null for any entry whose litellm_provider is not in PROVIDERS_MAPPING, so every model tagged with an unregistered provider gets no cost.
Scanning the bundled model_prices_and_context_window.json for litellm_provider values that carry non-zero-cost entries but are absent from PROVIDERS_MAPPING, the remaining gaps are (approx. non-zero-priced model counts):
- openrouter (~92, with ~32 carrying cache_read rates)
- novita (~85)
- deepinfra (~67)
- together_ai (~36)
- nebius (~30)
- databricks (~28)
- snowflake (~21, ~9 with cache_read)
- sambanova (~17)
- cerebras (~7)
The OpenAI-compatible inference providers (novita, deepinfra, nebius, snowflake, sambanova, cerebras, databricks) are the same shape as the ones already registered: map <provider> -> <provider> and route through textGenerationWithCacheCostOpenAI when the provider publishes cache rates, else textGenerationCost.
Aggregators (openrouter, together_ai) need more care. openrouter namespaces models under the origin vendor (e.g. moonshotai/*, anthropic/*) so it should reuse the existing provider-prefix fallback in findModelPrice rather than a naive openrouter -> openrouter mapping; together_ai currently only has parameter-size bucket entries (together-ai-4.1b-8b, ...) in the JSON, so it needs bucket-lookup logic, not just a mapping entry.
Additional info
Happy to open PRs for the clean single-vendor providers (they mirror the merged fireworks/moonshot PRs one-to-one) and to discuss the aggregator handling separately. Filing as a tracking issue first so the team can steer scope.
What component(s) are affected?
Describe the problem
Following the provider-registration fixes already merged for azure (#7262), xai (#7433), deepseek (#7434), perplexity (#7432), fireworks_ai (#7554) and moonshot (#7604), several more high-volume providers are still dropped at load time.
CostService.buildModelPricereturnsnullfor any entry whoselitellm_provideris not inPROVIDERS_MAPPING, so every model tagged with an unregistered provider gets no cost.Scanning the bundled
model_prices_and_context_window.jsonforlitellm_providervalues that carry non-zero-cost entries but are absent fromPROVIDERS_MAPPING, the remaining gaps are (approx. non-zero-priced model counts):The OpenAI-compatible inference providers (novita, deepinfra, nebius, snowflake, sambanova, cerebras, databricks) are the same shape as the ones already registered: map
<provider> -> <provider>and route throughtextGenerationWithCacheCostOpenAIwhen the provider publishes cache rates, elsetextGenerationCost.Aggregators (openrouter, together_ai) need more care. openrouter namespaces models under the origin vendor (e.g.
moonshotai/*,anthropic/*) so it should reuse the existing provider-prefix fallback infindModelPricerather than a naiveopenrouter -> openroutermapping; together_ai currently only has parameter-size bucket entries (together-ai-4.1b-8b, ...) in the JSON, so it needs bucket-lookup logic, not just a mapping entry.Additional info
Happy to open PRs for the clean single-vendor providers (they mirror the merged fireworks/moonshot PRs one-to-one) and to discuss the aggregator handling separately. Filing as a tracking issue first so the team can steer scope.