Google (Gemini)
Le plugin Google permet d’accéder aux modèles Gemini via Google AI Studio, ainsi qu’à la génération d’images, à la compréhension des médias (image/audio/vidéo), à la synthèse vocale et à la recherche Web via Gemini Grounding.
- Fournisseur :
google - Auth :
GEMINI_API_KEYouGOOGLE_API_KEY - API : API Google Gemini
- Option d’exécution : provider/model
agentRuntime.id: "google-gemini-cli"réutilise l’OAuth CLIOAuth Gemini tout en conservant les références de modèle canoniques sous la formegoogle/*.
Getting started
Section intitulée « Getting started »Choisissez votre méthode d’authentification préférée et suivez les étapes de configuration.
Idéal pour : un accès standard à l’API Gemini via Google AI Studio.
Exécuter l'intégration
Fenêtre de terminal openclaw onboard --auth-choice gemini-api-keyOu passez la clé directement :
Fenêtre de terminal openclaw onboard --non-interactive \--mode local \--auth-choice gemini-api-key \--gemini-api-key "$GEMINI_API_KEY"Définir un modèle par défaut
{agents: {defaults: {model: { primary: "google/gemini-3.1-pro-preview" },},},}Vérifier que le modèle est disponible
Fenêtre de terminal openclaw models list --provider google
Idéal pour : réutiliser une connexion existante à Gemini CLI via PKCE OAuth au lieu d’une clé API distincte.
Installer la Gemini CLI
La commande locale
geminidoit être disponible surPATH.Fenêtre de terminal # Homebrewbrew install gemini-cli# or npmnpm install -g @google/gemini-cliOpenClaw prend en charge les installations Homebrew et les installations globales npm, y compris les configurations courantes Windows/npm.
Se connecter via OAuth
Fenêtre de terminal openclaw models auth login --provider google-gemini-cli --set-defaultVérifier que le modèle est disponible
Fenêtre de terminal openclaw models list --provider google
- Modèle par défaut :
google/gemini-3.1-pro-preview - Runtime :
google-gemini-cli - Alias :
gemini-cli
L’identifiant du modèle Gemini API de Gemini 3.1 Pro est gemini-3.1-pro-preview. OpenClaw accepte le google/gemini-3.1-pro plus court comme alias pratique et le normalise avant les appels au fournisseur.
Variables d’environnement :
OPENCLAW_GEMINI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(Ou les variantes GEMINI_CLI_*.)
Les références de modèle google-gemini-cli/* sont des alias de compatibilité hérités. Les nouvelles
configurations doivent utiliser des références de modèle google/* ainsi que le runtime google-gemini-cli
lorsqu’elles souhaitent une exécution locale de Gemini CLI.
Capacités
Section intitulée « Capacités »| Capacité | Pris en charge |
|---|---|
| Chat completions | Oui |
| Génération d’images | Oui |
| Génération de musique | Oui |
| Synthèse vocale | Oui |
| Voix en temps réel | Oui (API Google Live) |
| Compréhension d’image | Oui |
| Transcription audio | Oui |
| Compréhension vidéo | Oui |
| Recherche web (Grounding) | Oui |
| Réflexion/raisonnement | Oui (Gemini 2.5+ / Gemini 3+) |
| Modèles Gemma 4 | Oui |
Recherche Web
Section intitulée « Recherche Web »Le provider de recherche Web gemini intégré utilise l’ancrage Google Search de Gemini.
Configurez une clé de recherche dédiée sous plugins.entries.google.config.webSearch,
ou laissez-le réutiliser models.providers.google.apiKey après 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 priorité des identifiants est webSearch.apiKey, puis GEMINI_API_KEY,
puis models.providers.google.apiKey. webSearch.baseUrl est facultatif et
existe pour les mandataires d’opérateur ou les points de terminaison de l’API Gemini compatibles ; lorsqu’il est omis,
la recherche Web Gemini réutilise models.providers.google.baseUrl. Voir
Recherche Gemini pour le comportement de l’outil spécifique au fournisseur.
Génération d’images
Section intitulée « Génération d’images »Le provider de génération d’images google intégré est par défaut
google/gemini-3.1-flash-image-preview.
- Prend également en charge
google/gemini-3-pro-image-preview - Génération : jusqu’à 4 images par demande
- Mode édition : activé, jusqu’à 5 images en entrée
- Contrôles de géométrie :
size,aspectRatioetresolution
Pour utiliser Google comme provider d’images par défaut :
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Génération vidéo
Section intitulée « Génération vidéo »Le plugin google intégré enregistre également la génération vidéo via l’outil partagé
video_generate.
- Modèle vidéo par défaut :
google/veo-3.1-fast-generate-preview - Modes : texte vers vidéo, image vers vidéo et flux de référence vidéo unique
- Prend en charge
aspectRatio(16:9,9:16) etresolution(720P,1080P) ; la sortie audio n’est pas prise en charge par Veo aujourd’hui - Durées prises en charge : 4, 6 ou 8 secondes (les autres valeurs sont ajustées à la valeur autorisée la plus proche)
Pour utiliser Google comme provider vidéo par défaut :
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Génération musicale
Section intitulée « Génération musicale »Le plugin google fourni enregistre également la génération de musique via l’outil
music_generate partagé.
- Modèle de musique par défaut :
google/lyria-3-clip-preview - Prend également en charge
google/lyria-3-pro-preview - Contrôles de prompt :
lyricsetinstrumental - Format de sortie :
mp3par défaut, pluswavsurgoogle/lyria-3-pro-preview - Entrées de référence : jusqu’à 10 images
- Les exécutions sauvegardées par session se détachent via le flux partagé de tâche/statut, y compris
action: "status"
Pour utiliser Google comme provider musical par défaut :
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Synthèse vocale
Section intitulée « Synthèse vocale »Le fournisseur de synthèse vocale google fourni utilise le chemin TTS de l’API Gemini avec
gemini-3.1-flash-tts-preview.
- Voix par défaut :
Kore - Auth :
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEY, ouGOOGLE_API_KEY - Sortie : WAV pour les pièces jointes TTS régulières, Opus pour les cibles de notes vocales, PCM pour Talk/téléphonie
- Sortie de note vocale : le PCM Google est encapsulé en WAV et transcodé en Opus 48 kHz avec
ffmpeg
Le chemin TTS Gemini par lots de Google renvoie l’audio généré dans la réponse generateContentAPI terminée. Pour des conversations vocales avec la latence la plus faible, utilisez le provider de voix en temps réel de Google soutenu par l’API Gemini Live au lieu du TTS par lots.
Pour utiliser Google comme provider TTS par défaut :
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", voiceName: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}Le TTS de l’API Gemini utilise des invites en langage naturel pour le contrôle du style. Définissez APIaudioProfile pour prépendre une invite de style réutilisable avant le texte parlé. Définissez speakerName lorsque votre texte d’invite fait référence à un locuteur nommé.
Le TTS de l’API Gemini accepte également des balises audio expressives entre crochets carrés dans le texte, telles que API[whispers] ou [laughs]. Pour garder les balises hors de la réponse de chat visible tout en les envoyant au TTS, placez-les à l’intérieur d’un bloc [[tts:text]]...[[/tts:text]] :
Here is the clean reply text.
[[tts:text]][whispers] Here is the spoken version.[[/tts:text]]Voix en temps réel
Section intitulée « Voix en temps réel »Le plugin intégré googleAPI enregistre un provider de voix en temps réel soutenu par l’API Gemini Live pour les ponts audio backend tels que Voice Call et Google Meet.
| Paramètre | Chemin de configuration | Par défaut |
|---|---|---|
| Modèle | plugins.entries.voice-call.config.realtime.providers.google.model | gemini-2.5-flash-native-audio-preview-12-2025 |
| Voix | ...google.voice | Kore |
| Température | ...google.temperature | (non défini) |
| Sensibilité de démarrage VAD | ...google.startSensitivity | (non défini) |
| Sensibilité de fin VAD | ...google.endSensitivity | (non défini) |
| Durée du silence | ...google.silenceDurationMs | (non défini) |
| Gestion de l’activité | ...google.activityHandling | Google par défaut, start-of-activity-interrupts |
| Couverture de tour | ...google.turnCoverage | Google par défaut, only-activity |
| Désactiver le VAD automatique | ...google.automaticActivityDetectionDisabled | false |
| Reprise de session | ...google.sessionResumption | true |
| Compression du contexte | ...google.contextWindowCompression | true |
| Clé API | ...google.apiKey | Revient à models.providers.google.apiKey, GEMINI_API_KEY ou GOOGLE_API_KEY |
Exemple de configuration en temps réel pour l’appel vocal :
{ plugins: { entries: { "voice-call": { enabled: true, config: { realtime: { enabled: true, provider: "google", providers: { google: { model: "gemini-2.5-flash-native-audio-preview-12-2025", voice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "only-activity", }, }, }, }, }, }, },}Pour la vérification en direct par le responsable, exécutez
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
Le smoke test couvre également les chemins backend/WebRTC OpenAI ; la partie Google génère le même
format de jeton Live API contraint utilisé par Control UI Talk, ouvre le point de terminaison
WebSocket du navigateur, envoie la charge utile de configuration initiale et attend
setupComplete.
Configuration avancée
Section intitulée « Configuration avancée »Réutilisation directe du cache Gemini
Pour les exécutions directes de la Gemini API (api: "google-generative-ai"), OpenClaw
transmet un gestionnaire cachedContent configuré aux requêtes Gemini.
- Configurez les paramètres par modèle ou globaux avec
cachedContentou l’anciencached_content - Si les deux sont présents,
cachedContentl’emporte - Exemple de valeur :
cachedContents/prebuilt-context - L’utilisation du cache de Gemini est normalisée dans le
cacheReadde OpenClaw à partir decachedContentTokenCounten amont
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Notes d'utilisation du JSON de la CLI Gemini
Lors de l’utilisation du fournisseur OAuth google-gemini-cli, OpenClaw normalise
la sortie JSON de la CLI comme suit :
- Le texte de réponse provient du champ
responsedu JSON de la CLI. - L’utilisation revient à
statslorsque la CLI laisseusagevide. stats.cachedest normalisé en OpenClawcacheRead.- Si
stats.inputest manquant, OpenClaw dérive les jetons d’entrée destats.input_tokens - stats.cached.
Configuration de l'environnement et du démon
Si la Gateway s’exécute en tant que démon (launchd/systemd), assurez-vous que GEMINI_API_KEY
est disponible pour ce processus (par exemple, dans ~/.openclaw/.env ou via
env.shellEnv).
Connexes
Section intitulée « Connexes »Choisir les fournisseurs, les références de modèle et le comportement de basculement.
Paramètres de l’outil d’image partagés et sélection du provider.
Paramètres de l’outil vidéo partagés et sélection du provider.
Paramètres de l’outil de musique partagés et sélection du provider.