Interface IVoiceInfo
Interface for voice data retrieved from various AI APIs. This interface defines the properties that all voice data should implement. It is used to standardize the voice data across different AI providers.
Inherited Members
Namespace: Glitch9.AIDevKit
Assembly: Glitch9.AIDevKit.dll
Syntax
public interface IVoiceInfo : IAIResource, IData, IHasId<string>, IHasName, IDeprecatable
Properties
| Edit this page View SourceAccent
The accent or regional variant of the voice (e.g. "American", "British", "Australian"). Useful for filtering voices by regional speech characteristics within a single language.
Declaration
string Accent { get; }
Property Value
| Type | Description |
|---|---|
| string |
Age
The perceived age group of the voice (e.g. child, young adult, senior).
Helps select voices that match the intended character or demographic.
Returns null if the provider does not classify voice age.
Declaration
VoiceAge? Age { get; }
Property Value
| Type | Description |
|---|---|
| VoiceAge? |
AvailableForTiers
The list of subscription tier identifiers on which this voice is accessible.
An empty list or null typically means the voice is available on all tiers.
Declaration
List<string> AvailableForTiers { get; }
Property Value
| Type | Description |
|---|---|
| List<string> |
Category
The broad use-case category this voice belongs to (e.g. news, conversational, customer service).
Used when filtering or recommending voices for a specific content domain.
Returns null if the provider does not categorize this voice.
Declaration
VoiceCategory? Category { get; set; }
Property Value
| Type | Description |
|---|---|
| VoiceCategory? |
Gender
The perceived gender presentation of the voice (e.g. Male, Female, Neutral). This is a perceptual attribute assigned by the provider and does not imply identity. Defaults to Unknown if the provider does not specify.
Declaration
VoiceGender Gender { get; }
Property Value
| Type | Description |
|---|---|
| VoiceGender |
ImageUrl
URL of a thumbnail or portrait image used to represent this voice visually in a UI.
Commonly used by providers like ElevenLabs that associate a persona with each voice.
Returns null if the provider does not supply an image.
Declaration
string ImageUrl { get; }
Property Value
| Type | Description |
|---|---|
| string |
IsFeatured
Indicates whether this voice is highlighted or promoted in the provider catalogue.
Featured voices are typically high-quality recommendations from the provider.
Returns null if the provider does not expose featured status.
Declaration
bool? IsFeatured { get; }
Property Value
| Type | Description |
|---|---|
| bool? |
IsFree
Indicates whether this voice can be used without incurring additional charges.
Free voices may still be subject to usage limits defined by the provider.
Returns null if pricing information is not available.
Declaration
bool? IsFree { get; }
Property Value
| Type | Description |
|---|---|
| bool? |
IsPreview
Indicates whether this voice is in a preview or early-access state.
Preview voices may have limited availability, higher latency, or reduced quality compared to GA voices.
Returns null if the provider does not expose preview status.
Declaration
bool? IsPreview { get; }
Property Value
| Type | Description |
|---|---|
| bool? |
Locale
The locale (language and region) this voice is designed for (e.g. en-US, ja-JP).
Determines which language the voice can speak and how it handles pronunciation rules.
Declaration
Locale Locale { get; }
Property Value
| Type | Description |
|---|---|
| Locale |
PreviewUri
URI pointing to a short audio clip that previews how this voice sounds.
Can be used to play a sample in the UI before committing to a voice selection.
Returns null if no preview clip is provided by the provider.
Declaration
string PreviewUri { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Style
The expressive speaking style of the voice (e.g. cheerful, empathetic, newscast).
Some providers offer multiple style variants for a single base voice.
Returns null if the voice does not have a designated style.
Declaration
VoiceStyle? Style { get; }
Property Value
| Type | Description |
|---|---|
| VoiceStyle? |
Type
The synthesis technology used by this voice. Neural voices use deep-learning models for more natural prosody; Standard voices use rule-based concatenative synthesis. Defaults to Neural.
Declaration
VoiceType Type { get; }
Property Value
| Type | Description |
|---|---|
| VoiceType |