Table of Contents

Class LiveClientSetup

Namespace
Google.GenAI.Types
Assembly
Google.GenAI.dll

Message contains configuration that will apply for the duration of the streaming session.

public record LiveClientSetup : IEquatable<LiveClientSetup>
Inheritance
LiveClientSetup
Implements
Inherited Members

Properties

AvatarConfig

Configures the avatar model behavior.

[JsonPropertyName("avatarConfig")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public AvatarConfig? AvatarConfig { get; set; }

Property Value

AvatarConfig

ContextWindowCompression

Configures context window compression mechanism. If included, server will compress context window to fit into given length.

[JsonPropertyName("contextWindowCompression")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ContextWindowCompressionConfig? ContextWindowCompression { get; set; }

Property Value

ContextWindowCompressionConfig

ExplicitVadSignal

Configures the explicit VAD signal. If enabled, the client will send vad_signal to indicate the start and end of speech. This allows the server to process the audio more efficiently.

[JsonPropertyName("explicitVadSignal")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? ExplicitVadSignal { get; set; }

Property Value

bool?

GenerationConfig

The generation configuration for the session. Note: only a subset of fields are supported.

[JsonPropertyName("generationConfig")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public GenerationConfig? GenerationConfig { get; set; }

Property Value

GenerationConfig

InputAudioTranscription

The transcription of the input aligns with the input audio language.

[JsonPropertyName("inputAudioTranscription")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public AudioTranscriptionConfig? InputAudioTranscription { get; set; }

Property Value

AudioTranscriptionConfig

Model

The fully qualified name of the publisher model or tuned model endpoint to use.

[JsonPropertyName("model")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Model { get; set; }

Property Value

string

OutputAudioTranscription

The transcription of the output aligns with the language code specified for the output audio.

[JsonPropertyName("outputAudioTranscription")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public AudioTranscriptionConfig? OutputAudioTranscription { get; set; }

Property Value

AudioTranscriptionConfig

Proactivity

Configures the proactivity of the model. This allows the model to respond proactively to the input and to ignore irrelevant input.

[JsonPropertyName("proactivity")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ProactivityConfig? Proactivity { get; set; }

Property Value

ProactivityConfig

RealtimeInputConfig

Configures the realtime input behavior in BidiGenerateContent.

[JsonPropertyName("realtimeInputConfig")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public RealtimeInputConfig? RealtimeInputConfig { get; set; }

Property Value

RealtimeInputConfig

SafetySettings

Safety settings in the request to block unsafe content in the response.

[JsonPropertyName("safetySettings")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<SafetySetting>? SafetySettings { get; set; }

Property Value

List<SafetySetting>

SessionResumption

Configures session resumption mechanism. If included server will send SessionResumptionUpdate messages.

[JsonPropertyName("sessionResumption")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public SessionResumptionConfig? SessionResumption { get; set; }

Property Value

SessionResumptionConfig

SystemInstruction

The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.

[JsonPropertyName("systemInstruction")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public Content? SystemInstruction { get; set; }

Property Value

Content

Tools

A list of Tools the model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.

[JsonPropertyName("tools")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<Tool>? Tools { get; set; }

Property Value

List<Tool>

Methods

FromJson(string, JsonSerializerOptions?)

Deserializes a JSON string to a LiveClientSetup object.

public static LiveClientSetup? FromJson(string jsonString, JsonSerializerOptions? options = null)

Parameters

jsonString string

The JSON string to deserialize.

options JsonSerializerOptions

Optional JsonSerializerOptions.

Returns

LiveClientSetup

The deserialized LiveClientSetup object, or null if deserialization fails.