Set up Google Gemini
Last validated:
Configure a Google Gemini provider in Aperture so your team can access Gemini models through your tailnet. This guide uses the direct Gemini API with API key authentication, which requires fewer configuration steps than Vertex AI but does not support Anthropic models.
For Vertex AI with service account authentication (which also supports Anthropic models), refer to set up a Vertex AI provider. For Vertex AI with API key authentication, refer to set up a Vertex AI Express provider.
Aperture routes requests based on the model name, not the LLM client. Any LLM client configured to use Aperture can access any provider your admin has set up. Refer to the provider compatibility reference for the full list of supported providers and API formats.
Prerequisites
Before you begin, you need:
- An Aperture instance accessible from your device. Refer to get started with Aperture if you have not set this up.
- A Google AI Studio API key.
Configure the provider
Add Google Gemini as a provider in your Aperture configuration:
{
"providers": {
"gemini": {
"baseurl": "https://generativelanguage.googleapis.com",
"apikey": "<your-gemini-key>",
"authorization": "x-goog-api-key",
"models": ["gemini-2.5-flash", "gemini-2.5-pro"],
"name": "Google Gemini",
"compatibility": {
"gemini_generate_content": true
}
}
}
}
The authorization field controls how Aperture sends the API key. The x-goog-api-key value sends the key in a x-goog-api-key header, which the direct Gemini API requires. The gemini_generate_content flag tells Aperture to use the Gemini API format instead of the default OpenAI chat completions format.
Google publishes -latest aliases (such as gemini-flash-latest) that resolve to the current stable version, so you can use either specific or alias model names. For the full list of available models, refer to the Google AI documentation. Refer to the provider compatibility reference for the full list of flags.
After configuring the provider:
- Grant model access to the users or groups that need these models.
- Set up LLM clients to connect coding tools through Aperture.
Verify the provider
-
Open the Aperture dashboard and confirm the provider appears with the expected models.
-
Send a test request through a connected coding tool (such as Claude Code or Cursor), or use
curl:curl http://<aperture-address>/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model": "<model-name>", "messages": [{"role": "user", "content": "hello"}]}'Replace
<aperture-address>with your Aperture instance address and<model-name>with one of the models you configured for this provider. -
Check the Aperture dashboard session list for a new entry. The session shows the model name, token counts, and timestamp.
If the request fails, refer to the Aperture troubleshooting guide.