#29291 [Bug]: Model hub ignores custom model_info when model is not in model_prices_and_context_window.json
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
When a model is defined in `litellm_config.yaml` with custom pricing in `model_info` (not `litellm_params`), and the model is **not** in the built-in `model_prices_and_context_window.json`, the public Model Hub table displays **"Free"** instead of the configured prices.
The correct prices **do** appear on the regular "Models + Endpoints" page; only the Model Hub pages (both public and private) show `Free`.
## Root Cause
In [`Router.get_deployment_model_info()`](https://github.com/BerriAI/litellm/blob/v1.86.2/litellm/router.py#L8396), the function looks up pricing from two sources: 1. custom pricing registered from the config during `_create_deployment` (populated from config's `model_info`) 2. built-in pricing from `model_prices_and_context_window.json`
However, the [conditional](https://github.com/BerriAI/litellm/blob/v1.86.2/litellm/router.py#L8439-L8448) doesn't cover the case where only the custom pricing is set, but the model is not yet present in the built-in json (like e.g. deepseek-v4-flash). This causes it to return `None`, which t…