Empezar a usar la API Gemini Live con WebSockets

En este tutorial se muestra cómo conectarse a la API de Gemini Live mediante WebSockets. En este tutorial, crearás una aplicación multimodal en tiempo real con un frontend de JavaScript estándar y un servidor de Python que gestione la autenticación y el proxy.

Antes de empezar

Sigue estos pasos para configurar tu entorno.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  6. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  11. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  12. Instala Git.
  13. Instala Python 3.
  14. Clonar la aplicación de demostración

    Clona el repositorio de la aplicación de demostración y ve a ese directorio:

    git clone https://github.com/GoogleCloudPlatform/generative-ai.git &&
    cd generative-ai/gemini/multimodal-live-api/native-audio-websocket-demo-apps/plain-js-demo-app
    

    Estructura del proyecto

    La aplicación incluye los siguientes archivos:

    /
    ├── server.py            # WebSocket proxy + HTTP server
    ├── requirements.txt     # Python dependencies
    └── frontend/
        ├── index.html       # UI
        ├── geminilive.js    # Gemini API client
        ├── mediaUtils.js    # Audio/video streaming
        ├── tools.js         # Custom tool definitions
        └── script.js        # App logic
    

    Ejecutar el servidor backend

    El backend (server.py) gestiona la autenticación y actúa como proxy de WebSocket entre el cliente y la API Gemini Live.

    Para ejecutar el servidor backend, ejecuta los siguientes comandos:

    1. Instala las dependencias:

      pip3 install -r requirements.txt
      
    2. Autenticar con Google Cloud:

      gcloud auth application-default login
      
    3. Inicia el servidor:

      python3 server.py
      

    Abre la interfaz de usuario frontend y conéctate a Gemini

    El frontend gestiona la captura y la reproducción de audio y vídeo. El archivo geminilive.js gestiona la conexión WebSocket con el backend.

    const client = new GeminiLiveAPI(proxyUrl, projectId, model);
    client.addFunction(toolInstance); // Add custom tools
    client.connect(accessToken); // Connect (token optional with proxy)
    

    Para abrir la interfaz de usuario frontend y conectarte con Gemini, haz lo siguiente:

    1. Abre el navegador y ve a http://localhost:8000.
    2. En el campo ID del proyecto, introduce el ID de tu Google Cloud proyecto.
    3. Haz clic en Conectar.

    Interactuar con Gemini

    Prueba a hacer lo siguiente:

    • Entrada de texto: puedes escribir un mensaje de texto a Gemini introduciéndolo en el campo de mensaje y haciendo clic en Enviar. Gemini responde al mensaje con audio.
    • Entrada de voz: para hablar con Gemini, haz clic en Iniciar micrófono. Gemini responde a la petición con audio.
    • Entrada de vídeo: para que Gemini pueda ver a través de tu cámara, haz clic en Iniciar cámara. Puedes hablar con Gemini sobre lo que ve a través de tu cámara.

    Siguientes pasos