Skip to content
Tracon

OpenAILiveOptions

Namespace Tracon · Assembly Tracon.OpenAI.dll

Options of the OpenAI live voice provider.

public sealed class OpenAILiveOptions

objectOpenAILiveOptions

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

The type is not a record: option classes must not produce a ToString that can be written to a log, and this one sits next to an API key.

public OpenAILiveOptions()

The characters-per-token ratio used to turn the provider’s token limit into a character ceiling.

public const int ConservativeCharactersPerToken = 2

int

This is the single place the conversion is stated. Tracon ships no tokenizer and must not take one on (AOT, and no new package), so the limit is converted once and deliberately conservatively: a Turkish sentence spends far fewer characters per token than an English one, and a ratio tuned for English would have appends rejected in Turkish.

The per-append token limit the provider enforces, as measured against the live API.

public const int ProviderAppendTokenLimit = 500

int

Measured 2026-09-11: an oversized append answers "Context append text must not exceed 500 tokens."

The default name of the configuration section.

public const string SectionName = "Tracon:Providers:OpenAI:Live"

string

Gets or sets the model the provider uses in Responses delegation mode.

public string? BackendModel { get; set; }

string?

Gets or sets the API root. The default is https://api.openai.com/v1/.

public Uri? Endpoint { get; set; }

Uri?

Gets or sets the per-append character ceiling. The default is derived from OpenAILiveOptions.ProviderAppendTokenLimit and OpenAILiveOptions.ConservativeCharactersPerToken.

public int MaxAppendCharacters { get; set; }

int

Gets or sets the live model. The default is gpt-live-1.

public string Model { get; set; }

string

Gets or sets the timeout of the session-creation call. The default is 30 seconds.

public TimeSpan Timeout { get; set; }

TimeSpan

Gets or sets the output voice; null leaves the provider’s default.

public string? Voice { get; set; }

string?