Skip to content
Tracon

SpeechDialogueRequest

Namespace Tracon · Assembly Tracon.Abstractions.dll

A request to voice a dialogue.

public sealed record SpeechDialogueRequest : IEquatable<SpeechDialogueRequest>
Inheritance
object ← SpeechDialogueRequest
Implements
IEquatable<SpeechDialogueRequest>
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
public SpeechDialogueRequest()

Gets the tenant’s own credential for the provider, or null to use the credential the synthesizer was configured with.

public ModelProviderCredential? Credential { get; init; }

ModelProviderCredential?

Tracon sets it from the tenant’s provider binding, and only for a synthesizer whose ISpeechDialogueSynthesizer.SupportsTenantCredentials is true; a value the caller sets is replaced. It lives in memory for the call and is never persisted; its text form never shows the key.

Gets whether each turn’s time range and the character timing are returned with the audio. Default false.

public bool IncludeTimestamps { get; init; }

bool

Gets the language’s ISO 639-1 code. The provider detects it itself if empty.

public string? LanguageCode { get; init; }

string?

Gets the dialogue model to use. When empty, the synthesizer uses its own default (the built-in client: VoiceOptions.DialogueModelId, then the provider’s default).

public string? ModelId { get; init; }

string?

The single-voice model (VoiceOptions.SynthesisModelId) is not used here: a model that speaks one voice need not voice a dialogue.

Gets the provider’s output format name (for example, pcm_24000); when empty, the synthesizer’s default.

public string? OutputFormat { get; init; }

string?

Not a MIME type. Raw pcm_* output carries no file header: the caller that joins several results adds the header itself.

Gets the provider-specific settings, keyed under the provider’s prefix (for example elevenlabs.stability). Empty by default.

public IReadOnlyDictionary<string, JsonElement> ProviderSettings { get; init; }

IReadOnlyDictionary<string, JsonElement>

A synthesizer refuses an unknown key, another provider’s key, a key that has no effect on a dialogue, and a value of the wrong type, before it calls the service. It never ignores one. The message names the key, never the value.

Gets the turns, in the order they are spoken.

public required IReadOnlyList<SpeechDialogueTurn> Turns { get; init; }

IReadOnlyList<SpeechDialogueTurn>

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(SpeechDialogueRequest? other)

other SpeechDialogueRequest?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(SpeechDialogueRequest?, SpeechDialogueRequest?)

Section titled “ operator ==(SpeechDialogueRequest?, SpeechDialogueRequest?)”
public static bool operator ==(SpeechDialogueRequest? left, SpeechDialogueRequest? right)

left SpeechDialogueRequest?

right SpeechDialogueRequest?

bool

operator !=(SpeechDialogueRequest?, SpeechDialogueRequest?)

Section titled “ operator !=(SpeechDialogueRequest?, SpeechDialogueRequest?)”
public static bool operator !=(SpeechDialogueRequest? left, SpeechDialogueRequest? right)

left SpeechDialogueRequest?

right SpeechDialogueRequest?

bool