Skip to content
Tracon

ElevenLabsProviderNames

Namespace Tracon · Assembly Tracon.Voice.dll

The provider name the built-in ElevenLabs client reports, and the ProviderSettings keys it accepts on SpeechRequest and SpeechDialogueRequest.

public static class ElevenLabsProviderNames
Inheritance
object ← ElevenLabsProviderNames
Inherited Members
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

These names are stable: a workflow node’s stored settings and a tenant’s egress policy name them.

A key outside ElevenLabsProviderNames.SupportedSettings is refused before the service is called, and so is a single-voice key on a dialogue (ElevenLabsProviderNames.DialogueSupportedSettings). The refusal names the key, never the value.

A function node that voices two chunks of a long dialogue, the second conditioned on the first:

tracon.AddWorkflowFunction<List<ChatMessage>, List<ChatMessage>>(
"two-chunks",
provider =>
{
var speech = provider.GetRequiredService<ISpeechProviderResolver>();
return async (messages, context, cancellationToken) =>
{
var dialogue = await speech.GetDialogueSynthesizerAsync(cancellationToken: cancellationToken);
var chunk = new SpeechDialogueRequest
{
Turns = [new SpeechDialogueTurn { Text = messages[^1].Text, VoiceId = "host-voice" }],
};
var first = await dialogue.SynthesizeDialogueAsync(chunk, cancellationToken);
var settings = new Dictionary<string, JsonElement>
{
[ElevenLabsProviderNames.StabilitySetting] = JsonSerializer.SerializeToElement(0.5),
};
// The id is null when the provider reports none; a list with a null id is refused.
if (first.Audio.ProviderRequestId is { } id)
{
settings[ElevenLabsProviderNames.PreviousRequestIdsSetting] = JsonSerializer.SerializeToElement(new[] { id });
}
var second = await dialogue.SynthesizeDialogueAsync(chunk with { ProviderSettings = settings }, cancellationToken);
return [new ChatMessage(ChatRole.Assistant, $"{first.Audio.Data.Length + second.Audio.Data.Length} bytes")];
};
});

The provider name the built-in client reports: elevenlabs.

public const string ElevenLabs = "elevenlabs"

string

The text spoken just after this request: elevenlabs.nextText (text). Single voice (next_text) and dialogue (future_text, at most 100 characters).

public const string NextTextSetting = "elevenlabs.nextText"

string

The provider’s identifiers of the requests spoken before this one, the closest last: elevenlabs.previousRequestIds (list of at most 3 texts). Single voice and dialogue.

public const string PreviousRequestIdsSetting = "elevenlabs.previousRequestIds"

string

Take them from SpeechAudio.ProviderRequestId of the earlier results. The provider ignores them for a request made in its zero-retention mode.

The text spoken just before this request, for continuous prosody: elevenlabs.previousText (text). Single voice and dialogue; a dialogue takes at most 100 characters.

public const string PreviousTextSetting = "elevenlabs.previousText"

string

Sampling seed: elevenlabs.seed (integer from 0 to 4294967295). Single voice and dialogue.

public const string SeedSetting = "elevenlabs.seed"

string

The provider makes a best effort only: two requests with the same seed returned different audio on eleven_v4 (measured 2026-10-13).

Prefix for provider-specific settings: elevenlabs.

public const string SettingsPrefix = "elevenlabs"

string

How closely the speech follows the voice: elevenlabs.similarityBoost (number from 0 to 1). Single voice (similarity_boost) and dialogue (similarity).

public const string SimilarityBoostSetting = "elevenlabs.similarityBoost"

string

The provider documents that not every dialogue model uses it.

Speaking speed: elevenlabs.speed (number, 1 is normal). Single voice only.

public const string SpeedSetting = "elevenlabs.speed"

string

The provider sets the range; a value it does not accept fails the call.

Voice stability: elevenlabs.stability (number from 0 to 1). Single voice and dialogue.

public const string StabilitySetting = "elevenlabs.stability"

string

Lower values give a broader emotional range; higher values a steadier voice.

Style exaggeration: elevenlabs.style (number). Single voice only.

public const string StyleSetting = "elevenlabs.style"

string

The provider sets the range; a value it does not accept fails the call.

Speaker boost: elevenlabs.useSpeakerBoost (boolean). Single voice only.

public const string UseSpeakerBoostSetting = "elevenlabs.useSpeakerBoost"

string

The keys a SpeechDialogueRequest accepts.

public static IReadOnlyList<string> DialogueSupportedSettings { get; }

IReadOnlyList<string>

The dialogue service takes no style, speaker boost or speed. A key from ElevenLabsProviderNames.SupportedSettings that is not here is refused on a dialogue rather than ignored: the service accepts an unknown field without an error (measured 2026-10-13), so a dropped setting would go unnoticed.

The keys a single-voice SpeechRequest accepts.

public static IReadOnlyList<string> SupportedSettings { get; }

IReadOnlyList<string>