Events

class pipecat.services.gemini_multimodal_live.events.MediaChunk(*, mimeType, data)[source]

Bases: BaseModel

Parameters:
  • mimeType (str)

  • data (str)

mimeType: str
data: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ContentPart(*, text=None, inlineData=None)[source]

Bases: BaseModel

Parameters:
  • text (str | None)

  • inlineData (MediaChunk | None)

text: str | None
inlineData: MediaChunk | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.Turn(*, role='user', parts)[source]

Bases: BaseModel

Parameters:
  • role (Literal['user', 'model'])

  • parts (List[ContentPart])

role: Literal['user', 'model']
parts: List[ContentPart]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.StartSensitivity(*values)[source]

Bases: str, Enum

Determines how start of speech is detected.

UNSPECIFIED = 'START_SENSITIVITY_UNSPECIFIED'
HIGH = 'START_SENSITIVITY_HIGH'
LOW = 'START_SENSITIVITY_LOW'
class pipecat.services.gemini_multimodal_live.events.EndSensitivity(*values)[source]

Bases: str, Enum

Determines how end of speech is detected.

UNSPECIFIED = 'END_SENSITIVITY_UNSPECIFIED'
HIGH = 'END_SENSITIVITY_HIGH'
LOW = 'END_SENSITIVITY_LOW'
class pipecat.services.gemini_multimodal_live.events.AutomaticActivityDetection(*, disabled=None, start_of_speech_sensitivity=None, prefix_padding_ms=None, end_of_speech_sensitivity=None, silence_duration_ms=None)[source]

Bases: BaseModel

Configures automatic detection of activity.

Parameters:
  • disabled (bool | None)

  • start_of_speech_sensitivity (StartSensitivity | None)

  • prefix_padding_ms (int | None)

  • end_of_speech_sensitivity (EndSensitivity | None)

  • silence_duration_ms (int | None)

disabled: bool | None
start_of_speech_sensitivity: StartSensitivity | None
prefix_padding_ms: int | None
end_of_speech_sensitivity: EndSensitivity | None
silence_duration_ms: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.RealtimeInputConfig(*, automatic_activity_detection=None)[source]

Bases: BaseModel

Configures the realtime input behavior.

Parameters:

automatic_activity_detection (AutomaticActivityDetection | None)

automatic_activity_detection: AutomaticActivityDetection | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.RealtimeInput(*, mediaChunks)[source]

Bases: BaseModel

Parameters:

mediaChunks (List[MediaChunk])

mediaChunks: List[MediaChunk]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ClientContent(*, turns=None, turnComplete=False)[source]

Bases: BaseModel

Parameters:
  • turns (List[Turn] | None)

  • turnComplete (bool)

turns: List[Turn] | None
turnComplete: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.AudioInputMessage(*, realtimeInput)[source]

Bases: BaseModel

Parameters:

realtimeInput (RealtimeInput)

realtimeInput: RealtimeInput
classmethod from_raw_audio(raw_audio, sample_rate)[source]
Parameters:
  • raw_audio (bytes)

  • sample_rate (int)

Return type:

AudioInputMessage

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.VideoInputMessage(*, realtimeInput)[source]

Bases: BaseModel

Parameters:

realtimeInput (RealtimeInput)

realtimeInput: RealtimeInput
classmethod from_image_frame(frame)[source]
Parameters:

frame (ImageRawFrame)

Return type:

VideoInputMessage

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ClientContentMessage(*, clientContent)[source]

Bases: BaseModel

Parameters:

clientContent (ClientContent)

clientContent: ClientContent
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.SystemInstruction(*, parts)[source]

Bases: BaseModel

Parameters:

parts (List[ContentPart])

parts: List[ContentPart]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.AudioTranscriptionConfig[source]

Bases: BaseModel

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.Setup(*, model, system_instruction=None, tools=None, generation_config=None, input_audio_transcription=None, output_audio_transcription=None, realtime_input_config=None)[source]

Bases: BaseModel

Parameters:
  • model (str)

  • system_instruction (SystemInstruction | None)

  • tools (List[dict] | None)

  • generation_config (dict | None)

  • input_audio_transcription (AudioTranscriptionConfig | None)

  • output_audio_transcription (AudioTranscriptionConfig | None)

  • realtime_input_config (RealtimeInputConfig | None)

model: str
system_instruction: SystemInstruction | None
tools: List[dict] | None
generation_config: dict | None
input_audio_transcription: AudioTranscriptionConfig | None
output_audio_transcription: AudioTranscriptionConfig | None
realtime_input_config: RealtimeInputConfig | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.Config(*, setup)[source]

Bases: BaseModel

Parameters:

setup (Setup)

setup: Setup
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.SetupComplete[source]

Bases: BaseModel

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.InlineData(*, mimeType, data)[source]

Bases: BaseModel

Parameters:
  • mimeType (str)

  • data (str)

mimeType: str
data: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.Part(*, inlineData=None, text=None)[source]

Bases: BaseModel

Parameters:
  • inlineData (InlineData | None)

  • text (str | None)

inlineData: InlineData | None
text: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ModelTurn(*, parts)[source]

Bases: BaseModel

Parameters:

parts (List[Part])

parts: List[Part]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ServerContentInterrupted(*, interrupted)[source]

Bases: BaseModel

Parameters:

interrupted (bool)

interrupted: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ServerContentTurnComplete(*, turnComplete)[source]

Bases: BaseModel

Parameters:

turnComplete (bool)

turnComplete: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.BidiGenerateContentTranscription(*, text)[source]

Bases: BaseModel

Parameters:

text (str)

text: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ServerContent(*, modelTurn=None, interrupted=None, turnComplete=None, inputTranscription=None, outputTranscription=None)[source]

Bases: BaseModel

Parameters:
  • modelTurn (ModelTurn | None)

  • interrupted (bool | None)

  • turnComplete (bool | None)

  • inputTranscription (BidiGenerateContentTranscription | None)

  • outputTranscription (BidiGenerateContentTranscription | None)

modelTurn: ModelTurn | None
interrupted: bool | None
turnComplete: bool | None
inputTranscription: BidiGenerateContentTranscription | None
outputTranscription: BidiGenerateContentTranscription | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.FunctionCall(*, id, name, args)[source]

Bases: BaseModel

Parameters:
  • id (str)

  • name (str)

  • args (dict)

id: str
name: str
args: dict
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ToolCall(*, functionCalls)[source]

Bases: BaseModel

Parameters:

functionCalls (List[FunctionCall])

functionCalls: List[FunctionCall]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.Modality(*values)[source]

Bases: str, Enum

Modality types in token counts.

UNSPECIFIED = 'MODALITY_UNSPECIFIED'
TEXT = 'TEXT'
IMAGE = 'IMAGE'
AUDIO = 'AUDIO'
VIDEO = 'VIDEO'
class pipecat.services.gemini_multimodal_live.events.ModalityTokenCount(*, modality, tokenCount)[source]

Bases: BaseModel

Token count for a specific modality.

Parameters:
  • modality (Modality)

  • tokenCount (int)

modality: Modality
tokenCount: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.UsageMetadata(*, promptTokenCount=None, cachedContentTokenCount=None, responseTokenCount=None, toolUsePromptTokenCount=None, thoughtsTokenCount=None, totalTokenCount=None, promptTokensDetails=None, cacheTokensDetails=None, responseTokensDetails=None, toolUsePromptTokensDetails=None)[source]

Bases: BaseModel

Usage metadata about the response.

Parameters:
  • promptTokenCount (int | None)

  • cachedContentTokenCount (int | None)

  • responseTokenCount (int | None)

  • toolUsePromptTokenCount (int | None)

  • thoughtsTokenCount (int | None)

  • totalTokenCount (int | None)

  • promptTokensDetails (List[ModalityTokenCount] | None)

  • cacheTokensDetails (List[ModalityTokenCount] | None)

  • responseTokensDetails (List[ModalityTokenCount] | None)

  • toolUsePromptTokensDetails (List[ModalityTokenCount] | None)

promptTokenCount: int | None
cachedContentTokenCount: int | None
responseTokenCount: int | None
toolUsePromptTokenCount: int | None
thoughtsTokenCount: int | None
totalTokenCount: int | None
promptTokensDetails: List[ModalityTokenCount] | None
cacheTokensDetails: List[ModalityTokenCount] | None
responseTokensDetails: List[ModalityTokenCount] | None
toolUsePromptTokensDetails: List[ModalityTokenCount] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pipecat.services.gemini_multimodal_live.events.ServerEvent(*, setupComplete=None, serverContent=None, toolCall=None, usageMetadata=None)[source]

Bases: BaseModel

Parameters:
  • setupComplete (SetupComplete | None)

  • serverContent (ServerContent | None)

  • toolCall (ToolCall | None)

  • usageMetadata (UsageMetadata | None)

setupComplete: SetupComplete | None
serverContent: ServerContent | None
toolCall: ToolCall | None
usageMetadata: UsageMetadata | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

pipecat.services.gemini_multimodal_live.events.parse_server_event(str)[source]
class pipecat.services.gemini_multimodal_live.events.ContextWindowCompressionConfig(*, sliding_window=True, trigger_tokens=None)[source]

Bases: BaseModel

Configuration for context window compression.

Parameters:
  • sliding_window (bool | None)

  • trigger_tokens (int | None)

sliding_window: bool | None
trigger_tokens: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].