Expand description
L0 wire-protocol types for raw WebSocket access.
Modules§
- client
- Client → Server message types for the Gemini Live wire protocol.
- server
- Server → Client message types for the Gemini Live wire protocol.
Structs§
- Activity
End - Marker for speech activity end.
- Activity
Signal Message - Activity signal for client-side VAD events.
- Activity
Signal Payload - Payload for activity signals.
- Activity
Start - Marker for speech activity start.
- Audio
Jitter Buffer - Adaptive jitter buffer for audio playback.
- Automatic
Activity Detection - Automatic activity detection (VAD) settings.
- Barge
InConfig - Configuration for barge-in behavior.
- Barge
InDetector - Barge-in detector — checks whether user speech should interrupt model output.
- Blob
- A blob of inline data (audio, image, etc.) sent to or received from Gemini.
- Candidate
- A single response candidate.
- Citation
Metadata - Citation metadata for a response.
- Citation
Source - A single citation source.
- Client
- Unified Gemini API client.
- Client
Content Message - Client content message for sending text or conversation history.
- Client
Content Payload - Payload for client content.
- Code
Execution Result - Result of code execution.
- Connect
Builder - Builder for advanced connection configuration.
- Content
- A content message containing a role and a sequence of parts.
- Context
Window Compression Config - Context window compression configuration for long sessions.
- Executable
Code - Executable code returned by the model.
- File
Data - Reference to an uploaded file.
- File
Wire Recorder - Durable
WireRecorderwriting one JSON object per line (JSONL). - Function
Call - A function call request from the model.
- Function
Calling Config - Configuration for function calling behavior.
- Function
Declaration - Schema for a single function that the model can call.
- Function
Response - A function call response sent back to the model.
- Generate
Content Config - Configuration for a generateContent request.
- Generate
Content Response - Top-level response from generateContent.
- Generation
Config - Generation config sent in the setup message.
- GoAway
Message - Server GoAway signal — requesting graceful disconnect.
- GoAway
Payload - Payload for GoAway.
- GoogleAI
Auth - Google AI API key authentication.
- GoogleAI
Token Auth - Google AI OAuth2 access token authentication.
- Google
Search - Google Search tool configuration (empty — presence enables the feature).
- Google
Search Retrieval - Google Search retrieval tool configuration.
- Grounding
Metadata - Grounding metadata for server content with search results.
- Http
Client - HTTP client wrapping reqwest with retry and telemetry.
- Http
Config - Configuration for the HTTP client.
- Input
Audio Transcription - Input audio transcription configuration.
- Jitter
Config - Configuration for the jitter buffer.
- Json
Codec - Default JSON codec — current behavior extracted from connection.rs.
- Media
Chunk - A single chunk of media data (audio). Deprecated — use Blob in
audiofield. - Memory
Wire Recorder - In-memory
WireRecorderfor tests and replay harnesses. - Mock
Transport - Mock transport for unit testing.
- Modality
Token Count - Token count breakdown by modality (text, audio, image, video).
- Output
Audio Transcription - Output audio transcription configuration.
- Prebuilt
Voice Config - Prebuilt voice selection.
- Proactivity
Config - Proactivity configuration — controls whether the model can initiate responses.
- Realtime
Input Config - Server-side VAD configuration for the setup message.
- Realtime
Input Message - Realtime audio input sent as a stream of chunks.
- Realtime
Input Payload - Payload for realtime audio input.
- Recording
Codec - A
Codecdecorator that records every byte crossing the wire. - Replay
Control - Control handle for a
ReplayTransportthat has been moved into a session loop. - Replay
Transport - A
Transportthat replays recorded inbound frames and collects outbound frames. See the module docs for gating and drain semantics. - Resume
Info - Session resumption information from the server.
- Safety
Rating - Per-category safety assessment of generated content.
- Safety
Setting - Per-category safety configuration for content generation.
- Server
Content Message - Server content message containing model output.
- Server
Content Payload - Payload for server content.
- Server
Message Wrapper - Server message wrapper — includes optional usage metadata alongside the message.
- Session
Config - Complete session configuration — the builder entrypoint.
- Session
Handle - The public API surface for a Gemini Live session.
- Session
Resumption Config - Session resumption configuration.
- Session
Resumption Result - Session resumption result from server.
- Session
Resumption Update Message - Session resumption update from server (sent during active session).
- Session
Resumption Update Payload - Payload for session resumption update.
- Setup
Complete Message - Server setup complete acknowledgment.
- Setup
Complete Payload - Payload for setup complete.
- Setup
Message - Top-level setup message sent immediately after WebSocket connect.
- Setup
Payload - Payload of the setup message.
- Sliding
Window - Sliding window configuration for context compression.
- Speech
Config - Speech configuration for audio output.
- Spsc
Ring - Lock-free single-producer single-consumer ring buffer.
- Telemetry
Config - Telemetry configuration.
- Thinking
Config - Configuration for model thinking/reasoning (Gemini 2.5+).
- Tool
- A tool declaration sent in the setup message. Each Tool object can contain one of: function declarations, urlContext, googleSearch, codeExecution, or googleSearchRetrieval.
- Tool
Call Cancellation Message - Server tool call cancellation message.
- Tool
Call Cancellation Payload - Payload for tool call cancellation.
- Tool
Call Message - Server tool call request message.
- Tool
Call Payload - Payload for tool call.
- Tool
Code Execution - Code execution tool configuration (empty — presence enables the feature).
- Tool
Config - Controls how and when the model uses tools.
- Tool
Response Message - Tool response message sent after executing function calls.
- Tool
Response Payload - Payload for tool response.
- Transcription
Payload - Transcription text from server.
- Transport
Config - Configuration for the transport layer.
- Tungstenite
Transport - WebSocket transport using
tokio-tungstenite. - Turn
Detection Config - Configuration for client-side turn detection.
- Turn
Detector - Client-side turn detector.
- UrlContext
- URL context tool configuration (empty — presence enables the feature).
- UrlContext
Metadata - URL context metadata for content sourced from URLs.
- Usage
Metadata - Usage metadata returned by the server on messages.
- VadConfig
- VAD configuration parameters.
- VertexAI
Auth - Vertex AI Bearer token authentication.
- Vertex
Config - Configuration for connecting through Vertex AI.
- Voice
Activity Detector - Voice Activity Detector with adaptive noise floor.
- Voice
Activity Message - Server-side voice activity detection event.
- Voice
Activity Payload - Payload for voice activity detection.
- Voice
Config - Voice configuration within speech config.
- Wire
Entry - One recorded wire frame: sequence, direction, timestamp, raw payload.
- Wire
Recorder Handle - Cloneable,
Debug-friendly handle to a sharedWireRecorder.
Enums§
- Activity
Handling - Controls how incoming audio interacts with model output.
- ApiEndpoint
- API endpoint selector — Google AI (direct), Google AI with OAuth token, or Vertex AI.
- Audio
Format - Audio encoding formats supported by the Gemini Live API.
- Auth
Error - Authentication-specific errors.
- Barge
InAction - Result of a barge-in check.
- Codec
Error - Error during encoding or decoding.
- Endpoint
EnvError - Error resolving an
ApiEndpointfrom the environment. - Finish
Reason - Why the model stopped generating.
- Function
Calling Behavior - Whether tool calls block model output or run concurrently.
- Function
Calling Mode - How the model should decide when to execute tool calls.
- Function
Response Scheduling - Scheduling mode for non-blocking function responses.
- Gemini
Model - Gemini models that support the Multimodal Live API.
- Generate
Error - Errors specific to the Generate API.
- Harm
Block Threshold - Blocking threshold for safety settings.
- Harm
Category - Categories of potential harm in model output.
- Harm
Probability - Probability that content is harmful.
- Http
Error - Errors from HTTP client operations.
- Media
Resolution - Media resolution for image/video inputs.
- Modality
- Output modalities the model can produce.
- Part
- A single part of a
Contentmessage. Parts are polymorphic — discriminated by field presence, not a type tag. - Platform
- Which platform variant to use for the Gemini API.
- Role
- Role in a conversation.
- Sensitivity
- Voice activity detection sensitivity level.
- Server
Message - Unified server message enum — parsed from incoming WebSocket text frames.
- Service
Endpoint - Identifies which Gemini API service to connect to.
- Session
Command - Commands sent from application code to the session transport.
- Session
Error - Errors that can occur during a session.
- Session
Event - Events emitted by the session, consumed by application code.
- Session
Phase - The lifecycle phase of a Gemini Live session.
- Setup
Error - Errors during the setup handshake phase.
- Turn
Coverage - Controls which input counts toward a user’s conversation turn.
- Turn
Detection Event - Events from the turn detector.
- VadEvent
- Events emitted by the VAD.
- Voice
- Available voice presets for Gemini Live audio output.
- Voice
Activity Type - Type of voice activity event from the server.
- WebSocket
Error - WebSocket-level errors with structured detail.
- Wire
Direction - Direction of a recorded wire frame, relative to the client.
- Wire
LogError - Error reading a JSONL wire log.
Traits§
- Auth
Provider - Provides authentication credentials and URL construction for Gemini API connections.
- Codec
- Encodes client commands into wire bytes and decodes server bytes into messages.
- Session
Reader - Read-side of a session — subscribe to events and observe phase.
- Session
Writer - Write-side of a session — send commands without owning the full handle.
- Tool
Provider - Declares tools for a Gemini session setup message. Implement this trait to provide tools from any source (runtime ToolDispatcher, etc.).
- Transport
- A bidirectional message transport.
- Wire
Recorder - Synchronous sink for recorded wire frames.
Functions§
- bytes_
to_ i16 - Convert raw bytes to i16 PCM samples (zero-copy via bytemuck).
- connect
- Connect to the Gemini Multimodal Live API and return a session handle.
- connect_
with - Connect with a custom transport and codec.
- i16_
to_ bytes - Convert a slice of i16 PCM samples to raw bytes (zero-copy via bytemuck).
- into_
shared - Wrap raw bytes as a shared
Byteshandle for zero-copy fan-out. - quick_
connect - Connect to Gemini Live with minimal configuration.
- quick_
connect_ vertex - Connect via Vertex AI with minimal configuration.
- read_
wire_ log - Read a JSONL wire log written by
FileWireRecorderback into entries. - recv_
event - Receive the next event from a broadcast receiver, handling lag gracefully.
Type Aliases§
- Tool
Declaration - Backward-compatible alias for
Tool.