Google GenAI and agy
Use the native Gemini Developer API through Backplane, or keep the existing Google Antigravity (agy) subscription route explicit and separate.
The google-gemini-developer provider uses the official Gemini GenerateContent API at /v1beta. Configure an API-key credential in the admin provider settings; Backplane injects it upstream and never forwards caller credentials. Clients may authenticate with Authorization: Bearer, x-api-key, or the Google SDK's x-goog-api-key compatibility header using the same Backplane client token.
The native Google surface supports model listing, model details, generateContent, streamGenerateContent with alt=sse, and countTokens. Use the Google-shaped request and response bodies; this route does not silently translate to OpenAI.
The google-antigravity provider is a separate OAuth subscription surface for the existing agy workflow. It uses its own native Cloud Code protocol and credential; do not reuse a Gemini API key or treat Antigravity as the public Gemini Developer API.
Configure your client
- In the admin LLM provider page, create Google Gemini Developer API with the google-gemini-developer preset, bind an API-key credential, and confirm the base URL ends in /v1beta.
- Grant the client llm::models and/or llm::invoke, then use the Google resource path under /v1beta with the Backplane bearer token.
- For agy, select the separate google-antigravity preset and its Google OAuth credential. Keep its model aliases and project configuration separate from the Gemini API-key provider.
Request examples
List Google models
curl -H "Authorization: Bearer $LLM_ACCESS_TOKEN" https://backplane.gsmlg.net/v1beta/models
Generate content
curl -X POST \
-H "Authorization: Bearer $LLM_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
https://backplane.gsmlg.net/v1beta/models/gemini-2.5-flash:generateContent \
-d '{"contents":[{"role":"user","parts":[{"text":"Hello from Backplane"}]}]}'
Stream or count tokens
curl -N -X POST https://backplane.gsmlg.net/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse \
-H "Authorization: Bearer $LLM_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d @request.json
curl -X POST https://backplane.gsmlg.net/v1beta/models/gemini-2.5-flash:countTokens \
-H "Authorization: Bearer $LLM_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d @request.json
Google GenAI SDK base URL
# Point the SDK at the Backplane origin and pass the Backplane bearer token.
# The native Google path is /v1beta; do not use /v1/chat/completions.
BACKPLANE_GOOGLE_BASE_URL=https://backplane.gsmlg.net
BACKPLANE_LLM_ACCESS_TOKEN=$LLM_ACCESS_TOKEN
API reference
GET /v1beta/models
GET /v1beta/models/:model
POST /v1beta/models/:model:generateContent
POST /v1beta/models/:model:streamGenerateContent?alt=sse
POST /v1beta/models/:model:countTokens