Migration guidesFrom Google Vertex AI
From Vertex AI alone, to Vertex as one of your providers
Vertex AI, now part of Gemini Enterprise Agent Platform, serves Gemini and Anthropic's Claude in your Google Cloud project, billed by Google. INFRO calls it with a service account from that project. Your app calls one endpoint and can fail over between Claude on Vertex and Claude on Anthropic, or Gemini on Vertex and Gemini on Google AI, with budgets checked before each call.
Renamed Gemini Enterprise Agent Platform on 2026-04-22; same aiplatform.googleapis.com hosts
INFRO accounts are self-serve. The catalog, the docs, and the API contract are public, the gateway is deployed, and anything beyond v1 is marked Later. Plans and trial
Where things stand
The rename
Google's release notes say that on 2026-04-22 Vertex AI became part of Gemini Enterprise Agent Platform; the Vertex AI API is now the Agent Platform API. The aiplatform.googleapis.com hosts are still the documented ones.
SDK changes
The Google Gen AI SDK now takes enterprise=True, keeping vertexai=True as a legacy flag. On 2026-09-18 the older Python SDK moved to google-cloud-agentplatform.
What INFRO calls
Vertex AI at locations/global in your project, with short-lived tokens signed from a service-account key that needs only roles/aiplatform.user. Each Claude model must be enabled on its Model Garden card.
If everything you run is in Google Cloud and Google's tools already answer your questions, stay. These are the specific cases.
- Your organization forbids service-account keys. INFRO's Vertex connection uses one; it does not use workload identity federation.
- You use explicit context caches (
caches.createandcached_content), grounding, or other Gemini-native features the chat shapes do not carry. - You rely on
labelsreaching Cloud Billing for cost allocation. INFRO records attribution in its ownmetadata. - You need a regional or multi-region endpoint for residency. INFRO calls the global location; residency is on the roadmap.
The edits, one row each. Everything not listed here stays as it is.
| Google Vertex AI | INFRO | |
|---|---|---|
| Base URL | aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/... | https://api.infro.io/v1 (OpenAI shape), https://api.infro.io for the Anthropic SDK. |
| Credential | An hour-long access token from Application Default Credentials. | An INFRO gateway key. INFRO holds the service-account key, sealed, and signs its own short-lived tokens. |
| Model id | gemini-3.8-flash, google/gemini-3.8-flash, claude-sonnet-5-5. | google/gemini-3.8-flash, anthropic/claude-sonnet-5.5; the Anthropic SDK may keep claude-sonnet-5-5 on /v1/messages. |
| Fields | labels, or X-Vertex-AI-Labels for partner models. | metadata { user_id, session_id, tags }, recorded by INFRO, not sent to Google. |
Before · Vertex AI
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({
enterprise: true, // formerly vertexai: true
project: "my-project",
location: "global",
});
const response = await ai.models.generateContent({
model: "gemini-3.8-flash",
contents: "Hello",
config: { labels: { team: "search" } },
});After · INFRO
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.infro.io/v1",
apiKey: process.env.INFRO_API_KEY,
});
await client.chat.completions.create({
model: "google/gemini-3.8-flash",
messages: [{ role: "user", content: "Hello" }],
// @ts-expect-error INFRO extension
metadata: { tags: { team: "search" } },
});Gemini moves to the OpenAI shape
Code on the Gen AI SDK changes request shape to Chat Completions. Features that shape does not carry, such as explicit context caches, are a reason to keep those calls direct.
Claude stays in Anthropic's shape
On a Vertex connection, /v1/messages sends the body as written: thinking blocks, cache_control and tools included. A route can put Vertex first and Anthropic second for the same Claude model.
One service account
Grant it roles/aiplatform.user only. INFRO signs hour-long tokens from it per call and reads nothing else in the project.
Google Vertex AI's objects against INFRO's, from Google Vertex AI's public documentation read on 19 October 2026 and checked against what the gateway implements. One row says INFRO has nothing.
| Google Vertex AI | What it does there | In INFRO |
|---|---|---|
| Project and credentialsdifferent | Your Google Cloud project; ADC or service-account tokens. | A Vertex connection holding a service-account key, sealed; tokens signed per call. No workload identity federation. |
| Gemini `generateContent`different | The native Gemini API through the Gen AI SDK. | Served through the OpenAI shape on chat completions; native-only features do not carry. |
| Claude `rawPredict`same shape | Anthropic's Messages body on Vertex. | /v1/messages, sent to Vertex as written. |
| Global and regional endpointsdifferent | Choose global, a region, or a multi-region. | The global location only. |
| Labelsdifferent | Cost labels forwarded to Cloud Billing. | metadata attribution in INFRO's request log and usage, by project, key, user and tag. |
| Context cachingnothing | Explicit caches created and referenced by cached_content. | Nothing equivalent. Claude's cache_control reaches Vertex as written; INFRO adds an exact-match response cache. |
| Quota and Provisioned Throughputdifferent | Dynamic Shared Quota, Standard PayGo tiers, Provisioned Throughput. | Unchanged on Google's side; a 429 follows the route's failure rule. INFRO adds dollar budgets. |
| Failoverdifferent | The global endpoint picks a region; across providers is your code. | Routes across Vertex, Anthropic, Google AI and others, with failure rules per kind. |
Our reading of Google Vertex AI’s published documentation, not a trial or a benchmark. If we have read something wrong, tell us and we will fix the row.
What INFRO does not do
- Use workload identity federation or ADC; it takes a service-account key.
- Call regional or multi-region Vertex endpoints.
- Carry Gemini-native features such as explicit context caches or grounding.
- Forward billing labels, or reconcile against Google Cloud billing.
What does not come across
- Cloud Logging and Monitoring history; it stays in Google Cloud.
- Context caches; they stay in your project.
Questions
- Can INFRO route Claude on Vertex AI?
- Yes. Connect Vertex AI with a service-account key, enable the Claude model in Model Garden, and call
/v1/messagesor chat completions. - Who bills me for usage?
- Google Cloud, on your own project. INFRO is a subscription and adds 0% to model spend.
- What permissions does INFRO need?
- A service account with
roles/aiplatform.user. INFRO uses it only to call Vertex AI.
Move with us, or on your own
The migration program maps your Google Vertex AI setup to INFRO connections, routes and budgets on a call and moves the first service with you. Your providers keep billing you directly; INFRO is a subscription and adds 0% to model spend.
Sources
Every statement on this page about Google Vertex AI comes from one of these, read on 19 October 2026. Nothing is inferred from a trial, a benchmark, or a conversation.
- Google Cloud — Agent Platform release notesread 2026-10-19
- Google Cloud — OpenAI libraries on Agent Platformread 2026-10-19
- Google Cloud — Use Clauderead 2026-10-19
- Google Cloud — Endpoint locationsread 2026-10-19
- Google Cloud — Labels on API callsread 2026-10-19
- GitHub — googleapis/python-genairead 2026-10-19
- GitHub — googleapis/js-genairead 2026-10-19