Providers
Google (Gemini)
O Plugin Google fornece acesso aos modelos Gemini por meio do Google AI Studio, além de geração de imagens, compreensão de mídia (imagem/áudio/vídeo), conversão de texto em fala e pesquisa na web via Gemini Grounding.
- Provedor:
google - Autenticação:
GEMINI_API_KEYouGOOGLE_API_KEY - API: Google Gemini API
- Opção de runtime: provedor/modelo
agentRuntime.id: "google-gemini-cli"reutiliza o OAuth do Gemini CLI, mantendo as refs de modelo canônicas comogoogle/*.
Primeiros passos
Escolha seu método de autenticação preferido e siga as etapas de configuração.
API key
Melhor para: acesso padrão à Gemini API pelo Google AI Studio.
Run onboarding
openclaw onboard --auth-choice gemini-api-keyOu passe a chave diretamente:
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"Set a default model
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Verify the model is available
openclaw models list --provider googleGemini CLI (OAuth)
Melhor para: reutilizar um login existente do Gemini CLI via PKCE OAuth em vez de uma chave de API separada.
Install the Gemini CLI
O comando local gemini deve estar disponível no PATH.
# Homebrewbrew install gemini-cli # or npmnpm install -g @google/gemini-cliO OpenClaw oferece suporte a instalações pelo Homebrew e instalações npm globais, incluindo layouts comuns do Windows/npm.
Log in via OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultVerify the model is available
openclaw models list --provider google- Modelo padrão:
google/gemini-3.1-pro-preview - Runtime:
google-gemini-cli - Alias:
gemini-cli
O ID de modelo da Gemini API para Gemini 3.1 Pro é gemini-3.1-pro-preview. O OpenClaw aceita o google/gemini-3.1-pro mais curto como um alias de conveniência e o normaliza antes das chamadas ao provedor.
Variáveis de ambiente:
OPENCLAW_GEMINI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(Ou as variantes GEMINI_CLI_*.)
As refs de modelo google-gemini-cli/* são aliases de compatibilidade legados. Novas
configurações devem usar refs de modelo google/* mais o runtime google-gemini-cli
quando quiserem execução local do Gemini CLI.
Capacidades
| Capacidade | Compatível |
|---|---|
| Conclusões de chat | Sim |
| Geração de imagens | Sim |
| Geração de música | Sim |
| Conversão de texto em fala | Sim |
| Voz em tempo real | Sim (Google Live API) |
| Compreensão de imagens | Sim |
| Transcrição de áudio | Sim |
| Compreensão de vídeo | Sim |
| Pesquisa na web (Grounding) | Sim |
| Pensamento/raciocínio | Sim (Gemini 2.5+ / Gemini 3+) |
| Modelos Gemma 4 | Sim |
Pesquisa na web
O provedor de pesquisa na web gemini incluído usa grounding do Google Search no Gemini.
Configure uma chave de pesquisa dedicada em plugins.entries.google.config.webSearch,
ou permita que ele reutilize models.providers.google.apiKey apó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", }, }, }, }, },}A precedência de credenciais é webSearch.apiKey dedicado, depois GEMINI_API_KEY,
depois models.providers.google.apiKey. webSearch.baseUrl é opcional e
existe para proxies de operadores ou endpoints compatíveis da Gemini API; quando omitido,
a pesquisa na web do Gemini reutiliza models.providers.google.baseUrl. Consulte
Pesquisa Gemini para o comportamento da ferramenta específico do provedor.
Geração de imagens
O provedor de geração de imagens google incluído usa como padrão
google/gemini-3.1-flash-image-preview.
- Também oferece suporte a
google/gemini-3-pro-image-preview - Gerar: até 4 imagens por solicitação
- Modo de edição: habilitado, até 5 imagens de entrada
- Controles de geometria:
size,aspectRatioeresolution
Para usar Google como provedor de imagens padrão:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Geração de vídeo
O Plugin google incluído também registra geração de vídeo por meio da ferramenta compartilhada
video_generate.
- Modelo de vídeo padrão:
google/veo-3.1-fast-generate-preview - Modos: fluxos de texto para vídeo, imagem para vídeo e referência de vídeo único
- Oferece suporte a
aspectRatio(16:9,9:16) eresolution(720P,1080P); saída de áudio não é compatível com Veo atualmente - Durações compatíveis: 4, 6 ou 8 segundos (outros valores se ajustam ao valor permitido mais próximo)
Para usar Google como provedor de vídeo padrão:
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Geração de música
O Plugin google incluído também registra geração de música por meio da ferramenta compartilhada
music_generate.
- Modelo de música padrão:
google/lyria-3-clip-preview - Também oferece suporte a
google/lyria-3-pro-preview - Controles de prompt:
lyricseinstrumental - Formato de saída:
mp3por padrão, além dewavemgoogle/lyria-3-pro-preview - Entradas de referência: até 10 imagens
- Execuções com sessão destacam-se por meio do fluxo compartilhado de tarefa/status, incluindo
action: "status"
Para usar Google como provedor de música padrão:
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Conversão de texto em fala
O provedor de fala google incluído usa o caminho de TTS da Gemini API com
gemini-3.1-flash-tts-preview.
- Voz padrão:
Kore - Autenticação:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYouGOOGLE_API_KEY - Saída: WAV para anexos TTS comuns, Opus para destinos de nota de voz, PCM para Talk/telefonia
- Saída de nota de voz: o PCM do Google é encapsulado como WAV e transcodificado para Opus de 48 kHz com
ffmpeg
O caminho de TTS Gemini em lote do Google retorna o áudio gerado na resposta
generateContent concluída. Para conversas faladas com a menor latência, use o
provedor de voz em tempo real do Google apoiado pela Gemini Live API em vez de TTS
em lote.
Para usar Google como provedor de TTS padrão:
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", voiceName: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}O TTS da Gemini API usa prompting em linguagem natural para controle de estilo. Defina
audioProfile para prefixar um prompt de estilo reutilizável antes do texto falado. Defina
speakerName quando o texto do prompt fizer referência a um falante nomeado.
O TTS da Gemini API também aceita tags de áudio expressivas entre colchetes no texto,
como [whispers] ou [laughs]. Para manter tags fora da resposta visível do chat
enquanto as envia ao TTS, coloque-as dentro de um bloco [[tts:text]]...[[/tts:text]]:
Here is the clean reply text. [[tts:text]][whispers] Here is the spoken version.[[/tts:text]]Voz em tempo real
O Plugin google incluído registra um provedor de voz em tempo real apoiado pela
Gemini Live API para pontes de áudio de backend, como Voice Call e Google Meet.
| Configuração | Caminho de configuração | Padrão |
|---|---|---|
| Modelo | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-2.5-flash-native-audio-preview-12-2025 |
| Voz | ...google.voice |
Kore |
| Temperatura | ...google.temperature |
(não definido) |
| Sensibilidade de início VAD | ...google.startSensitivity |
(não definido) |
| Sensibilidade de fim VAD | ...google.endSensitivity |
(não definido) |
| Duração do silêncio | ...google.silenceDurationMs |
(não definido) |
| Tratamento de atividade | ...google.activityHandling |
Padrão do Google, start-of-activity-interrupts |
| Cobertura do turno | ...google.turnCoverage |
Padrão do Google, only-activity |
| Desativar VAD automático | ...google.automaticActivityDetectionDisabled |
false |
| Retomada de sessão | ...google.sessionResumption |
true |
| Compressão de contexto | ...google.contextWindowCompression |
true |
| Chave de API | ...google.apiKey |
Usa como fallback models.providers.google.apiKey, GEMINI_API_KEY ou GOOGLE_API_KEY |
Exemplo de configuração em tempo real do 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", }, }, }, }, }, }, },}Para verificação ao vivo por mantenedores, execute
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
O smoke também cobre caminhos de backend/WebRTC da OpenAI; a etapa do Google emite o mesmo
formato de token restrito da Live API usado pelo Control UI Talk, abre o endpoint
WebSocket do navegador, envia o payload inicial de configuração e aguarda
setupComplete.
Configuração avançada
Reutilização direta do cache Gemini
Para execuções diretas da API Gemini (api: "google-generative-ai"), OpenClaw
repassa um identificador cachedContent configurado para as solicitações Gemini.
- Configure parâmetros por modelo ou globais com
cachedContentou o legadocached_content - Se ambos estiverem presentes,
cachedContentprevalece - Valor de exemplo:
cachedContents/prebuilt-context - O uso de acerto de cache Gemini é normalizado para
cacheReaddo OpenClaw a partir decachedContentTokenCountdo upstream
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Notas de uso do JSON do Gemini CLI
Ao usar o provedor OAuth google-gemini-cli, OpenClaw normaliza
a saída JSON da CLI da seguinte forma:
- O texto de resposta vem do campo
responsedo JSON da CLI. - O uso usa
statscomo fallback quando a CLI deixausagevazio. stats.cachedé normalizado paracacheReaddo OpenClaw.- Se
stats.inputestiver ausente, OpenClaw deriva os tokens de entrada destats.input_tokens - stats.cached.
Configuração de ambiente e daemon
Se o Gateway for executado como daemon (launchd/systemd), garanta que GEMINI_API_KEY
esteja disponível para esse processo (por exemplo, em ~/.openclaw/.env ou via
env.shellEnv).
Relacionado
Escolha de provedores, referências de modelo e comportamento de failover.
Parâmetros compartilhados da ferramenta de imagem e seleção de provedor.
Parâmetros compartilhados da ferramenta de vídeo e seleção de provedor.
Parâmetros compartilhados da ferramenta de música e seleção de provedor.