diff --git a/ElevenLabs-DotNet/ElevenLabs-DotNet.csproj b/ElevenLabs-DotNet/ElevenLabs-DotNet.csproj index f79ef7d..55f3b75 100644 --- a/ElevenLabs-DotNet/ElevenLabs-DotNet.csproj +++ b/ElevenLabs-DotNet/ElevenLabs-DotNet.csproj @@ -25,8 +25,10 @@ All copyrights, trademarks, logos, and assets are the property of their respecti false true true - 3.0.0 + 3.0.1 +Version 3.0.1 +- Updated Models Version 3.0.0 - Updated to .NET 8.0 - Added ability to specify fully customizable domain proxies diff --git a/ElevenLabs-DotNet/Models/Model.cs b/ElevenLabs-DotNet/Models/Model.cs index 41a3d1f..a1bf3c7 100644 --- a/ElevenLabs-DotNet/Models/Model.cs +++ b/ElevenLabs-DotNet/Models/Model.cs @@ -1,5 +1,6 @@ // Licensed under the MIT License. See LICENSE in the project root for license information. +using System; using System.Collections.Generic; using System.Text.Json.Serialization; @@ -20,6 +21,10 @@ public Model(string id) [JsonPropertyName("name")] public string Name { get; private set; } + [JsonInclude] + [JsonPropertyName("description")] + public string Description { get; private set; } + [JsonInclude] [JsonPropertyName("can_be_finetuned")] public bool CanBeFineTuned { get; private set; } @@ -36,37 +41,67 @@ public Model(string id) [JsonPropertyName("token_cost_factor")] public double TokenCostFactor { get; private set; } - [JsonInclude] - [JsonPropertyName("description")] - public string Description { get; private set; } - [JsonInclude] [JsonPropertyName("languages")] public IReadOnlyList Languages { get; private set; } - public static implicit operator string(Model model) => model.ToString(); + public static implicit operator string(Model model) => model?.ToString(); public override string ToString() => Id; #region Predefined Models [JsonIgnore] - public static Model MonoLingualV1 { get; } = new("eleven_monolingual_v1"); + [Obsolete("Use EnglishV1")] + public static Model MonoLingualV1 => EnglishV1; [JsonIgnore] - public static Model MultiLingualV1 { get; } = new("eleven_multilingual_v1"); + [Obsolete("use EnglishTurboV2")] + public static Model TurboV2 => EnglishTurboV2; + /// + /// Our first ever text to speech model. Now outclassed by Multilingual v2 (for content creation) and Turbo v2.5 (for low latency use cases). + /// [JsonIgnore] - public static Model MultiLingualV2 { get; } = new("eleven_multilingual_v2"); + public static Model EnglishV1 { get; } = new("eleven_monolingual_v1"); + + /// + /// Our English-only, low latency model. Best for developer use cases where speed matters and you only need English. Performance is on par with Turbo v2.5. + /// + [JsonIgnore] + public static Model EnglishTurboV2 { get; } = new("eleven_turbo_v2"); + + /// + /// Our high quality, low latency model in 32 languages. Best for developer use cases where speed matters and you need non-English languages. + /// + [JsonIgnore] + public static Model TurboV2_5 { get; } = new("eleven_turbo_v2_5"); + /// + /// Our first Multilingual model, capability of generating speech in 10 languages. + /// Now outclassed by Multilingual v2 (for content creation) and Turbo v2.5 (for low latency use cases). + /// [JsonIgnore] - public static Model TurboV2 { get; } = new("eleven_turbo_v2"); + public static Model MultiLingualV1 { get; } = new("eleven_multilingual_v1"); + + /// + /// Our most life-like, emotionally rich mode in 29 languages. Best for voice overs, audiobooks, post-production, or any other content creation needs. + /// + [JsonIgnore] + public static Model MultiLingualV2 { get; } = new("eleven_multilingual_v2"); + /// + /// Our state-of-the-art speech to speech model suitable for scenarios where you need maximum control over the content and prosody of your generations. + /// [JsonIgnore] public static Model EnglishSpeechToSpeechV2 { get; } = new("eleven_english_sts_v2"); + /// + /// Our cutting-edge, multilingual speech-to-speech model is designed for situations that demand unparalleled control over both + /// the content and the prosody of the generated speech across various languages. + /// [JsonIgnore] - public static Model MultilingualSpeechToSpeechV2 { get; } = new("eleven_multilingual_sts_v2"); + public static Model MultiLingualSpeechToSpeechV2 { get; } = new("eleven_multilingual_sts_v2"); #endregion Predefined Models } diff --git a/ElevenLabs-DotNet/TextToSpeech/TextToSpeechRequest.cs b/ElevenLabs-DotNet/TextToSpeech/TextToSpeechRequest.cs index 34e2f3a..42e6acb 100644 --- a/ElevenLabs-DotNet/TextToSpeech/TextToSpeechRequest.cs +++ b/ElevenLabs-DotNet/TextToSpeech/TextToSpeechRequest.cs @@ -17,7 +17,7 @@ public TextToSpeechRequest(string text, Model model, VoiceSettings voiceSettings } Text = text; - Model = model ?? Models.Model.MonoLingualV1; + Model = model ?? Models.Model.EnglishV1; VoiceSettings = voiceSettings ?? throw new ArgumentNullException(nameof(voiceSettings)); }