One alias in
front of Gemini.
Your application calls a Relays alias. Relays holds the Gemini credential, applies the route policy, and hands back the provider response in the shape your SDK expects.
- Platform
- OpenAI-compatible
- Lines
- Chat Completions
- Credential
- GEMINI_API_KEY
- Setup
- Built-in preset
- Base URL
- https://generativelanguage.googleapis.com/v1beta/openai
The route.
Relays’ Gemini preset declares the OpenAI-compatible Chat Completions edge. Keep the model ID behind a Relays alias so applications do not take a dependency on a provider string.
- Your applicationSends the OpenAI-compatible request it already sends.
- RelaysHolds the key, picks the candidate, writes the receipt.
- GeminiReceives the call on its own base URL.
Who can cover
for Gemini.
Gemini can be one candidate in an ordered Chat Completions route with other configured OpenAI-compatible providers. The route only attempts candidates declared for that endpoint.
OpenAIChat CompletionsOpenAI
- Mistral AIChat CompletionsOpenAI-compatible
- DeepSeekChat CompletionsOpenAI-compatible
GroqChat CompletionsOpenAI-compatible
Together AIChat CompletionsOpenAI-compatible
Fireworks AIChat CompletionsOpenAI-compatible
- OpenRouterChat CompletionsOpenAI-compatible
- vLLMChat CompletionsOpenAI-compatible
- OllamaChat CompletionsOpenAI-compatible
Models at the edge.
Model IDs sit behind a Relays alias, so a catalogue change at Gemini never reaches your code.
No Gemini catalogue is published on this page. Route candidates are still set by model ID in your route configuration.
Measured,
and not yet.
Availability comes from Gemini. Latency, error rate, and cost per successful request come from your own traffic, so Relays leaves them empty until requests run.
- Upstream status
No public feed
Gemini does not publish a status feed Relays can read, so no availability is reported here.
- Relays measurements
No sample yet
Time to first token, error rate, and cost per successful request are read from requests that ran through Relays. This route has none, so there is nothing to plot.
Ask for an API key
Every route carries a policy.
A route is a list of candidates, a budget, and a record of what happened. You set all three before any traffic runs.
- Candidates
- Fallbacks stay inside the contract: only connections on a shared line can take the call. How a route is chosen
- Ceiling
- An alert threshold and a stop threshold for this route, checked before the call goes upstream.
- Receipt
- Every call records the alias, the candidates tried, each status, tokens in and out, and the estimated cost. Read a route receipt
One endpoint is enough to start.
Keep the client you already wrote. Bring us the workload and we will map the first Gemini route with you.


