Providers
Google (Gemini)
Le Plugin Google donne accès 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 - Authentification :
GEMINI_API_KEYouGOOGLE_API_KEY - API : API Google Gemini
- Option d’exécution :
agentRuntime.id: "google-gemini-cli"réutilise l’authentification OAuth de Gemini CLI tout en conservant les références de modèles canoniques sous la formegoogle/*.
Prise en main
Choisissez votre méthode d’authentification préférée et suivez les étapes de configuration.
Clé API
Idéal pour : l’accès standard à l’API Gemini via Google AI Studio.
Exécuter l’intégration initiale
openclaw onboard --auth-choice gemini-api-keyVous pouvez également transmettre directement la clé :
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 la disponibilité du modèle
openclaw models list --provider googleGemini CLI (OAuth)
Idéal pour : réutiliser une connexion Gemini CLI existante via OAuth avec PKCE plutôt qu’une clé API distincte.
Installer Gemini CLI
La commande locale gemini doit être disponible dans PATH.
# Homebrewbrew install gemini-cli # ou npmnpm install -g @google/gemini-cliOpenClaw prend en charge les installations Homebrew et les installations npm globales, y compris les arborescences Windows/npm courantes.
Se connecter via OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultVérifier la disponibilité du modèle
openclaw models list --provider google- Modèle par défaut :
google/gemini-3.1-pro-preview - Environnement d’exécution :
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 la forme abrégée google/gemini-3.1-pro comme alias pratique et la normalise avant les appels au fournisseur.
Variables d’environnement :
OPENCLAW_GEMINI_OAUTH_CLIENT_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
Les références de modèles google-gemini-cli/* sont des alias de compatibilité hérités. Les nouvelles
configurations doivent utiliser des références de modèles google/* avec l’environnement d’exécution google-gemini-cli
lorsqu’elles souhaitent une exécution locale de Gemini CLI.
Fonctionnalités
| Fonctionnalité | Prise en charge |
|---|---|
| Complétions de conversation | 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 des images | Oui |
| Transcription audio | Oui |
| Compréhension des vidéos | Oui |
| Recherche web (Grounding) | Oui |
| Réflexion/raisonnement | Oui (Gemini 2.5+ / Gemini 3+) |
| Modèles Gemma 4 | Oui |
Recherche web
Le fournisseur de recherche web gemini intégré utilise l’ancrage dans 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...", // facultatif si GEMINI_API_KEY ou models.providers.google.apiKey est défini baseUrl: "https://generativelanguage.googleapis.com/v1beta", // utilise models.providers.google.baseUrl en solution de repli model: "gemini-2.5-flash", }, }, }, }, },}L’ordre de priorité des identifiants est la clé dédiée webSearch.apiKey, puis GEMINI_API_KEY,
puis models.providers.google.apiKey. webSearch.baseUrl est facultatif et
est destiné aux proxys d’exploitation ou aux points de terminaison compatibles avec l’API Gemini ; lorsqu’il est omis,
la recherche web Gemini réutilise models.providers.google.baseUrl. Consultez
Recherche Gemini pour connaître le comportement de l’outil propre à ce fournisseur.
Génération d’images
Le fournisseur de génération d’images google intégré utilise 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 requête
- Mode d’édition : activé, jusqu’à 5 images d’entrée
- Contrôles géométriques :
size,aspectRatioetresolution
Pour utiliser Google comme fournisseur d’images par défaut :
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Génération de vidéos
Le Plugin google intégré enregistre également la génération de vidéos 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 parcours avec une seule vidéo de référence
- Prend en charge
aspectRatio(16:9,9:16) etresolution(720P,1080P) ; Veo ne prend actuellement pas en charge la sortie audio - 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 fournisseur de vidéos par défaut :
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Génération de musique
Le Plugin google intégré enregistre également la génération de musique via l’outil partagé
music_generate.
- Modèle musical par défaut :
google/lyria-3-clip-preview - Prend également en charge
google/lyria-3-pro-preview - Contrôles de l’invite :
lyricsetinstrumental - Format de sortie :
mp3par défaut, ainsi quewavavecgoogle/lyria-3-pro-preview - Entrées de référence : jusqu’à 10 images
- Les exécutions associées à une session sont détachées via le flux partagé des tâches et des états, notamment
action: "status"
Pour utiliser Google comme fournisseur de musique par défaut :
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Synthèse vocale
Le fournisseur vocal google intégré utilise le parcours TTS de l’API Gemini avec
gemini-3.1-flash-tts-preview.
- Voix par défaut :
Kore - Authentification :
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYouGOOGLE_API_KEY - Sortie : WAV pour les pièces jointes TTS ordinaires, Opus pour les destinations de notes vocales, PCM pour Talk/la téléphonie
- Sortie des notes vocales : le PCM de Google est encapsulé en WAV et transcodé en Opus à 48 kHz avec
ffmpeg
Le parcours TTS Gemini par lots de Google renvoie le contenu audio généré dans la réponse
generateContent terminée. Pour les conversations vocales avec la latence la plus faible, utilisez le
fournisseur vocal en temps réel de Google reposant sur l’API Gemini Live plutôt que le TTS
par lots.
Pour utiliser Google comme fournisseur TTS par défaut :
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}Le TTS de l’API Gemini utilise des instructions en langage naturel pour contrôler le style. Définissez
audioProfile pour ajouter une instruction de style réutilisable avant le texte prononcé. Définissez
speakerName lorsque le texte de votre invite fait référence à un locuteur nommé.
Le TTS de l’API Gemini accepte également des balises audio expressives entre crochets dans le texte,
telles que [whispers] ou [laughs]. Pour exclure ces balises de la réponse visible dans la conversation
tout en les envoyant au TTS, placez-les dans un bloc [[tts:text]]...[[/tts:text]] :
Voici le texte épuré de la réponse. [[tts:text]][whispers] Voici la version prononcée.[[/tts:text]]Voix en temps réel
Le Plugin google intégré enregistre un fournisseur vocal en temps réel reposant sur
l’API Gemini Live pour les ponts audio d’arrière-plan tels que Voice Call et Google Meet.
| Paramètre | Chemin de configuration | Valeur par défaut |
|---|---|---|
| Modèle | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-3.1-flash-live-preview |
| Voix | ...google.voice |
Kore |
| Température | ...google.temperature |
(non définie) |
| Sensibilité de début du VAD | ...google.startSensitivity |
(non définie) |
| Sensibilité de fin du VAD | ...google.endSensitivity |
(non définie) |
| Durée du silence | ...google.silenceDurationMs |
(non définie) |
| Gestion de l’activité | ...google.activityHandling |
Valeur par défaut de Google, start-of-activity-interrupts |
| Couverture du tour | ...google.turnCoverage |
Valeur par défaut de Google, audio-activity-and-all-video |
| Désactiver le VAD automatique | ...google.automaticActivityDetectionDisabled |
false |
| Reprise de session | ...google.sessionResumption |
true |
| Compression du contexte | ...google.contextWindowCompression |
true |
| Clé API | ...google.apiKey |
Se rabat sur models.providers.google.apiKey, GEMINI_API_KEY ou GOOGLE_API_KEY |
Exemple de configuration en temps réel de Voice Call :
{ plugins: { entries: { "voice-call": { enabled: true, config: { realtime: { enabled: true, provider: "google", providers: { google: { model: "gemini-3.1-flash-live-preview", speakerVoice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "audio-activity-and-all-video", }, }, }, }, }, }, },}Pour la vérification en direct par les responsables de maintenance, exécutez
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
Le test rapide couvre également les chemins backend/WebRTC d’OpenAI ; la partie Google génère
la même structure de jeton restreint pour l’API Live que celle utilisée par Talk de la Control UI,
ouvre le point de terminaison WebSocket du navigateur, envoie la charge utile de configuration
initiale et attend setupComplete.
Configuration avancée
Réutilisation directe du cache Gemini
Pour les exécutions directes de l’API Gemini (api: "google-generative-ai"), OpenClaw
transmet un identifiant cachedContent configuré aux requêtes Gemini.
- Configurez les paramètres par modèle ou globaux avec
cachedContentou l’anciencached_content - Les paramètres de la portée la plus spécifique (niveau du modèle plutôt que global) sont toujours prioritaires.
Dans une même portée, si les deux clés sont définies,
cached_contentest prioritaire. N’utilisez qu’une seule clé par portée afin d’éviter les surprises. - Exemple de valeur :
cachedContents/prebuilt-context - L’utilisation lors d’une correspondance dans le cache Gemini est normalisée dans
cacheReadd’OpenClaw à partir de la valeur amontcachedContentTokenCount
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Remarques sur l’utilisation de la CLI Gemini
Lors de l’utilisation du fournisseur OAuth google-gemini-cli, OpenClaw utilise par défaut
la sortie stream-json de la CLI Gemini et normalise l’utilisation à partir de la charge utile
stats finale. Les remplacements hérités par --output-format json utilisent toujours
l’analyseur JSON.
- Le texte de réponse diffusé provient des événements
messagede l’assistant. - Pour l’ancienne sortie JSON, le texte de réponse provient du champ
responsedu JSON de la CLI. - L’utilisation se rabat sur
statslorsque la CLI laisseusagevide. stats.cachedest normalisé danscacheReadd’OpenClaw.- Si
stats.inputest absent, OpenClaw déduit les jetons d’entrée à partir destats.input_tokens - stats.cached.
Configuration de l’environnement et du démon
Si le Gateway s’exécute comme un démon (launchd/systemd), assurez-vous que GEMINI_API_KEY
est disponible pour ce processus (par exemple dans ~/.openclaw/.env ou via
env.shellEnv).
Voir aussi
Choix des fournisseurs, des références de modèles et du comportement de basculement.
Paramètres partagés de l’outil d’image et sélection du fournisseur.
Paramètres partagés de l’outil vidéo et sélection du fournisseur.
Paramètres partagés de l’outil musical et sélection du fournisseur.