Description
When calling client.models.get(model="gemini-flash-latest") on Vertex AI (location=global), the response only echoes the alias name back (publishers/google/models/gemini-flash-latest) with version: "default". There is no field that reveals the actual resolved model version.
Similarly, GenerateContentResponse.model_version just returns "gemini-flash-latest".
This makes it impossible to:
- Know which model you're actually calling in production
- Pin to a specific version before an alias rotates
- Debug behavioral differences between alias and named models
Empirical evidence
We ran side-by-side tests (temperature=0, no thinking, identical prompts) comparing gemini-flash-latest against known model versions on Vertex AI (location=global):
| Test (7 deterministic prompts) |
Exact output hash match with gemini-flash-latest |
gemini-2.5-flash |
5/7 |
gemini-3-flash-preview |
4/7 |
gemini-flash-latest produces byte-different output from both named models on several prompts, making it impossible to determine which model it actually resolves to.
According to the changelog (Jan 21, 2026), gemini-flash-latest was switched to gemini-3-flash-preview on the Google AI API — but this does not appear to match Vertex AI behavior.
Expected behavior
models.get() should return a resolved_model or base_model field with the actual underlying model identifier (e.g., gemini-2.5-flash-20250617), so users can:
- Audit what they're running in production
- Pin to the resolved version before an alias rotates
- Report accurate model versions in bug reports
Reproduction
from google import genai
client = genai.Client(vertexai=True, project="YOUR_PROJECT", location="global")
# models.get returns no resolution info
info = client.models.get(model="gemini-flash-latest")
print(info.name) # "publishers/google/models/gemini-flash-latest"
print(info.version) # "default"
# No resolved_model, base_model, or similar field
# Response metadata also just echoes the alias
resp = client.models.generate_content(
model="gemini-flash-latest",
contents="hello",
)
print(resp.model_version) # "gemini-flash-latest" — not the actual model
Additional context
- Platform: Vertex AI (not Google AI API)
- Location:
global
- SDK:
google-genai (Python)
- Use case: Production conversational AI agent using Google ADK with heavy tool calling. We rely on
gemini-flash-latest for its quality but cannot pin it, and the documented alias rotation schedule appears to only apply to the Google AI API, not Vertex AI.
Description
When calling
client.models.get(model="gemini-flash-latest")on Vertex AI (location=global), the response only echoes the alias name back (publishers/google/models/gemini-flash-latest) withversion: "default". There is no field that reveals the actual resolved model version.Similarly,
GenerateContentResponse.model_versionjust returns"gemini-flash-latest".This makes it impossible to:
Empirical evidence
We ran side-by-side tests (temperature=0, no thinking, identical prompts) comparing
gemini-flash-latestagainst known model versions on Vertex AI (location=global):gemini-flash-latestgemini-2.5-flashgemini-3-flash-previewgemini-flash-latestproduces byte-different output from both named models on several prompts, making it impossible to determine which model it actually resolves to.According to the changelog (Jan 21, 2026),
gemini-flash-latestwas switched togemini-3-flash-previewon the Google AI API — but this does not appear to match Vertex AI behavior.Expected behavior
models.get()should return aresolved_modelorbase_modelfield with the actual underlying model identifier (e.g.,gemini-2.5-flash-20250617), so users can:Reproduction
Additional context
globalgoogle-genai(Python)gemini-flash-latestfor its quality but cannot pin it, and the documented alias rotation schedule appears to only apply to the Google AI API, not Vertex AI.