Aller au contenu

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_KEY ou GOOGLE_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 forme google/*.

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.

  1. Exécuter l'intégration

    Fenêtre de terminal
    openclaw onboard --auth-choice gemini-api-key

    Ou 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"
  2. Définir un modèle par défaut

    {
    agents: {
    defaults: {
    model: { primary: "google/gemini-3.1-pro-preview" },
    },
    },
    }
  3. Vérifier que le modèle est disponible

    Fenêtre de terminal
    openclaw models list --provider google
CapacitéPris en charge
Chat completionsOui
Génération d’imagesOui
Génération de musiqueOui
Synthèse vocaleOui
Voix en temps réelOui (API Google Live)
Compréhension d’imageOui
Transcription audioOui
Compréhension vidéoOui
Recherche web (Grounding)Oui
Réflexion/raisonnementOui (Gemini 2.5+ / Gemini 3+)
Modèles Gemma 4Oui

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.

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, aspectRatio et resolution

Pour utiliser Google comme provider d’images par défaut :

{
agents: {
defaults: {
imageGenerationModel: {
primary: "google/gemini-3.1-flash-image-preview",
},
},
},
}

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) et resolution (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",
},
},
},
}

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 : lyrics et instrumental
  • Format de sortie : mp3 par défaut, plus wav sur google/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",
},
},
},
}

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, ou GOOGLE_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]]

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ètreChemin de configurationPar défaut
Modèleplugins.entries.voice-call.config.realtime.providers.google.modelgemini-2.5-flash-native-audio-preview-12-2025
Voix...google.voiceKore
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.activityHandlingGoogle par défaut, start-of-activity-interrupts
Couverture de tour...google.turnCoverageGoogle par défaut, only-activity
Désactiver le VAD automatique...google.automaticActivityDetectionDisabledfalse
Reprise de session...google.sessionResumptiontrue
Compression du contexte...google.contextWindowCompressiontrue
Clé API...google.apiKeyRevient à 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.

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 cachedContent ou l’ancien cached_content
  • Si les deux sont présents, cachedContent l’emporte
  • Exemple de valeur : cachedContents/prebuilt-context
  • L’utilisation du cache de Gemini est normalisée dans le cacheRead de OpenClaw à partir de cachedContentTokenCount en 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 response du JSON de la CLI.
  • L’utilisation revient à stats lorsque la CLI laisse usage vide.
  • stats.cached est normalisé en OpenClaw cacheRead.
  • Si stats.input est manquant, OpenClaw dérive les jetons d’entrée de stats.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).

Sélection du modèle

Choisir les fournisseurs, les références de modèle et le comportement de basculement.

Génération d'images

Paramètres de l’outil d’image partagés et sélection du provider.

Génération de vidéos

Paramètres de l’outil vidéo partagés et sélection du provider.

Génération de musique

Paramètres de l’outil de musique partagés et sélection du provider.