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_KEY ou GOOGLE_API_KEY
  • API : API Google Gemini
  • Option d’exécution : agents.defaults.agentRuntime.id: "google-gemini-cli" réutilise l’OAuth Gemini CLI tout en conservant les références de modèles canoniques sous la forme google/*.

Bien démarrer

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’onboarding

    openclaw onboard --auth-choice gemini-api-key
    

    Ou transmettez la clé directement :

    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

    openclaw models list --provider google
    
  • Gemini CLI (OAuth)

    Idéal pour : réutiliser une connexion Gemini CLI existante via PKCE OAuth plutôt qu’une clé API séparée.

  • Installer Gemini CLI

    La commande locale gemini doit être disponible dans PATH.

    # Homebrew
    brew install gemini-cli
    
    # or npm
    npm install -g @google/gemini-cli
    

    OpenClaw prend en charge les installations Homebrew et les installations npm globales, y compris les dispositions Windows/npm courantes.

  • Se connecter via OAuth

    openclaw models auth login --provider google-gemini-cli --set-default
    
  • Vérifier que le modèle est disponible

    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 de modèle Gemini API de Gemini 3.1 Pro est gemini-3.1-pro-preview. OpenClaw accepte la forme plus courte google/gemini-3.1-pro comme alias pratique et la normalise avant les appels au fournisseur.

    Variables d’environnement :

    • OPENCLAW_GEMINI_OAUTH_CLIENT_ID
    • OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET

    (Ou les variantes GEMINI_CLI_*.)

    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 le runtime google-gemini-cli lorsqu’elles souhaitent une exécution locale de Gemini CLI.

    Capacités

    Capacité Pris en charge
    Complétions de chat Oui
    Génération d’images Oui
    Génération de musique Oui
    Synthèse vocale Oui
    Voix en temps réel Oui (Google Live API)
    Compréhension d’images 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

    Le fournisseur de recherche web gemini intégré utilise le grounding Gemini Google Search. 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 la clé dédiée webSearch.apiKey, puis GEMINI_API_KEY, puis models.providers.google.apiKey. webSearch.baseUrl est facultatif et existe pour les proxys d’opérateur ou les points de terminaison compatibles avec Gemini API ; lorsqu’il est omis, la recherche web Gemini réutilise models.providers.google.baseUrl. Consultez Recherche Gemini pour le comportement d’outil propre au 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 édition : activé, jusqu’à 5 images d’entrée
    • Contrôles de géométrie : size, aspectRatio et resolution

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

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

    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, resolution et audio
    • Limite de durée actuelle : 4 à 8 secondes

    Pour utiliser Google comme fournisseur vidéo 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 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 adossées à une session se détachent via le flux partagé de tâche/statut, y compris 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 chemin TTS de Gemini API avec gemini-3.1-flash-tts-preview.

    • Voix par défaut : Kore
    • Authentification : messages.tts.providers.google.apiKey, models.providers.google.apiKey, GEMINI_API_KEY ou GOOGLE_API_KEY
    • Sortie : WAV pour les pièces jointes TTS standard, 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 Gemini TTS par lot de Google renvoie l’audio généré dans la réponse generateContent terminée. Pour des conversations parlées à latence minimale, utilisez le fournisseur vocal temps réel de Google adossé à Gemini Live API plutôt que la TTS par lot.

    Pour utiliser Google comme fournisseur 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.",
            },
          },
        },
      },
    }
    

    Gemini API TTS utilise le prompting en langage naturel pour le contrôle du style. Définissez audioProfile pour préfixer un prompt de style réutilisable avant le texte parlé. Définissez speakerName lorsque le texte de votre prompt fait référence à un locuteur nommé.

    Gemini API TTS accepte également dans le texte des balises audio expressives entre crochets, comme [whispers] ou [laughs]. Pour éviter que les balises n’apparaissent dans la réponse de chat visible tout en les envoyant à TTS, placez-les dans 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

    Le Plugin google intégré enregistre un fournisseur vocal temps réel adossé à Gemini Live API pour les ponts audio backend 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-2.5-flash-native-audio-preview-12-2025
    Voix ...google.voice Kore
    Température ...google.temperature (non défini)
    Sensibilité de début 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 Valeur par défaut Google, start-of-activity-interrupts
    Couverture du tour ...google.turnCoverage Valeur par défaut Google, 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 Se rabat sur models.providers.google.apiKey, GEMINI_API_KEY ou GOOGLE_API_KEY

    Exemple de configuration temps réel 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",
                    voice: "Kore",
                    activityHandling: "start-of-activity-interrupts",
                    turnCoverage: "only-activity",
                  },
                },
              },
            },
          },
        },
      },
    }
    

    Pour la vérification live par les mainteneurs, exécutez OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts. La jambe Google émet la même forme de jeton Live API contraint utilisée 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

    Réutilisation directe du cache Gemini

    Pour les exécutions directes de l’API Gemini (api: "google-generative-ai"), OpenClaw transmet un handle 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 des accès au cache Gemini est normalisée dans OpenClaw cacheRead depuis le cachedContentTokenCount amont
    {
      agents: {
        defaults: {
          models: {
            "google/gemini-2.5-pro": {
              params: {
                cachedContent: "cachedContents/prebuilt-context",
              },
            },
          },
        },
      },
    }
    
    Notes d’utilisation JSON de Gemini CLI

    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 se rabat sur stats lorsque la CLI laisse usage vide.
    • stats.cached est normalisé dans OpenClaw cacheRead.
    • Si stats.input est manquant, OpenClaw déduit les jetons d’entrée depuis stats.input_tokens - stats.cached.
    Configuration de l’environnement et du démon

    Si le Gateway s’exécute comme démon (launchd/systemd), assurez-vous que GEMINI_API_KEY est disponible pour ce processus (par exemple, dans ~/.openclaw/.env ou via env.shellEnv).

    Articles associés