polygate logopolygate

Provider

Google Gemini

Gemini models, via the Developer API.

Quick start

import polygate
 
response = polygate.chat(
provider="gemini",
model="gemini-2.0-flash",
messages=[{"role": "user", "content": "Say hi in one word."}],
)
 
print(response.content) # "Hi!"
print(response.usage) # Usage(prompt_tokens=..., completion_tokens=...)

Names

Any of these work as provider. They all reach the same adapter, so pick whichever reads best in your code.

geminigoogle

Configuration

VariableHolds
GEMINI_API_KEYyour API key

Any of these may hold a comma-separated list. polygate rotates across them, parks a rate-limited one for its Retry-After, and drops one the provider rejects — so a key pool is configuration, not code.

Endpoint

https://generativelanguage.googleapis.com/v1beta

Pass base_url to point the same wire format somewhere else — a proxy, a regional endpoint, or a gateway in front of it.

Models

Examples that work today. Model names change; the provider's own list is the authority.

gemini-2.0-flashgemini-2.5-pro

Things worth knowing

  • This is the Gemini Developer API, which takes a plain API key. Gemini through Google Cloud is a different product with different auth — see Vertex AI.

Batch

Google Gemini has no offline batch API. To run many requests at once, use map_chat — full price, but it works everywhere and returns in seconds. See Batching & concurrency.

Something wrong or missing here? Open an issue.