Providers
Google (Gemini)
O plugin do 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: API Google Gemini
- Opção de runtime:
agentRuntime.id: "google-gemini-cli"reutiliza o OAuth da Gemini CLI, mantendo as referências de modelo canônicas comogoogle/*.
Primeiros passos
Escolha seu método de autenticação preferido e siga as etapas de configuração.
Chave de API
Mais indicado para: acesso padrão à API Gemini por meio do Google AI Studio.
Execute a configuração inicial
openclaw onboard --auth-choice gemini-api-keyOu forneça a chave diretamente:
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"Defina um modelo padrão
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Verifique se o modelo está disponível
openclaw models list --provider googleGemini CLI (OAuth)
Mais indicado para: reutilizar um login existente da Gemini CLI via OAuth com PKCE em vez de usar uma chave de API separada.
Instale a Gemini CLI
O comando local gemini deve estar disponível no PATH.
# Homebrewbrew install gemini-cli # ou npmnpm install -g @google/gemini-cliO OpenClaw oferece suporte tanto a instalações pelo Homebrew quanto a instalações globais pelo npm, incluindo layouts comuns do Windows/npm.
Entre via OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultVerifique se o modelo está disponível
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 API Gemini para o Gemini 3.1 Pro é gemini-3.1-pro-preview. O OpenClaw aceita a forma abreviada google/gemini-3.1-pro como um alias de conveniência e a normaliza antes das chamadas ao provedor.
Variáveis de ambiente:
OPENCLAW_GEMINI_OAUTH_CLIENT_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
As referências de modelo google-gemini-cli/* são aliases de compatibilidade legados. Novas
configurações devem usar referências de modelo google/* com o runtime google-gemini-cli
quando quiserem executar localmente a Gemini CLI.
Recursos
| Recurso | 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 integrado de pesquisa na web gemini usa o Grounding com a Pesquisa Google do 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...", // opcional se GEMINI_API_KEY ou models.providers.google.apiKey estiver definida baseUrl: "https://generativelanguage.googleapis.com/v1beta", // usa models.providers.google.baseUrl como alternativa model: "gemini-2.5-flash", }, }, }, }, },}A ordem de precedência das credenciais é: webSearch.apiKey dedicada, depois GEMINI_API_KEY
e, em seguida, models.providers.google.apiKey. webSearch.baseUrl é opcional e
existe para proxies de operadores ou endpoints compatíveis com a API Gemini; quando omitida,
a pesquisa na web do Gemini reutiliza models.providers.google.baseUrl. Consulte
Pesquisa do Gemini para saber mais sobre o comportamento da ferramenta específico do provedor.
Geração de imagens
O provedor integrado de geração de imagens google usa como padrão
google/gemini-3.1-flash-image-preview.
- Também oferece suporte a
google/gemini-3-pro-image-preview - Geração: até 4 imagens por solicitação
- Modo de edição: ativado, com até 5 imagens de entrada
- Controles de geometria:
size,aspectRatioeresolution
Para usar o Google como provedor de imagens padrão:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Geração de vídeos
O plugin integrado google também registra a geração de vídeos por meio da ferramenta compartilhada
video_generate.
- Modelo de vídeo padrão:
google/veo-3.1-fast-generate-preview - Modos: texto para vídeo, imagem para vídeo e fluxos com referência de um único vídeo
- Oferece suporte a
aspectRatio(16:9,9:16) eresolution(720P,1080P); atualmente, o Veo não oferece suporte à saída de áudio - Durações compatíveis: 4, 6 ou 8 segundos (outros valores são ajustados para o valor permitido mais próximo)
Para usar o Google como provedor de vídeos padrão:
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Geração de música
O plugin integrado google também registra a 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 do 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 suporte de sessão são desvinculadas por meio do fluxo compartilhado de tarefa/status, incluindo
action: "status"
Para usar o 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 integrado google usa o caminho de TTS da API Gemini 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 comuns de TTS, Opus para destinos de mensagem de voz e PCM para Talk/telefonia
- Saída de mensagem de voz: o PCM do Google é encapsulado como WAV e transcodificado para Opus de 48 kHz com
ffmpeg
O caminho de TTS em lote do Gemini do Google retorna o áudio gerado na resposta concluída de
generateContent. Para conversas faladas com a menor latência possível, use o
provedor de voz em tempo real do Google baseado na Gemini Live API em vez do TTS
em lote.
Para usar o Google como provedor de TTS padrão:
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}O TTS da API Gemini usa prompts em linguagem natural para controlar o estilo. Defina
audioProfile para acrescentar um prompt de estilo reutilizável antes do texto falado. Defina
speakerName quando o texto do prompt se referir a um locutor pelo nome.
O TTS da API Gemini também aceita tags expressivas de áudio entre colchetes no texto,
como [whispers] ou [laughs]. Para evitar que as tags apareçam na resposta visível do chat
e ainda enviá-las 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 integrado google registra um provedor de voz em tempo real baseado na
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-3.1-flash-live-preview |
| Voz | ...google.voice |
Kore |
| Temperatura | ...google.temperature |
(não definido) |
| Sensibilidade inicial do VAD | ...google.startSensitivity |
(não definido) |
| Sensibilidade final do 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, audio-activity-and-all-video |
| Desativar VAD automático | ...google.automaticActivityDetectionDisabled |
false |
| Retomada de sessão | ...google.sessionResumption |
true |
| Compactação de contexto | ...google.contextWindowCompression |
true |
| Chave de API | ...google.apiKey |
Usa como alternativas models.providers.google.apiKey, GEMINI_API_KEY ou GOOGLE_API_KEY |
Exemplo de configuração em tempo real de chamada de voz:
{ 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", }, }, }, }, }, }, },}Para verificação ao vivo pelos mantenedores, execute
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
O teste de fumaça também abrange os caminhos de back-end/WebRTC da OpenAI; a etapa do Google
emite o mesmo formato restrito de token da API Live usado pelo Talk da Control UI, abre o
endpoint WebSocket do navegador, envia a carga útil inicial de configuração e aguarda
setupComplete.
Configuração avançada
Reutilização direta do cache do Gemini
Para execuções diretas da API Gemini (api: "google-generative-ai"), o OpenClaw
repassa um identificador cachedContent configurado às solicitações do Gemini.
- Configure parâmetros por modelo ou globais com
cachedContentou o formato legadocached_content - Os parâmetros de um escopo mais específico (nível do modelo em vez do global) sempre prevalecem.
No mesmo escopo, se ambas as chaves estiverem definidas,
cached_contentprevalece. Use apenas uma chave por escopo para evitar surpresas. - Exemplo de valor:
cachedContents/prebuilt-context - O uso de acertos no cache do Gemini é normalizado no
cacheReaddo OpenClaw a partir decachedContentTokenCountdo serviço de origem
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Observações sobre o uso da CLI do Gemini
Ao usar o provedor OAuth google-gemini-cli, o OpenClaw usa por padrão a saída
stream-json da CLI do Gemini e normaliza o uso a partir da carga útil stats
final. Substituições legadas com --output-format json ainda usam o analisador
JSON.
- O texto da resposta transmitida vem dos eventos
messagedo assistente. - Para a saída JSON legada, o texto da resposta vem do campo
responsedo JSON da CLI. - O uso recorre a
statsquando a CLI deixausagevazio. stats.cachedé normalizado nocacheReaddo OpenClaw.- Se
stats.inputestiver ausente, o OpenClaw calcula os tokens de entrada a partir destats.input_tokens - stats.cached.
Configuração do ambiente e do daemon
Se o Gateway for executado como daemon (launchd/systemd), certifique-se de que GEMINI_API_KEY
esteja disponível para esse processo (por exemplo, em ~/.openclaw/.env ou por meio de
env.shellEnv).
Relacionados
Escolha de provedores, referências de modelos e comportamento de failover.
Parâmetros compartilhados da ferramenta de imagens e seleção de provedor.
Parâmetros compartilhados da ferramenta de vídeos e seleção de provedor.
Parâmetros compartilhados da ferramenta de músicas e seleção de provedor.