Providers
Google (Gemini)
El Plugin de Google proporciona acceso a los modelos Gemini mediante Google AI Studio, además de generación de imágenes, comprensión de medios (imagen/audio/video), texto a voz y búsqueda web mediante Gemini Grounding.
- Proveedor:
google - Autenticación:
GEMINI_API_KEYoGOOGLE_API_KEY - API: Google Gemini API
- Opción de tiempo de ejecución:
agents.defaults.agentRuntime.id: "google-gemini-cli"reutiliza OAuth de Gemini CLI y mantiene las referencias de modelos canónicas comogoogle/*.
Primeros pasos
Elige tu método de autenticación preferido y sigue los pasos de configuración.
API key
Recomendado para: acceso estándar a Gemini API mediante Google AI Studio.
Run onboarding
openclaw onboard --auth-choice gemini-api-key
O pasa la clave directamente:
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 google
Gemini CLI (OAuth)
Recomendado para: reutilizar un inicio de sesión existente de Gemini CLI mediante PKCE OAuth en lugar de una clave de API separada.
Install the Gemini CLI
El comando local gemini debe estar disponible en PATH.
# Homebrew
brew install gemini-cli
# or npm
npm install -g @google/gemini-cli
OpenClaw admite instalaciones con Homebrew e instalaciones globales con npm, incluidos diseños comunes de Windows/npm.
Log in via OAuth
openclaw models auth login --provider google-gemini-cli --set-default
Verify the model is available
openclaw models list --provider google
- Modelo predeterminado:
google/gemini-3.1-pro-preview - Tiempo de ejecución:
google-gemini-cli - Alias:
gemini-cli
El id de modelo de Gemini API de Gemini 3.1 Pro es gemini-3.1-pro-preview. OpenClaw acepta el google/gemini-3.1-pro más corto como alias práctico y lo normaliza antes de las llamadas al proveedor.
Variables de entorno:
OPENCLAW_GEMINI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(O las variantes GEMINI_CLI_*).
Las referencias de modelo google-gemini-cli/* son alias de compatibilidad heredada. Las
configuraciones nuevas deben usar referencias de modelo google/* además del tiempo de ejecución google-gemini-cli
cuando quieran ejecución local de Gemini CLI.
Capacidades
| Capacidad | Compatible |
|---|---|
| Finalizaciones de chat | Sí |
| Generación de imágenes | Sí |
| Generación de música | Sí |
| Texto a voz | Sí |
| Voz en tiempo real | Sí (Google Live API) |
| Comprensión de imágenes | Sí |
| Transcripción de audio | Sí |
| Comprensión de video | Sí |
| Búsqueda web (Grounding) | Sí |
| Pensamiento/razonamiento | Sí (Gemini 2.5+ / Gemini 3+) |
| Modelos Gemma 4 | Sí |
Búsqueda web
El proveedor de búsqueda web gemini incluido usa el grounding de Google Search de Gemini.
Configura una clave de búsqueda dedicada en plugins.entries.google.config.webSearch,
o permite que reutilice models.providers.google.apiKey después de 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",
},
},
},
},
},
}
La precedencia de credenciales es webSearch.apiKey dedicada, luego GEMINI_API_KEY,
luego models.providers.google.apiKey. webSearch.baseUrl es opcional y
existe para proxies de operadores o endpoints compatibles con Gemini API; cuando se omite,
la búsqueda web de Gemini reutiliza models.providers.google.baseUrl. Consulta
Gemini search para ver el comportamiento de herramienta específico del proveedor.
Generación de imágenes
El proveedor de generación de imágenes google incluido usa de forma predeterminada
google/gemini-3.1-flash-image-preview.
- También admite
google/gemini-3-pro-image-preview - Generar: hasta 4 imágenes por solicitud
- Modo de edición: habilitado, hasta 5 imágenes de entrada
- Controles de geometría:
size,aspectRatioyresolution
Para usar Google como proveedor de imágenes predeterminado:
{
agents: {
defaults: {
imageGenerationModel: {
primary: "google/gemini-3.1-flash-image-preview",
},
},
},
}
Generación de video
El Plugin google incluido también registra la generación de video mediante la herramienta compartida
video_generate.
- Modelo de video predeterminado:
google/veo-3.1-fast-generate-preview - Modos: texto a video, imagen a video y flujos de referencia de video único
- Admite
aspectRatio,resolutionyaudio - Límite de duración actual: 4 a 8 segundos
Para usar Google como proveedor de video predeterminado:
{
agents: {
defaults: {
videoGenerationModel: {
primary: "google/veo-3.1-fast-generate-preview",
},
},
},
}
Generación de música
El Plugin google incluido también registra la generación de música mediante la herramienta compartida
music_generate.
- Modelo de música predeterminado:
google/lyria-3-clip-preview - También admite
google/lyria-3-pro-preview - Controles de prompt:
lyricseinstrumental - Formato de salida:
mp3de forma predeterminada, además dewavengoogle/lyria-3-pro-preview - Entradas de referencia: hasta 10 imágenes
- Las ejecuciones respaldadas por sesión se desacoplan mediante el flujo compartido de tarea/estado, incluido
action: "status"
Para usar Google como proveedor de música predeterminado:
{
agents: {
defaults: {
musicGenerationModel: {
primary: "google/lyria-3-clip-preview",
},
},
},
}
Texto a voz
El proveedor de voz google incluido usa la ruta TTS de Gemini API con
gemini-3.1-flash-tts-preview.
- Voz predeterminada:
Kore - Autenticación:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYoGOOGLE_API_KEY - Salida: WAV para adjuntos TTS normales, Opus para destinos de notas de voz, PCM para Talk/telefonía
- Salida de nota de voz: Google PCM se encapsula como WAV y se transcodifica a Opus de 48 kHz con
ffmpeg
La ruta Gemini TTS por lotes de Google devuelve el audio generado en la respuesta
generateContent completada. Para conversaciones habladas con la menor latencia, usa el
proveedor de voz en tiempo real de Google respaldado por Gemini Live API en lugar de TTS
por lotes.
Para usar Google como proveedor TTS predeterminado:
{
messages: {
tts: {
auto: "always",
provider: "google",
providers: {
google: {
model: "gemini-3.1-flash-tts-preview",
voiceName: "Kore",
audioProfile: "Speak professionally with a calm tone.",
},
},
},
},
}
Gemini API TTS usa prompts en lenguaje natural para controlar el estilo. Configura
audioProfile para anteponer un prompt de estilo reutilizable antes del texto hablado. Configura
speakerName cuando el texto del prompt haga referencia a un hablante con nombre.
Gemini API TTS también acepta etiquetas de audio expresivas entre corchetes en el texto,
como [whispers] o [laughs]. Para mantener las etiquetas fuera de la respuesta visible del chat
mientras se envían a TTS, colócalas dentro de un bloque [[tts:text]]...[[/tts:text]]:
Here is the clean reply text.
[[tts:text]][whispers] Here is the spoken version.[[/tts:text]]
Voz en tiempo real
El Plugin google incluido registra un proveedor de voz en tiempo real respaldado por la
Gemini Live API para puentes de audio de backend como Voice Call y Google Meet.
| Configuración | Ruta de configuración | Predeterminado |
|---|---|---|
| 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 |
(sin establecer) |
| Sensibilidad de inicio de VAD | ...google.startSensitivity |
(sin establecer) |
| Sensibilidad de fin de VAD | ...google.endSensitivity |
(sin establecer) |
| Duración del silencio | ...google.silenceDurationMs |
(sin establecer) |
| Manejo de actividad | ...google.activityHandling |
Valor predeterminado de Google, start-of-activity-interrupts |
| Cobertura de turnos | ...google.turnCoverage |
Valor predeterminado de Google, only-activity |
| Deshabilitar VAD automático | ...google.automaticActivityDetectionDisabled |
false |
| Reanudación de sesión | ...google.sessionResumption |
true |
| Compresión de contexto | ...google.contextWindowCompression |
true |
| Clave de API | ...google.apiKey |
Recurre a models.providers.google.apiKey, GEMINI_API_KEY o GOOGLE_API_KEY |
Ejemplo de configuración en tiempo real de 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 la verificación en vivo de mantenedores, ejecuta
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
La parte de Google emite la misma forma de token restringido de Live API que usa Control
UI Talk, abre el endpoint WebSocket del navegador, envía la carga útil de configuración inicial
y espera setupComplete.
Configuración avanzada
Direct Gemini cache reuse
Para ejecuciones directas de Gemini API (api: "google-generative-ai"), OpenClaw
pasa un identificador cachedContent configurado a las solicitudes de Gemini.
- Configura parámetros por modelo o globales con
cachedContento el valor heredadocached_content - Si ambos están presentes,
cachedContenttiene prioridad - Valor de ejemplo:
cachedContents/prebuilt-context - El uso de aciertos de caché de Gemini se normaliza en
cacheReadde OpenClaw desde el valor ascendentecachedContentTokenCount
{
agents: {
defaults: {
models: {
"google/gemini-2.5-pro": {
params: {
cachedContent: "cachedContents/prebuilt-context",
},
},
},
},
},
}
Gemini CLI JSON usage notes
Al usar el proveedor OAuth google-gemini-cli, OpenClaw normaliza
la salida JSON de la CLI de la siguiente manera:
- El texto de respuesta proviene del campo
responsedel JSON de la CLI. - El uso recurre a
statscuando la CLI dejausagevacío. stats.cachedse normaliza encacheReadde OpenClaw.- Si falta
stats.input, OpenClaw deriva los tokens de entrada destats.input_tokens - stats.cached.
Environment and daemon setup
Si el Gateway se ejecuta como daemon (launchd/systemd), asegúrate de que GEMINI_API_KEY
esté disponible para ese proceso (por ejemplo, en ~/.openclaw/.env o mediante
env.shellEnv).
Relacionado
Elección de proveedores, referencias de modelo y comportamiento de conmutación por error.
Parámetros compartidos de la herramienta de imagen y selección de proveedor.
Parámetros compartidos de la herramienta de video y selección de proveedor.
Parámetros compartidos de la herramienta de música y selección de proveedor.