#26702 gemini/ provider with custom api_base requires api_key even when azure_ad_token is set
## Describe the bug
When creating a model with `model: gemini/gemini-3-flash-preview` and a custom `api_base`, LiteLLM throws `Missing gemini_api_key, please set GEMINI_API_KEY` even when `azure_ad_token` is set in `litellm_params`. However, an existing model on the same proxy with identical config works fine.
## Context
We have two models on gsk-prod with identical `litellm_params`:
| Field | Value | |---|---| | `model` | `gemini/gemini-3-flash-preview` | | `api_base` | `https://dev.api.gsk.com/co/ent/gcp/gemini3-flash/global` | | `drop_params` | `true` | | `azure_ad_token` | set (non-empty) |
- **`GSKPlatform_gemini-3.0-flash`** — created on an older version, works correctly - **`Kc3ajs8TEUyP7jsX27WQwg_gemini-3.0-flash`** — newly created with same params, fails with `Missing gemini_api_key`
The newly created model only works after adding `api_key` to `litellm_params`. The existing model has no `api_key` field and works without it.
## Error
``` litellm.APIConnectionError: Missing gemini_api_key, please set `GEMINI_API_KEY` File ".../litellm/llms/vertex_ai/vertex_llm_base.py", line 360, in _check_custom_proxy raise ValueError("Missing gemini_api_key, please set `GEMIN…