Providers

Google (Gemini)

El Plugin de Google proporciona acceso a modelos Gemini a través de 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_KEY o GOOGLE_API_KEY
  • API: API de Google Gemini
  • Opción de runtime: proveedor/modelo agentRuntime.id: "google-gemini-cli" reutiliza el OAuth de Gemini CLI mientras mantiene las referencias de modelo canónicas como google/*.

Primeros pasos

Elige tu método de autenticación preferido y sigue los pasos de configuración.

Clave de API

Ideal para: acceso estándar a la API de Gemini a través de Google AI Studio.

  • Ejecutar onboarding

    bash
    openclaw onboard --auth-choice gemini-api-key

    O pasa la clave directamente:

    bash
    openclaw onboard --non-interactive \  --mode local \  --auth-choice gemini-api-key \  --gemini-api-key "$GEMINI_API_KEY"
  • Establecer un modelo predeterminado

    json5
    {  agents: {    defaults: {      model: { primary: "google/gemini-3.1-pro-preview" },    },  },}
  • Verificar que el modelo esté disponible

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

    Ideal para: reutilizar un inicio de sesión existente de Gemini CLI mediante OAuth con PKCE en lugar de una clave de API separada.

  • Instalar Gemini CLI

    El comando local gemini debe estar disponible en PATH.

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

    OpenClaw admite instalaciones de Homebrew e instalaciones globales de npm, incluidos diseños comunes de Windows/npm.

  • Iniciar sesión mediante OAuth

    bash
    openclaw models auth login --provider google-gemini-cli --set-default
  • Verificar que el modelo esté disponible

    bash
    openclaw models list --provider google
    • Modelo predeterminado: google/gemini-3.1-pro-preview
    • Runtime: google-gemini-cli
    • Alias: gemini-cli

    El ID de modelo de la API de Gemini para 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_ID
    • OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET

    (O las variantes GEMINI_CLI_*.)

    Las referencias de modelo google-gemini-cli/* son alias de compatibilidad heredados. Las configuraciones nuevas deben usar referencias de modelo google/* más el runtime google-gemini-cli cuando quieran ejecución local con Gemini CLI.

    Capacidades

    Capacidad Compatibilidad
    Finalizaciones de chat
    Generación de imágenes
    Generación de música
    Texto a voz
    Voz en tiempo real Sí (API de Google Live)
    Comprensión de imágenes
    Transcripción de audio
    Comprensión de video
    Búsqueda web (Grounding)
    Pensamiento/razonamiento Sí (Gemini 2.5+ / Gemini 3+)
    Modelos Gemma 4

    Búsqueda web

    El proveedor de búsqueda web gemini incluido usa grounding de Google Search de Gemini. Configura una clave de búsqueda dedicada en plugins.entries.google.config.webSearch, o deja que reutilice models.providers.google.apiKey después de GEMINI_API_KEY:

    json5
    {  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 de la API de Gemini; cuando se omite, la búsqueda web de Gemini reutiliza models.providers.google.baseUrl. Consulta Búsqueda de Gemini para ver el comportamiento de la herramienta específica 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, aspectRatio y resolution

    Para usar Google como proveedor de imágenes predeterminado:

    json5
    {  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 un solo video
    • Admite aspectRatio (16:9, 9:16) y resolution (720P, 1080P); la salida de audio no es compatible con Veo actualmente
    • Duraciones admitidas: 4, 6 u 8 segundos (otros valores se ajustan al valor permitido más cercano)

    Para usar Google como proveedor de video predeterminado:

    json5
    {  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: lyrics e instrumental
    • Formato de salida: mp3 de forma predeterminada, más wav en google/lyria-3-pro-preview
    • Entradas de referencia: hasta 10 imágenes
    • Las ejecuciones respaldadas por sesión se desvinculan mediante el flujo compartido de tarea/estado, incluido action: "status"

    Para usar Google como proveedor de música predeterminado:

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

    Texto a voz

    El proveedor de voz google incluido usa la ruta TTS de la API de Gemini con gemini-3.1-flash-tts-preview.

    • Voz predeterminada: Kore
    • Autenticación: messages.tts.providers.google.apiKey, models.providers.google.apiKey, GEMINI_API_KEY o GOOGLE_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: el PCM de Google se envuelve como WAV y se transcodifica a Opus de 48 kHz con ffmpeg

    La ruta TTS por lotes de Gemini de Google devuelve el audio generado en la respuesta generateContent completada. Para conversaciones habladas de menor latencia, usa el proveedor de voz en tiempo real de Google respaldado por la API de Gemini Live en lugar de TTS por lotes.

    Para usar Google como proveedor TTS predeterminado:

    json5
    {  messages: {    tts: {      auto: "always",      provider: "google",      providers: {        google: {          model: "gemini-3.1-flash-tts-preview",          speakerVoice: "Kore",          audioProfile: "Speak professionally with a calm tone.",        },      },    },  },}

    TTS de la API de Gemini usa prompting en lenguaje natural para el control de estilo. Define audioProfile para anteponer un prompt de estilo reutilizable antes del texto hablado. Define speakerName cuando el texto de tu prompt se refiera a un hablante con nombre.

    TTS de la API de Gemini 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, ponlas dentro de un bloque [[tts:text]]...[[/tts:text]]:

    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 API de Gemini Live para puentes de audio 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 definir)
    Sensibilidad de inicio de VAD ...google.startSensitivity (sin definir)
    Sensibilidad de fin de VAD ...google.endSensitivity (sin definir)
    Duración del silencio ...google.silenceDurationMs (sin definir)
    Manejo de actividad ...google.activityHandling Predeterminado de Google, start-of-activity-interrupts
    Cobertura de turno ...google.turnCoverage Predeterminado de Google, only-activity
    Desactivar 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:

    json5
    {  plugins: {    entries: {      "voice-call": {        enabled: true,        config: {          realtime: {            enabled: true,            provider: "google",            providers: {              google: {                model: "gemini-2.5-flash-native-audio-preview-12-2025",                speakerVoice: "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 prueba de humo también cubre las rutas de backend/WebRTC de OpenAI; el tramo de Google emite la misma forma de token restringido de Live API que usa Control UI Talk, abre el punto de conexión WebSocket del navegador, envía la carga útil de configuración inicial y espera setupComplete.

    Configuración avanzada

    Reutilización directa de caché de Gemini

    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 cachedContent o el heredado cached_content
    • Si ambos están presentes, cachedContent tiene prioridad
    • Valor de ejemplo: cachedContents/prebuilt-context
    • El uso de aciertos de caché de Gemini se normaliza en cacheRead de OpenClaw desde el cachedContentTokenCount del origen
    json5
    {  agents: {    defaults: {      models: {        "google/gemini-2.5-pro": {          params: {            cachedContent: "cachedContents/prebuilt-context",          },        },      },    },  },}
    Notas de uso de Gemini CLI

    Al usar el proveedor OAuth google-gemini-cli, OpenClaw usa la salida stream-json de Gemini CLI de forma predeterminada y normaliza el uso desde la carga útil final stats. Las anulaciones heredadas de --output-format json siguen usando el analizador JSON.

    • El texto de respuesta transmitido proviene de eventos message del asistente.
    • Para la salida JSON heredada, el texto de respuesta proviene del campo response del JSON de la CLI.
    • El uso recurre a stats cuando la CLI deja usage vacío.
    • stats.cached se normaliza en cacheRead de OpenClaw.
    • Si falta stats.input, OpenClaw deriva los tokens de entrada de stats.input_tokens - stats.cached.
    Configuración de entorno y daemon

    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

    Was this useful?
    On this page

    On this page