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)
OptionDefaultDescription
keyGOOGLE_GENERATIVE_AI_API_KEYYour own credential, passed directly
urlthe provider's APIEndpoint override
slotsunboundedCeiling 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.