Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getpatter.com/llms.txt

Use this file to discover all available pages before exploring further.

Gemini Live

GeminiLiveAdapter bridges a bidirectional audio stream to Google’s Gemini Live native-audio API. It speaks the same connect / sendAudio / onEvent / close surface as OpenAIRealtimeAdapter, so you can swap engines without touching the call handler. Use it as an alternative to OpenAI Realtime when you want native-audio Gemini voices, longer context, or lower per-minute pricing.

Install

Native-audio Gemini Live is a v1alpha-only API. Install the optional peer dependency:
npm install getpatter @google/genai
Set GEMINI_API_KEY in your environment.

Constructor

import { GeminiLiveAdapter } from "getpatter";

const adapter = new GeminiLiveAdapter(process.env.GEMINI_API_KEY!, {
  model: "gemini-2.5-flash-native-audio-preview-09-2025",    // default
  voice: "Puck",                                             // Puck | Charon | Kore | Fenrir | Aoede
  instructions: "You are a helpful, concise voice assistant.",
  language: "en-US",
  inputSampleRate: 16000,                                    // PCM16 mono in
  outputSampleRate: 24000,                                   // PCM16 mono out
  temperature: 0.8,
});

Usage

Pass the adapter as the engine on phone.agent({...}):
import { Patter, Twilio, GeminiLiveAdapter } from "getpatter";

const phone = new Patter({ carrier: new Twilio(), phoneNumber: "+15550001234" });

const agent = phone.agent({
  engine: new GeminiLiveAdapter(process.env.GEMINI_API_KEY!, { voice: "Puck" }),
  systemPrompt: "You are a helpful assistant.",
  firstMessage: "Hi! How can I help today?",
});

await phone.serve({ agent });
Tools work the same way as on OpenAI Realtime — pass tools: [...] on phone.agent({...}) and Patter forwards function calls to Gemini’s functionDeclarations shape.

Models

ModelNotes
"gemini-2.5-flash-native-audio-preview-09-2025" (default)Native-audio preview, v1alpha only. Current production target.
"gemini-live-2.5-flash-preview"Earlier preview, shut down on 2025-12-09.
"gemini-2.0-flash-exp"Experimental preview, retired Dec 2024.
The defaults change as Google promotes native audio to GA.

Voices

Puck, Charon, Kore, Fenrir, Aoede — Gemini’s built-in PrebuiltVoiceConfig set. Pass any one as voice.

When to use Gemini Live vs alternatives

Use Gemini Live when…Use OpenAI Realtime when…Use Pipeline mode when…
You want native-audio Gemini voices and 1M+ context.You need the broadest tool-calling ecosystem and gpt-realtime-2 reasoning tiers.You need provider-by-provider control (e.g. DeepgramSTT + AnthropicLLM + ElevenLabsTTS).

Notes

  • Barge-in is implicit: Gemini Live runs server-side VAD and interrupts on user speech. cancelResponse() is a no-op for compatibility.
  • The adapter resamples nothing — pass PCM16 mono at inputSampleRate Hz. Patter’s telephony layer resamples 8 kHz mulaw up to 16 kHz before this point.
  • @google/genai is imported lazily, so default installs of getpatter do not pay the load cost.

What’s Next

Engines

All engines side by side.

OpenAI Realtime

The default engine.

Agents

System prompts, tools, first messages.

Tools

Function calling inside a realtime session.