Providers

Google (Gemini)

De Google-Plugin biedt toegang tot Gemini-modellen via Google AI Studio, plus beeldgeneratie, mediabegrip (beeld/audio/video), tekst-naar-spraak en zoeken op het web via Gemini Grounding.

  • Provider: google
  • Authenticatie: GEMINI_API_KEY of GOOGLE_API_KEY
  • API: Google Gemini API
  • Runtime-optie: agentRuntime.id: "google-gemini-cli" hergebruikt Gemini CLI OAuth en houdt modelverwijzingen canoniek als google/*.

Aan de slag

Kies de gewenste authenticatiemethode en volg de configuratiestappen.

API-sleutel

Het meest geschikt voor: standaardtoegang tot de Gemini API via Google AI Studio.

  • Een API-sleutel verkrijgen

    Maak een gratis sleutel aan in Google AI Studio.

  • De onboarding uitvoeren

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

    Of geef de sleutel rechtstreeks door:

    bash
    openclaw onboard --non-interactive \  --mode local \  --auth-choice gemini-api-key \  --gemini-api-key "$GEMINI_API_KEY"
  • Een standaardmodel instellen

    json5
    {  agents: {    defaults: {      model: { primary: "google/gemini-3.1-pro-preview" },    },  },}
  • Controleren of het model beschikbaar is

    bash
    openclaw models list --provider google
  • Met een geconfigureerde API-sleutel vernieuwt OpenClaw de catalogus met tekstmodellen van Google AI Studio via de Gemini models.list-API. Nieuw uitgebrachte varianten van Gemini 3 Pro, Flash en Flash-Lite verschijnen daardoor in openclaw models list --provider google zonder dat je op een nieuwe OpenClaw-versie hoeft te wachten. Als detectie niet beschikbaar is, behoudt OpenClaw de meegeleverde reservecatalogus.

    Gemini CLI (OAuth)

    Het meest geschikt voor: aanmelden met je Google-account via Gemini CLI OAuth in plaats van een afzonderlijke API-sleutel te gebruiken.

  • De Gemini CLI installeren

    De lokale opdracht gemini moet beschikbaar zijn in PATH.

    bash
    # Homebrewbrew install gemini-cli # of npmnpm install -g @google/gemini-cli

    OpenClaw ondersteunt zowel installaties via Homebrew als globale npm-installaties, waaronder gangbare Windows/npm-indelingen.

  • Aanmelden via OAuth

    bash
    openclaw models auth login --provider google-gemini-cli --set-default
  • Controleren of het model beschikbaar is

    bash
    openclaw models list --provider google
    • Standaardmodel: google/gemini-3.1-pro-preview
    • Runtime: google-gemini-cli
    • Alias: gemini-cli

    De Gemini API-model-id van Gemini 3.1 Pro is gemini-3.1-pro-preview. OpenClaw accepteert het kortere google/gemini-3.1-pro als handige alias en normaliseert deze vóór provideraanroepen.

    Omgevingsvariabelen:

    • OPENCLAW_GEMINI_OAUTH_CLIENT_ID / GEMINI_CLI_OAUTH_CLIENT_ID
    • OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET / GEMINI_CLI_OAUTH_CLIENT_SECRET

    De automatische detectie tijdens de onboarding vermeldt een bestaande Gemini CLI-aanmelding, maar test deze nooit automatisch omdat Gemini CLI geen test zonder tools heeft. Kies Gemini CLI OAuth of een Gemini API-sleutel om door te gaan.

    Modelverwijzingen met google-gemini-cli/* zijn verouderde compatibiliteitsaliassen. Nieuwe configuraties moeten modelverwijzingen met google/* plus de runtime google-gemini-cli gebruiken wanneer lokale uitvoering via Gemini CLI gewenst is.

    Mogelijkheden

    Mogelijkheid Ondersteund
    Chatvoltooiingen Ja
    Beeldgeneratie Ja
    Muziekgeneratie Ja
    Tekst-naar-spraak Ja
    Realtime spraak Ja (Google Live API)
    Beeldbegrip Ja
    Audiotranscriptie Ja
    Videobegrip Ja
    Zoeken op het web (Grounding) Ja
    Denken/redeneren Ja (Gemini 2.5+ / Gemini 3+)
    Gemma 4-modellen Ja

    Zoeken op het web

    De meegeleverde webzoekprovider gemini gebruikt Gemini Google Search Grounding. Configureer een specifieke zoeksleutel onder plugins.entries.google.config.webSearch, of laat deze models.providers.google.apiKey hergebruiken na GEMINI_API_KEY:

    json5
    {  plugins: {    entries: {      google: {        config: {          webSearch: {            apiKey: "AIza...", // optioneel als GEMINI_API_KEY of models.providers.google.apiKey is ingesteld            baseUrl: "https://generativelanguage.googleapis.com/v1beta", // valt terug op models.providers.google.baseUrl            model: "gemini-2.5-flash",          },        },      },    },  },}

    De volgorde van prioriteit voor inloggegevens is eerst de specifieke webSearch.apiKey, vervolgens GEMINI_API_KEY en daarna models.providers.google.apiKey. webSearch.baseUrl is optioneel en bestaat voor operatorproxy's of compatibele Gemini API-eindpunten; als deze wordt weggelaten, hergebruikt Gemini-webzoekfunctie models.providers.google.baseUrl. Zie Zoeken met Gemini voor het providerspecifieke gedrag van de tool.

    Beeldgeneratie

    De meegeleverde provider voor beeldgeneratie google gebruikt standaard google/gemini-3.1-flash-image.

    • Ondersteunt ook google/gemini-3-pro-image
    • Genereren: maximaal 4 beelden per verzoek
    • Bewerkingsmodus: ingeschakeld, maximaal 5 invoerbeelden
    • Geometriebesturing: size, aspectRatio en resolution

    Google als standaardprovider voor beelden gebruiken:

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

    Videogeneratie

    De meegeleverde Plugin google registreert ook videogeneratie via de gedeelde tool video_generate.

    • Standaardvideomodel: google/veo-3.1-fast-generate-preview
    • Modi: tekst-naar-video, beeld-naar-video en stromen met één video als referentie
    • Ondersteunt aspectRatio (16:9, 9:16) en resolution (720P, 1080P); audio-uitvoer wordt momenteel niet ondersteund door Veo
    • Ondersteunde tijdsduren: 4, 6 of 8 seconden (andere waarden worden afgerond naar de dichtstbijzijnde toegestane waarde)

    Google als standaardprovider voor video gebruiken:

    json5
    {  agents: {    defaults: {      videoGenerationModel: {        primary: "google/veo-3.1-fast-generate-preview",      },    },  },}

    Muziekgeneratie

    De meegeleverde Plugin google registreert ook muziekgeneratie via de gedeelde tool music_generate.

    • Standaardmuziekmodel: google/lyria-3-clip-preview
    • Ondersteunt ook google/lyria-3-pro-preview
    • Promptbesturing: lyrics en instrumental
    • Uitvoerformaat: standaard mp3, plus wav op google/lyria-3-pro-preview
    • Referentie-invoer: maximaal 10 beelden
    • Uitvoeringen met een sessie worden losgekoppeld via de gedeelde taak-/statusstroom, waaronder action: "status"

    Google als standaardprovider voor muziek gebruiken:

    json5
    {  agents: {    defaults: {      musicGenerationModel: {        primary: "google/lyria-3-clip-preview",      },    },  },}

    Tekst-naar-spraak

    De meegeleverde spraakprovider google gebruikt het TTS-pad van de Gemini API met gemini-3.1-flash-tts-preview.

    • Standaardstem: Kore
    • Authenticatie: tts.providers.google.apiKey, models.providers.google.apiKey, GEMINI_API_KEY of GOOGLE_API_KEY
    • Uitvoer: WAV voor gewone TTS-bijlagen, Opus voor spraakberichtdoelen, PCM voor Talk/telefonie
    • Uitvoer voor spraakberichten: Google PCM wordt verpakt als WAV en met ffmpeg getranscodeerd naar 48 kHz Opus

    Het batchpad voor Gemini TTS van Google retourneert de gegenereerde audio in het voltooide antwoord generateContent. Gebruik voor gesproken gesprekken met de laagste latentie de provider voor realtime spraak van Google, die wordt aangedreven door de Gemini Live API, in plaats van batch-TTS.

    Google als standaard-TTS-provider gebruiken:

    json5
    {  tts: {    auto: "always",    provider: "google",    providers: {      google: {        model: "gemini-3.1-flash-tts-preview",        speakerVoice: "Kore",        audioProfile: "Spreek professioneel met een rustige toon.",      },    },  },}

    Gemini API TTS gebruikt prompts in natuurlijke taal voor stijlbesturing. Stel audioProfile in om vóór de gesproken tekst een herbruikbare stijlprompt toe te voegen. Stel speakerName in wanneer je prompttekst verwijst naar een spreker met een naam.

    Gemini API TTS accepteert in de tekst ook expressieve audiotags tussen vierkante haken, zoals [whispers] of [laughs]. Plaats tags in een [[tts:text]]...[[/tts:text]]-blok om ze buiten het zichtbare chatantwoord te houden en tegelijkertijd naar TTS te verzenden:

    text
    Hier staat de gewone antwoordtekst. [[tts:text]][whispers] Hier staat de gesproken versie.[[/tts:text]]

    Realtime spraak

    De meegeleverde Plugin google registreert een provider voor realtime spraak, die wordt aangedreven door de Gemini Live API, voor audioverbindingen aan de backend, zoals Voice Call en Google Meet.

    Instelling Configuratiepad Standaardwaarde
    Model plugins.entries.voice-call.config.realtime.providers.google.model gemini-3.1-flash-live-preview
    Stem ...google.voice Kore
    Temperatuur ...google.temperature (niet ingesteld)
    VAD-startgevoeligheid ...google.startSensitivity (niet ingesteld)
    VAD-eindgevoeligheid ...google.endSensitivity (niet ingesteld)
    Stilteduur ...google.silenceDurationMs (niet ingesteld)
    Activiteitsafhandeling ...google.activityHandling Google-standaardwaarde, start-of-activity-interrupts
    Beurtdekking ...google.turnCoverage Google-standaardwaarde, audio-activity-and-all-video
    Automatische VAD uitschakelen ...google.automaticActivityDetectionDisabled false
    Sessie hervatten ...google.sessionResumption true
    Contextcompressie ...google.contextWindowCompression true
    API-sleutel ...google.apiKey Valt terug op models.providers.google.apiKey, GEMINI_API_KEY of GOOGLE_API_KEY

    Voorbeeld van een realtimeconfiguratie voor Voice Call:

    json5
    {  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",              },            },          },        },      },    },  },}

    Voer voor liveverificatie door beheerders OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts uit. De smoketest omvat ook OpenAI-backend-/WebRTC-paden; het Google-gedeelte maakt dezelfde beperkte Live API-tokenvorm aan die Control UI Talk gebruikt, opent het WebSocket-eindpunt van de browser, verzendt de initiële installatiepayload plus een JPEG-frame en verifieert een tekstrespons en een functierondreis voor describe_view.

    Geavanceerde configuratie

    Direct hergebruik van Gemini-cache

    Voor rechtstreekse Gemini API-uitvoeringen (api: "google-generative-ai") geeft OpenClaw een geconfigureerde cachedContent-handle door aan Gemini-aanvragen.

    • Configureer parameters per model of globaal met cachedContent of de verouderde cached_content
    • Parameters uit een specifiekere scope (modelniveau boven globaal) krijgen altijd voorrang. Als beide sleutels binnen dezelfde scope zijn ingesteld, krijgt cached_content voorrang. Gebruik slechts één sleutel per scope om verrassingen te voorkomen.
    • Voorbeeldwaarde: cachedContents/prebuilt-context
    • Gemini-cachetreffergebruik wordt genormaliseerd naar OpenClaw cacheRead vanuit upstream cachedContentTokenCount
    json5
    {  agents: {    defaults: {      models: {        "google/gemini-2.5-pro": {          params: {            cachedContent: "cachedContents/prebuilt-context",          },        },      },    },  },}
    Gebruiksopmerkingen voor Gemini CLI

    Bij gebruik van de OAuth-provider google-gemini-cli gebruikt OpenClaw standaard uitvoer van Gemini CLI stream-json en normaliseert het gebruik vanuit de uiteindelijke stats-payload. Verouderde overschrijvingen voor --output-format json gebruiken nog steeds de JSON-parser.

    • Gestreamde antwoordtekst is afkomstig van assistentgebeurtenissen van message.
    • Voor verouderde JSON-uitvoer is de antwoordtekst afkomstig uit het CLI JSON-veld response.
    • Het gebruik valt terug op stats wanneer de CLI usage leeg laat.
    • stats.cached wordt genormaliseerd naar OpenClaw cacheRead.
    • Als stats.input ontbreekt, leidt OpenClaw invoertokens af uit stats.input_tokens - stats.cached.
    Omgevings- en daemonconfiguratie

    Als de Gateway als daemon (launchd/systemd) wordt uitgevoerd, zorg er dan voor dat GEMINI_API_KEY beschikbaar is voor dat proces (bijvoorbeeld in ~/.openclaw/.env of via env.shellEnv).

    Gerelateerd

    Was this useful?
    On this page

    On this page