Gemini API vs Vertex API: the difference and which one to pick
Google offers two doors to Gemini: an AI Studio key or a Google Cloud project. We compare them and show a third route through a gateway.
5 min · · сравнение · API keys
Developers who connect Gemini for the first time run into two names: Gemini API and Vertex AI. Both give access to the same model families, but they are built differently. Below is a Gemini API vs Vertex API comparison on the points that affect your work: authentication, billing, regions and SDKs. At the end I show a third option for when you do not want to set up either AI Studio or a cloud project.
The comparison is checked against Google's documentation at the time of writing (18 October 2026). Google sometimes renames products: in recent materials "Vertex" is increasingly called Gemini platform, and the regions page mentions Gemini Enterprise Agent Platform. In SDK examples for generate_content the cloud side is enabled with vertexai=True, while Google's newer Interactions API examples use enterprise=True; check the documentation for your SDK version. In this article I call that side Vertex, the way developers are used to.
What the two products are
Gemini Developer API (also called Gemini API) works with a key issued by Google AI Studio. Google's documentation directly recommends it to most developers unless they have specific enterprise requirements.
Vertex AI lives inside Google Cloud. It needs a cloud project, a billing account, and access control through IAM and service accounts. In return you get the cloud's enterprise features: centralized permissions, auditing, and ties to your organization's projects.
Both products are available through the single google-genai SDK. The difference shows up as soon as you create the client:
from google import genai
USE_VERTEX = False
if USE_VERTEX:
# Vertex: cloud project and region
client = genai.Client(vertexai=True, project="your-project-id", location="us-central1")
else:
# Gemini Developer API: key from AI Studio (usually via an environment variable)
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.8-flash",
contents="Explain the difference between a list and a tuple in Python",
)
print(response.text)The rest of the code after creating the client is the same. That is why moving between the two sides of Google usually comes down to changing how you authenticate.
Gemini API vs Vertex API: summary table
| Criterion | Gemini Developer API | Vertex (Gemini platform) |
|---|---|---|
| Authentication | API key from AI Studio | Google Cloud service accounts |
| Getting started | free tier with limits | cloud project and billing account |
| Paid mode | link a billing account, prepay from $5 | regular cloud billing |
| Regions | only countries on Google's list | its own set of regions, which may differ |
| Management | keys and projects in AI Studio | IAM, organizations, auditing |
| Best for | prototypes, small products | companies with cloud requirements |
What to know about each row.
Billing. According to Google's documentation, new Gemini Developer API accounts start on a free tier. To go paid you link a billing account and add at least $5 (or the equivalent in another currency); limits then rise by tier depending on spend. Terms change, so check the Billing page in Google's documentation for the current scheme.
Regions. Gemini API and AI Studio are available only in countries on Google's official list. If your country is not there, Google points to the cloud platform route. At the time of writing Russia is not on the list. Using Vertex requires a cloud account and a payment method, which have their own conditions. Check them on Google's site in advance.
Migration. Google describes moving like this: Vertex needs service accounts, and you can reuse an existing cloud project. Models you tuned in AI Studio have to be retrained. A Gemini API key you no longer need should be deleted.
The third route: an OpenAI-compatible gateway
Sometimes neither an AI Studio key nor a cloud project fits: because of your country, payment method, or simply not wanting two accounts for one model. Then a gateway with an OpenAI-compatible API remains. With Zukko it looks like this: one fetch_... key, one dollar balance, and Gemini models available as gemini-3.8-flash and gemini-3.7-flash.
from openai import OpenAI
client = OpenAI(
base_url="https://api.zukko.pro/v1",
api_key="fetch_your_key",
)
response = client.chat.completions.create(
model="gemini-3.8-flash",
messages=[{"role": "user", "content": "Explain the difference between a list and a tuple in Python"}],
)
print(response.choices[0].message.content)The same client and key work with Claude, GPT, DeepSeek, Qwen and GLM: only the model string changes. The current model list comes from GET https://api.zukko.pro/v1/models.
Access from Russia goes through the gateway, with payment by SBP (the payment page adds 8.5% on top), MasterCard, or crypto.
What it means for price
Prices as of 18 October 2026, dollars per 1M tokens. For gemini-3.8-flash, Zukko charges 0.125 for input and 0.6 for output; the provider's prices in our table are 0.75 and 3.75. An example for a volume of 1M input tokens and 200K output tokens (summed over a series of requests):
- on Zukko: 1 × 0.125 + 0.2 × 0.6 = 0.125 + 0.12 = $0.245;
- at the official prices from the table: 1 × 0.75 + 0.2 × 3.75 = 0.75 + 0.75 = $1.50.
Cache is billed separately: reading the cache for Gemini 3.8 Flash costs 0.013 per 1M, writing it 0.125. Current prices are always on the Models page in the dashboard.
What you give up
A gateway costs you some features. The chat/completions format has none of the native Google capabilities that exist only in their own APIs: Live API, Files API, grounding with Google Search. If you need those, a direct Gemini API or Vertex stays the answer. Also, gemini-3.8-flash and gemini-3.7-flash in our catalog accept text input only, without images. For image tasks, look at other models in the table: claude-sonnet-5-5 and gpt-6.1-sol accept images.
How to choose
- You need cloud enterprise controls (IAM, auditing, organizations) and already have a cloud project: Vertex.
- You need native Gemini features such as Live API and your country is on Google's list: Gemini Developer API.
- You need text chat, classification, data extraction or an agent on Gemini 3.8 Flash, and want one key for all models: a gateway.
- Not sure: test on your own data first. Compare quality and price on 20 to 30 real requests instead of relying on rankings.
More on the route for Russia: Gemini in Russia via API and Gemini 3.8 Flash via API. On choosing between a gateway and direct access: gateway or direct API.
Create a key in the dashboard; the request format and the model list are described in the Zukko docs.
FAQ
Are Gemini API and Vertex AI different models?
No, they are two ways to reach the same model family. Authentication, billing, regions and the set of enterprise features differ. The set of models and their versions on each side can diverge; check Google's catalogs.
Can I write the code once and switch between them?
Yes, the google-genai SDK supports both sides, and only client creation changes (genai.Client() or genai.Client(vertexai=True, ...)). If you want a switch between several providers at once, the OpenAI-compatible format is more convenient: you change base_url and model.
Do I need Vertex for production?
Not necessarily. Google recommends the Gemini Developer API to most developers and points to the cloud side where enterprise controls are required. Decide by your company's requirements, not by the name.
How do I connect Gemini through Zukko?
Create a key in the dashboard, set base_url="https://api.zukko.pro/v1" in the OpenAI SDK and use the model gemini-3.8-flash. If a request returns 404, check the model name via GET /v1/models.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- OpenAI API vs Anthropic API: the format differences and what to pick for your codeTwo request formats solve the same task but differ in details that break code when porting. A comparison of structure, tools, streaming, cache and headers.
- OpenRouter: what the service is and who it suits in 2026OpenRouter offers one API and one balance for many models from different providers. We cover how it works, its fees and limits, and when another gateway is more convenient.
- OpenAI API Keys in the Open: Why You Should Not Use ThemWhere free keys on GitHub come from, why using them is dangerous for you and for the owner, and how to protect your own key from the same leak.
- GLM API Errors: Why the Request Fails and How to Fix ItA wrong model id, an overflowing 128K context, the key, the balance, limits: the typical causes of GLM API errors and a quick way to find yours.