Empryoempryo.beta
← Providers
provider

Use Google (Gemini) with Empryo with Empryo

Empryo ships Google Gemini as a built-in provider. Set one API key and route any Gemini model — from the million-token Pro tiers to the cheap, fast Flash models — to whichever agent slot you choose. Gemini's large context and low Flash pricing make it the default workhorse for context compaction and read-only exploration inside Empryo.

Popular models

Gemini 3.1 Pro (gemini-3.1-pro-preview)Gemini 3.1 Flash Lite (gemini-3.1-flash-lite)Gemini 3 Flash (gemini-3-flash-preview)Gemini 2.5 Pro (gemini-2.5-pro)Gemini 2.5 Flash (gemini-2.5-flash)Gemini 2.0 Flash (gemini-2.0-flash)

Setup

1. Get an API key

Create a key at aistudio.google.com. Empryo talks to the Gemini API directly at generativelanguage.googleapis.com — you do not need a Vertex AI / Google Cloud project.

2. Save the key

empryo --set-key google AIza...

The key is stored in your OS keychain when one is available (macOS Login Keychain, Linux libsecret, Windows DPAPI), with an encrypted file fallback otherwise. Confirm it landed:

empryo --list-providers

Or pass it via environment variable

Empryo reads Google's standard env var name. Useful for CI or one-off sessions — nothing is persisted:

GOOGLE_GENERATIVE_AI_API_KEY=AIza... empryo

Lookup order is env → keychain → file by default. Flip it with "keyPriority": "app" in config if an exported shell key keeps overriding your stored one.

3. Pick a model

Inside Empryo, press Ctrl+L to open the model picker and choose any Gemini model. Empryo live-fetches your available models from the Gemini API once the key is set, so you always see exactly what your account can call. To list them from the shell:

empryo --list-models google

Model IDs are namespaced google/<model>, for example google/gemini-2.5-flash or google/gemini-3.1-pro-preview.

4. (Recommended) Route Gemini per task

Gemini Flash is the cheapest, fastest slot-filler in Empryo's task router. The shipped default already uses it for context compaction. Edit ~/.empryo/config.json (or run /router):

{
  "taskRouter": {
    "spark":   "google/gemini-2.5-flash",
    "ember":   "anthropic/claude-sonnet-4-5",
    "compact": "google/gemini-2.5-flash",
    "semantic":"google/gemini-2.5-flash"
  }
}

Or make Gemini the active model everywhere:

{ "defaultModel": "google/gemini-3.1-pro-preview" }

Thinking / reasoning

Empryo maps its thinking config to Gemini's native reasoning controls automatically: Gemini 2.5 models use a thinking *budget*, while Gemini 3.x models use a thinking *level*. Set "thinking": { "mode": "adaptive" } (or "enabled" with a budget) in config and Empryo applies the right knob per model.