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 behoudt daarbij canonieke modelverwijzingen als google/*.

Aan de slag

Kies de authenticatiemethode van uw voorkeur en volg de configuratiestappen.

API-sleutel

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

  • Voer de onboarding uit

    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"
  • Stel een standaardmodel in

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

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

    Het meest geschikt voor: het hergebruiken van een bestaande Gemini CLI-aanmelding via PKCE OAuth in plaats van een afzonderlijke API-sleutel.

  • Installeer de Gemini CLI

    De lokale opdracht gemini moet beschikbaar zijn op PATH.

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

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

  • Meld u aan via OAuth

    bash
    openclaw models auth login --provider google-gemini-cli --set-default
  • Controleer 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 de kortere vorm 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

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

    Mogelijkheden

    Mogelijkheid Ondersteund
    Chataanvullingen 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 gemini-provider voor zoeken op het web gebruikt grounding via Google Search van Gemini. Configureer een afzonderlijke zoeksleutel onder plugins.entries.google.config.webSearch, of laat deze na GEMINI_API_KEY de waarde van models.providers.google.apiKey hergebruiken:

    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 prioriteitsvolgorde voor aanmeldgegevens is de specifieke webSearch.apiKey, vervolgens GEMINI_API_KEY en daarna models.providers.google.apiKey. webSearch.baseUrl is optioneel en is bedoeld voor operatorproxy's of compatibele Gemini API-eindpunten; wanneer deze waarde wordt weggelaten, hergebruikt zoeken op het web met Gemini models.providers.google.baseUrl. Zie Zoeken met Gemini voor het providerspecifieke gedrag van de tool.

    Beeldgeneratie

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

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

    Google als standaardprovider voor beelden gebruiken:

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

    Videogeneratie

    De meegeleverde google-plugin 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 procedures 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 aangepast 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 google-plugin registreert ook muziekgeneratie via de gedeelde tool music_generate.

    • Standaardmuziekmodel: google/lyria-3-clip-preview
    • Ondersteunt ook google/lyria-3-pro-preview
    • Promptinstellingen: lyrics en instrumental
    • Uitvoerindeling: standaard mp3, plus wav bij google/lyria-3-pro-preview
    • Referentie-invoer: maximaal 10 beelden
    • Uitvoeringen met een sessie worden losgekoppeld via de gedeelde taak-/statusprocedure, inclusief action: "status"

    Google als standaardprovider voor muziek gebruiken:

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

    Tekst-naar-spraak

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

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

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

    Google als standaard-TTS-provider gebruiken:

    json5
    {  messages: {    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 uw prompttekst naar een spreker met een naam verwijst.

    Gemini API TTS accepteert ook expressieve audiotags tussen vierkante haken in de tekst, zoals [whispers] of [laughs]. Als u wilt voorkomen dat tags in het zichtbare chatantwoord worden weergegeven terwijl ze wel naar TTS worden verzonden, plaatst u ze in een blok [[tts:text]]...[[/tts:text]]:

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

    Realtime spraak

    De meegeleverde google-plugin registreert een realtime spraakprovider die wordt ondersteund 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-standaard, start-of-activity-interrupts
    Beurtdekking ...google.turnCoverage Google-standaard, audio-activity-and-all-video
    Automatische VAD uitschakelen ...google.automaticActivityDetectionDisabled false
    Sessiehervatting ...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

    Voorbeeldconfiguratie voor realtime spraakoproepen:

    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 live verificatie door beheerders OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts uit. De rooktest controleert ook de backend-/WebRTC-paden van OpenAI; het Google-onderdeel maakt hetzelfde beperkte Live API-tokenformaat aan dat door Talk in de Control UI wordt gebruikt, opent het WebSocket-eindpunt van de browser, verzendt de initiële configuratiegegevens en wacht op setupComplete.

    Geavanceerde configuratie

    Direct hergebruik van de Gemini-cache

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

    • Configureer parameters per model of globaal met cachedContent of de verouderde sleutel cached_content
    • Parameters uit een specifieker bereik (modelniveau boven globaal) hebben altijd voorrang. Als binnen hetzelfde bereik beide sleutels zijn ingesteld, heeft cached_content voorrang. Gebruik slechts één sleutel per bereik om verrassingen te voorkomen.
    • Voorbeeldwaarde: cachedContents/prebuilt-context
    • Het cachegebruik bij een treffer in Gemini wordt in OpenClaw genormaliseerd naar cacheRead op basis van de bovenliggende waarde cachedContentTokenCount
    json5
    {  agents: {    defaults: {      models: {        "google/gemini-2.5-pro": {          params: {            cachedContent: "cachedContents/prebuilt-context",          },        },      },    },  },}
    Gebruiksopmerkingen voor de Gemini CLI

    Bij gebruik van de OAuth-provider google-gemini-cli gebruikt OpenClaw standaard de stream-json-uitvoer van de Gemini CLI en normaliseert het gebruik op basis van de uiteindelijke stats-gegevens. Verouderde overschrijvingen met --output-format json blijven de JSON-parser gebruiken.

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

    Als de Gateway als daemon wordt uitgevoerd (launchd/systemd), 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