Google()
Gemini models direct from Google, with your own API key. Costs go direct to the vendor at their rates — no markup, nothing on your Axon balance.
export default defineProfile({
providers: [Google()],
})
Serves google/*, Gemini only.
Credentials
Set the environment variable, or pass key on the declaration:
GOOGLE_GENERATIVE_AI_API_KEY=...
providers: [Google({ key: process.env.MY_OWN_VAR })]
Unlike OpenRouter() and
Codex(), direct providers are not vaulted yet: the
credential comes from the agent's environment. A deployed agent needs it set as a runtime
secret, or should use a vaulted route instead.
Declaring this provider without the variable set is not an error. The failure comes when something tries to use it, and names the variable you need.
Options
Google(options?: ProviderOptions)
| Option | Default | Description |
|---|---|---|
key | GOOGLE_GENERATIVE_AI_API_KEY | Your own credential, passed directly |
url | the provider's API | Endpoint override |
slots | unbounded | Ceiling on concurrent calls a fanned-out role may spend here |
Model ids
Bare Gemini slugs:
export default defineAgent({ model: "google:gemini-3.5-flash" })
Gemini only
The google vendor also publishes Gemma weights and the Lyria audio models. Those are not
served by the Generative Language API under these ids, so no direct route is offered for
them — reach them through OpenRouter() or a local
runtime instead.
The variable name
GOOGLE_GENERATIVE_AI_API_KEY, not GOOGLE_API_KEY. It is the name Google's own SDK
reads, kept as-is so a working setup elsewhere on your machine works here unchanged.