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 CLI do Gemini, mantendo as referências de modelo canônicas comogoogle/*.
Primeiros passos
Escolha o método de autenticação de sua preferência e siga as etapas de configuração.
Chave de API
Ideal para: acesso padrão à API Gemini por meio do Google AI Studio.
Obter uma chave de API
Crie uma chave gratuita no Google AI Studio.
Executar a integraçã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"Definir um modelo padrão
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Verificar se o modelo está disponível
openclaw models list --provider googleCLI do Gemini (OAuth)
Ideal para: entrar com sua conta do Google por meio do OAuth da CLI do Gemini, em vez de usar uma chave de API separada.
Instalar a CLI do Gemini
O comando local gemini deve estar disponível em PATH.
# Homebrewbrew install gemini-cli # ou npmnpm install -g @google/gemini-cliO OpenClaw oferece suporte a instalações pelo Homebrew e instalações globais pelo npm, incluindo layouts comuns do Windows/npm.
Entrar via OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultVerificar 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 conveniente 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
A detecção automática da integração inicial lista um login existente da CLI do Gemini, mas nunca o testa automaticamente, pois a CLI do Gemini não tem uma sondagem sem ferramentas. Escolha o OAuth da CLI do Gemini ou uma chave da API Gemini para continuar.
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 execução local pela CLI do Gemini.
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 da 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 definido baseUrl: "https://generativelanguage.googleapis.com/v1beta", // usa models.providers.google.baseUrl como alternativa model: "gemini-2.5-flash", }, }, }, }, },}A precedência de credenciais é webSearch.apiKey dedicado, depois GEMINI_API_KEY
e, por fim, models.providers.google.apiKey. webSearch.baseUrl é opcional e
existe para proxies de operadores ou endpoints compatíveis da API Gemini; quando omitido,
a pesquisa na web do Gemini reutiliza models.providers.google.baseUrl. Consulte
Pesquisa do Gemini para saber o comportamento da ferramenta específico do provedor.
Geração de imagens
O provedor integrado de geração de imagens google usa
google/gemini-3.1-flash-image-preview por padrão.
- Também oferece suporte a
google/gemini-3-pro-image-preview - Geração: até 4 imagens por solicitação
- Modo de edição: ativado, 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ídeo
O plugin integrado google também registra a 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: texto para vídeo, imagem para vídeo e fluxos de referência de vídeo único
- 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ídeo 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 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 baseadas em sessão são desacopladas 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 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 TTS comuns, Opus para destinos de mensagem de voz, PCM para Talk/telefonia
- Saída de mensagem de voz: o PCM do Google é encapsulado como WAV e transcodificado para Opus a 48 kHz com
ffmpeg
O caminho TTS em lote do Gemini 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 baseado na Gemini Live API em vez do TTS
em lote.
Para usar o Google como provedor TTS padrão:
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "Fale profissionalmente com um tom calmo.", }, }, }, },}O TTS da API Gemini usa prompts em linguagem natural para controlar o estilo. Defina
audioProfile para adicionar um prompt de estilo reutilizável antes do texto falado. Defina
speakerName quando o texto do prompt fizer referência a um locutor pelo nome.
O TTS da API Gemini também aceita tags de áudio expressivas entre colchetes no texto,
como [whispers] ou [laughs]. Para manter as tags fora da resposta visível do chat
e ainda enviá-las ao TTS, coloque-as dentro de um bloco [[tts:text]]...[[/tts:text]]:
Aqui está o texto limpo da resposta. [[tts:text]][whispers] Aqui está a versão falada.[[/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 back-end, 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 para chamadas 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 a verificação em ambiente ativo 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 backend/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 de configuração inicial 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 globais ou por modelo com
cachedContentou com a opção legadacached_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. - Valor de exemplo:
cachedContents/prebuilt-context - O uso de acertos de cache do Gemini é normalizado no
cacheReaddo OpenClaw a partir docachedContentTokenCountupstream
{ 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 da carga útil
stats final. As substituições legadas de --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 deriva os tokens de entrada destats.input_tokens - stats.cached.
Configuração do ambiente e do 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 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 provedores.
Parâmetros compartilhados da ferramenta de vídeos e seleção de provedores.
Parâmetros compartilhados da ferramenta de música e seleção de provedores.