Gemini.Types.Live (GeminiEx v0.8.2)

View Source

Types for Gemini Live API (WebSocket-based real-time communication).

The Live API enables bidirectional streaming communication with Gemini models, supporting real-time text, audio, and video interactions.

Features

  • Real-time bidirectional streaming
  • Audio transcription and generation
  • Video/image processing
  • Tool/function calling during conversation
  • Low-latency responses

Example

config = %LiveConfig{
  model: "gemini-2.0-flash-exp",
  generation_config: %GenerationConfig{temperature: 0.8},
  system_instruction: "You are a helpful assistant"
}

{:ok, session} = LiveSession.start_link(config)
:ok = LiveSession.connect(session)

Summary

Types

Audio format for input/output

Turn detection mode for automatic turn-taking

Functions

Convert LiveConfig to API format for session setup.

Types

audio_format()

@type audio_format() :: :pcm16 | :opus | :aac | :mp3

Audio format for input/output

turn_detection()

@type turn_detection() :: :unspecified | :user_based | :model_based

Turn detection mode for automatic turn-taking

Functions

to_api_setup(config)

@spec to_api_setup(Gemini.Types.Live.LiveConfig.t()) :: map()

Convert LiveConfig to API format for session setup.