Providers
Google (Gemini)
Il Plugin Google fornisce accesso ai modelli Gemini tramite Google AI Studio, oltre a generazione di immagini, comprensione dei contenuti multimediali (immagine/audio/video), sintesi vocale e ricerca web tramite Gemini Grounding.
- Fornitore:
google - Autenticazione:
GEMINI_API_KEYoGOOGLE_API_KEY - API: Google Gemini API
- Opzione runtime: provider/model
agentRuntime.id: "google-gemini-cli"riutilizza OAuth di Gemini CLI mantenendo canonici i riferimenti ai modelli comegoogle/*.
Per iniziare
Scegli il metodo di autenticazione preferito e segui i passaggi di configurazione.
API key
Ideale per: accesso standard a Gemini API tramite Google AI Studio.
Run onboarding
openclaw onboard --auth-choice gemini-api-keyOppure passa direttamente la chiave:
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"Set a default model
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Verify the model is available
openclaw models list --provider googleGemini CLI (OAuth)
Ideale per: riutilizzare un accesso Gemini CLI esistente tramite OAuth PKCE invece di una chiave API separata.
Install the Gemini CLI
Il comando locale gemini deve essere disponibile in PATH.
# Homebrewbrew install gemini-cli # or npmnpm install -g @google/gemini-cliOpenClaw supporta sia le installazioni Homebrew sia le installazioni npm globali, inclusi i layout comuni di Windows/npm.
Log in via OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultVerify the model is available
openclaw models list --provider google- Modello predefinito:
google/gemini-3.1-pro-preview - Runtime:
google-gemini-cli - Alias:
gemini-cli
L'id modello Gemini API di Gemini 3.1 Pro e gemini-3.1-pro-preview. OpenClaw accetta il piu breve google/gemini-3.1-pro come alias di comodita e lo normalizza prima delle chiamate al provider.
Variabili d'ambiente:
OPENCLAW_GEMINI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(Oppure le varianti GEMINI_CLI_*.)
I riferimenti modello google-gemini-cli/* sono alias di compatibilita legacy. Le nuove
configurazioni devono usare riferimenti modello google/* piu il runtime google-gemini-cli
quando vogliono l'esecuzione locale di Gemini CLI.
Capacita
| Capacita | Supportata |
|---|---|
| Completamenti chat | Si |
| Generazione immagini | Si |
| Generazione musica | Si |
| Sintesi vocale | Si |
| Voce in tempo reale | Si (Google Live API) |
| Comprensione immagini | Si |
| Trascrizione audio | Si |
| Comprensione video | Si |
| Ricerca web (Grounding) | Si |
| Pensiero/ragionamento | Si (Gemini 2.5+ / Gemini 3+) |
| Modelli Gemma 4 | Si |
Ricerca web
Il provider di ricerca web gemini incluso usa il grounding di Gemini Google Search.
Configura una chiave di ricerca dedicata in plugins.entries.google.config.webSearch,
oppure lascia che riutilizzi models.providers.google.apiKey dopo GEMINI_API_KEY:
{ plugins: { entries: { google: { config: { webSearch: { apiKey: "AIza...", // optional if GEMINI_API_KEY or models.providers.google.apiKey is set baseUrl: "https://generativelanguage.googleapis.com/v1beta", // falls back to models.providers.google.baseUrl model: "gemini-2.5-flash", }, }, }, }, },}La precedenza delle credenziali e webSearch.apiKey dedicata, poi GEMINI_API_KEY,
poi models.providers.google.apiKey. webSearch.baseUrl e facoltativo ed
esiste per proxy operatore o endpoint Gemini API compatibili; quando viene omesso,
la ricerca web Gemini riutilizza models.providers.google.baseUrl. Vedi
Ricerca Gemini per il comportamento dello strumento specifico del provider.
Generazione immagini
Il provider di generazione immagini google incluso usa per impostazione predefinita
google/gemini-3.1-flash-image-preview.
- Supporta anche
google/gemini-3-pro-image-preview - Generazione: fino a 4 immagini per richiesta
- Modalita modifica: abilitata, fino a 5 immagini di input
- Controlli geometrici:
size,aspectRatioeresolution
Per usare Google come provider di immagini predefinito:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Generazione video
Il Plugin google incluso registra anche la generazione video tramite lo strumento condiviso
video_generate.
- Modello video predefinito:
google/veo-3.1-fast-generate-preview - Modalita: flussi testo-a-video, immagine-a-video e riferimento a video singolo
- Supporta
aspectRatio(16:9,9:16) eresolution(720P,1080P); l'output audio non e supportato da Veo oggi - Durate supportate: 4, 6 o 8 secondi (gli altri valori vengono arrotondati al valore consentito piu vicino)
Per usare Google come provider video predefinito:
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Generazione musica
Il Plugin google incluso registra anche la generazione musica tramite lo strumento condiviso
music_generate.
- Modello musicale predefinito:
google/lyria-3-clip-preview - Supporta anche
google/lyria-3-pro-preview - Controlli prompt:
lyricseinstrumental - Formato di output:
mp3per impostazione predefinita, piuwavsugoogle/lyria-3-pro-preview - Input di riferimento: fino a 10 immagini
- Le esecuzioni basate su sessione si distaccano tramite il flusso condiviso task/stato, incluso
action: "status"
Per usare Google come provider musicale predefinito:
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Sintesi vocale
Il provider vocale google incluso usa il percorso TTS di Gemini API con
gemini-3.1-flash-tts-preview.
- Voce predefinita:
Kore - Autenticazione:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYoGOOGLE_API_KEY - Output: WAV per allegati TTS regolari, Opus per destinazioni con note vocali, PCM per Talk/telefonia
- Output note vocali: PCM di Google viene avvolto come WAV e transcodificato in Opus a 48 kHz con
ffmpeg
Il percorso TTS batch Gemini di Google restituisce l'audio generato nella risposta
generateContent completata. Per conversazioni parlate con la latenza piu bassa, usa il
provider voce in tempo reale di Google basato su Gemini Live API invece del TTS batch.
Per usare Google come provider TTS predefinito:
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}Gemini API TTS usa prompt in linguaggio naturale per il controllo dello stile. Imposta
audioProfile per anteporre un prompt di stile riutilizzabile prima del testo parlato. Imposta
speakerName quando il testo del prompt fa riferimento a un parlante nominato.
Gemini API TTS accetta anche tag audio espressivi tra parentesi quadre nel testo,
come [whispers] o [laughs]. Per tenere i tag fuori dalla risposta chat visibile
mentre li invii al TTS, mettili dentro un blocco [[tts:text]]...[[/tts:text]]:
Here is the clean reply text. [[tts:text]][whispers] Here is the spoken version.[[/tts:text]]Voce in tempo reale
Il Plugin google incluso registra un provider voce in tempo reale basato su
Gemini Live API per bridge audio backend come Voice Call e Google Meet.
| Impostazione | Percorso di configurazione | Predefinito |
|---|---|---|
| Modello | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-2.5-flash-native-audio-preview-12-2025 |
| Voce | ...google.voice |
Kore |
| Temperatura | ...google.temperature |
(non impostato) |
| Sensibilità di avvio VAD | ...google.startSensitivity |
(non impostato) |
| Sensibilità di fine VAD | ...google.endSensitivity |
(non impostato) |
| Durata del silenzio | ...google.silenceDurationMs |
(non impostato) |
| Gestione attività | ...google.activityHandling |
Predefinito Google, start-of-activity-interrupts |
| Copertura del turno | ...google.turnCoverage |
Predefinito Google, only-activity |
| Disabilita VAD automatico | ...google.automaticActivityDetectionDisabled |
false |
| Ripresa della sessione | ...google.sessionResumption |
true |
| Compressione del contesto | ...google.contextWindowCompression |
true |
| Chiave API | ...google.apiKey |
Ripiega su models.providers.google.apiKey, GEMINI_API_KEY o GOOGLE_API_KEY |
Esempio di configurazione realtime di Voice Call:
{ plugins: { entries: { "voice-call": { enabled: true, config: { realtime: { enabled: true, provider: "google", providers: { google: { model: "gemini-2.5-flash-native-audio-preview-12-2025", speakerVoice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "only-activity", }, }, }, }, }, }, },}Per la verifica live dei maintainer, esegui
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
Lo smoke copre anche i percorsi backend/WebRTC di OpenAI; la parte Google genera la stessa
forma di token Live API vincolato usata da Control UI Talk, apre l'endpoint
WebSocket del browser, invia il payload di configurazione iniziale e attende
setupComplete.
Configurazione avanzata
Direct Gemini cache reuse
Per esecuzioni dirette di Gemini API (api: "google-generative-ai"), OpenClaw
passa un handle cachedContent configurato alle richieste Gemini.
- Configura i parametri per modello o globali con
cachedContentoppure con il legacycached_content - Se sono presenti entrambi, prevale
cachedContent - Valore di esempio:
cachedContents/prebuilt-context - L'utilizzo degli hit della cache Gemini viene normalizzato in
cacheReaddi OpenClaw dacachedContentTokenCountupstream
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Gemini CLI usage notes
Quando si usa il provider OAuth google-gemini-cli, OpenClaw usa per impostazione predefinita
l'output stream-json della CLI Gemini e normalizza l'utilizzo dal payload finale
stats. Gli override legacy --output-format json usano ancora il
parser JSON.
- Il testo della risposta in streaming proviene dagli eventi
messagedell'assistente. - Per l'output JSON legacy, il testo della risposta proviene dal campo
responsedel JSON della CLI. - L'utilizzo ripiega su
statsquando la CLI lasciausagevuoto. stats.cachedviene normalizzato incacheReaddi OpenClaw.- Se
stats.inputmanca, OpenClaw deriva i token di input dastats.input_tokens - stats.cached.
Environment and daemon setup
Se il Gateway viene eseguito come daemon (launchd/systemd), assicurati che GEMINI_API_KEY
sia disponibile per quel processo (ad esempio in ~/.openclaw/.env o tramite
env.shellEnv).
Correlati
Scelta di provider, riferimenti modello e comportamento di failover.
Parametri condivisi dello strumento immagine e selezione del provider.
Parametri condivisi dello strumento video e selezione del provider.
Parametri condivisi dello strumento musica e selezione del provider.