# ElevenLabsProviderNames

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.elevenlabsprovidernames/
> Summary: ElevenLabsProviderNames: The provider name the built-in ElevenLabs client reports, and the ProviderSettings keys it accepts on SpeechRequest and SpeechDialogueRequest.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Voice.dll</code></div>

The provider name the built-in ElevenLabs client reports, and the
`ProviderSettings` keys it accepts on [SpeechRequest](/api/tracon.speechrequest/) and
[SpeechDialogueRequest](/api/tracon.speechdialoguerequest/).

```csharp
public static class ElevenLabsProviderNames
```

<dl class="api-relations"><dt>Inheritance</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ← <a href="/api/tracon.elevenlabsprovidernames/">ElevenLabsProviderNames</a></dd><dt>Inherited Members</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></dd></dl>

## Remarks

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

A key outside [ElevenLabsProviderNames.SupportedSettings](/api/tracon.elevenlabsprovidernames/#Tracon_ElevenLabsProviderNames_SupportedSettings) is refused before the service is called,
and so is a single-voice key on a dialogue ([ElevenLabsProviderNames.DialogueSupportedSettings](/api/tracon.elevenlabsprovidernames/#Tracon_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:

```csharp
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")];
        };
    });
```

## Fields

### <a id="Tracon_ElevenLabsProviderNames_ElevenLabs"></a> ElevenLabs

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

```csharp
public const string ElevenLabs = "elevenlabs"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_ElevenLabsProviderNames_NextTextSetting"></a> NextTextSetting

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

```csharp
public const string NextTextSetting = "elevenlabs.nextText"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_ElevenLabsProviderNames_PreviousRequestIdsSetting"></a> PreviousRequestIdsSetting

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.

```csharp
public const string PreviousRequestIdsSetting = "elevenlabs.previousRequestIds"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

#### Remarks

Take them from [SpeechAudio.ProviderRequestId](/api/tracon.speechaudio/#Tracon_SpeechAudio_ProviderRequestId) of the earlier results.
The provider ignores them for a request made in its zero-retention mode.

### <a id="Tracon_ElevenLabsProviderNames_PreviousTextSetting"></a> PreviousTextSetting

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

```csharp
public const string PreviousTextSetting = "elevenlabs.previousText"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_ElevenLabsProviderNames_SeedSetting"></a> SeedSetting

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

```csharp
public const string SeedSetting = "elevenlabs.seed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

#### Remarks

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

### <a id="Tracon_ElevenLabsProviderNames_SettingsPrefix"></a> SettingsPrefix

Prefix for provider-specific settings: `elevenlabs`.

```csharp
public const string SettingsPrefix = "elevenlabs"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="Tracon_ElevenLabsProviderNames_SimilarityBoostSetting"></a> SimilarityBoostSetting

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

```csharp
public const string SimilarityBoostSetting = "elevenlabs.similarityBoost"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

#### Remarks

The provider documents that not every dialogue model uses it.

### <a id="Tracon_ElevenLabsProviderNames_SpeedSetting"></a> SpeedSetting

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

```csharp
public const string SpeedSetting = "elevenlabs.speed"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

#### Remarks

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

### <a id="Tracon_ElevenLabsProviderNames_StabilitySetting"></a> StabilitySetting

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

```csharp
public const string StabilitySetting = "elevenlabs.stability"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

#### Remarks

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

### <a id="Tracon_ElevenLabsProviderNames_StyleSetting"></a> StyleSetting

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

```csharp
public const string StyleSetting = "elevenlabs.style"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

#### Remarks

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

### <a id="Tracon_ElevenLabsProviderNames_UseSpeakerBoostSetting"></a> UseSpeakerBoostSetting

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

```csharp
public const string UseSpeakerBoostSetting = "elevenlabs.useSpeakerBoost"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

## Properties

### <a id="Tracon_ElevenLabsProviderNames_DialogueSupportedSettings"></a> DialogueSupportedSettings

The keys a [SpeechDialogueRequest](/api/tracon.speechdialoguerequest/) accepts.

```csharp
public static IReadOnlyList<string> DialogueSupportedSettings { get; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[string](https://learn.microsoft.com/dotnet/api/system.string)\>

#### Remarks

The dialogue service takes no style, speaker boost or speed. A key from
[ElevenLabsProviderNames.SupportedSettings](/api/tracon.elevenlabsprovidernames/#Tracon_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.

### <a id="Tracon_ElevenLabsProviderNames_SupportedSettings"></a> SupportedSettings

The keys a single-voice [SpeechRequest](/api/tracon.speechrequest/) accepts.

```csharp
public static IReadOnlyList<string> SupportedSettings { get; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[string](https://learn.microsoft.com/dotnet/api/system.string)\>
