Skip to main content

Overview

GeminiLiveVertexLLMService enables natural, real-time conversations with Google’s Gemini model through Vertex AI. It provides built-in audio transcription, voice activity detection, and context management for creating interactive AI experiences with multimodal capabilities including audio, video, and text processing.
Want to start building? Check out our Gemini Live Guide for general concepts, then follow the Vertex AI-specific setup below.

Gemini Live Vertex API Reference

Pipecat’s API methods for Gemini Live Vertex AI integration

Example Implementation

Complete Gemini Live Vertex AI function calling example

Vertex AI Gemini Documentation

Official Vertex AI Gemini Live API documentation

Gemini Live Model Card

Gemini Live available models

Installation

To use Gemini Live Vertex AI services, install the required dependencies:

Prerequisites

Google Cloud Setup

Before using Gemini Live Vertex AI services, you need:
  1. Google Cloud Project: Set up a project in the Google Cloud Console
  2. Vertex AI API: Enable the Vertex AI API in your project
  3. Service Account: Create a service account with roles/aiplatform.user and roles/ml.developer permissions
  4. Authentication: Set up service account credentials or Application Default Credentials

Required Environment Variables

  • GOOGLE_VERTEX_TEST_CREDENTIALS: JSON string of service account credentials (optional if using ADC)
  • GOOGLE_CLOUD_PROJECT_ID: Your Google Cloud project ID
  • GOOGLE_CLOUD_LOCATION: Vertex AI region (e.g., “us-east4”)

Key Features

  • Enterprise Authentication: Secure service account-based authentication
  • Multimodal Processing: Handle audio, video, and text inputs simultaneously
  • Real-time Streaming: Low-latency audio and video processing
  • Voice Activity Detection: Automatic speech detection and turn management
  • Function Calling: Advanced tool integration and API calling capabilities
  • Context Management: Intelligent conversation history and system instruction handling

Configuration

GeminiLiveVertexLLMService

This service extends GeminiLiveLLMService with Vertex AI authentication. It accepts all the same parameters as the Gemini Live service, with these differences:
str
default:"None"
JSON string of Google service account credentials. If not provided, falls back to credentials_path or Application Default Credentials (ADC).
str
default:"None"
Path to a service account JSON file. Used if credentials is not provided.
str
required
GCP region for the Vertex AI endpoint (e.g., "us-east4").
str
required
Google Cloud project ID.
str
default:"google/gemini-3.8-live"
deprecated
Deprecated since 0.0.105, removed in 2.0.0. Use settings=GeminiLiveVertexLLMService.Settings(model=...) instead.
str
default:"Charon"
deprecated
Deprecated since 0.0.105, removed in 2.0.0. Use settings=GeminiLiveVertexLLMService.Settings(voice=...) instead.
str
default:"None"
System prompt for the model. Can also be provided via the LLM context.
ToolsSchema | List[FunctionSchema | DirectFunction] | List[dict]
default:"None"
Tools available to the model: a ToolsSchema, a plain list of direct functions and/or FunctionSchema objects, or a list of provider-native tool dicts. Can also be provided via the LLM context.
InputParams
default:"InputParams()"
deprecated
Deprecated since 0.0.105, removed in 2.0.0. Use settings=GeminiLiveVertexLLMService.Settings(...) instead.
GeminiLiveVertexLLMService.Settings
default:"None"
Service settings. See the Gemini Live Settings for the full reference.
bool
default:"False"
Whether to start with audio input paused.
bool
default:"False"
Whether to start with video input paused.
bool
default:"True"
Whether to generate a response when context is first set. Set to False to wait for user input before the model responds.
HttpOptions
default:"None"
HTTP options for the Google API client.

Settings

The Vertex AI variant uses the same Settings as the base Gemini Live service. Changing them mid-conversation with LLMUpdateSettingsFrame is not supported: the service stores the change and logs a warning, but doesn’t apply it to the session in progress. See Gemini Live Settings for the full reference.

Usage

Basic Setup with Service Account Credentials

With Credentials File

Using Application Default Credentials (ADC)

With Settings

Methods

set_audio_input_paused() and set_video_input_paused() work as on Gemini Live.

Notes

  • No api_key parameter: Unlike the base GeminiLiveLLMService, Vertex AI uses service account credentials or ADC for authentication. Passing api_key will raise a ValueError.
  • Authentication priority: The service tries credentials in this order: (1) credentials JSON string, (2) credentials_path file, (3) Application Default Credentials (ADC). If none of these yields credentials, the constructor raises ValueError.
  • File API not supported: The Gemini File API is not available through Vertex AI. Use Google Cloud Storage for file handling instead. Accessing file_api raises NotImplementedError.
  • Model naming: Vertex AI uses different model identifiers (e.g., "google/gemini-3.8-live") compared to the Google AI variant.
  • Async tool limitation: Vertex AI’s Gemini Live endpoint does not support NON_BLOCKING tool calls. Functions registered with cancel_on_interruption=False fall back to synchronous behavior (the conversation pauses while the tool runs), and the service logs an error and pushes a non-fatal ErrorFrame the first time one is used. Use cancel_on_interruption=True (the default) or use a non-realtime LLM service if your tool requires async semantics.
  • All other features (VAD, context compression, thinking, function calling, etc.) work identically to the base Gemini Live service.