Lyo.Typecast.Client
2.0.0
dotnet add package Lyo.Typecast.Client --version 2.0.0
NuGet\Install-Package Lyo.Typecast.Client -Version 2.0.0
<PackageReference Include="Lyo.Typecast.Client" Version="2.0.0" />
<PackageVersion Include="Lyo.Typecast.Client" Version="2.0.0" />
<PackageReference Include="Lyo.Typecast.Client" />
paket add Lyo.Typecast.Client --version 2.0.0
#r "nuget: Lyo.Typecast.Client, 2.0.0"
#:package Lyo.Typecast.Client@2.0.0
#addin nuget:?package=Lyo.Typecast.Client&version=2.0.0
#tool nuget:?package=Lyo.Typecast.Client&version=2.0.0
Lyo.Typecast.Client
HTTP client for Typecast text-to-speech and voice catalog work. TypecastClient subclasses Lyo.Api.Client.ApiClient, sets the X-API-KEY header from TypecastClientOptions, and surfaces two managers (TextToSpeech, Voices) over the REST endpoints.
Multi-targets netstandard2.0 and net10.0.
Examples
Add the client
// 1. Configuration-bound (defaults to the "TypecastClient" section)
services.AddTypecastClientFromConfiguration(builder.Configuration);
// 2. Inline configuration
services.AddTypecastClient(o => {
o.ApiKey = "your-api-key";
o.BaseUrl = "https://api.typecast.ai";
});
// 3. Pre-built options object
services.AddTypecastClient(new TypecastClientOptions { ApiKey = "your-api-key" });
Add the client (2)
{
"TypecastClient": {
"ApiKey": "your-api-key",
"BaseUrl": "https://api.typecast.ai"
}
}
TypecastClient
public readonly TextToSpeechManager TextToSpeech;
public readonly VoiceManager Voices;
Service registration
IServiceCollection has three DI extensions: every overload registers TypecastClient as a singleton. When the container has ILoggerFactory or HttpClient, those are used; otherwise the client falls back to sensible defaults. Example appsettings.json:
TypecastClientOptions
Subclass of ApiClientOptions, so the usual HTTP transport knobs come along (BaseUrl, timeouts, retry, etc.).
| Property | Notes |
|---|---|
ApiKey |
Required. Transmitted as X-API-KEY. |
BaseUrl |
Falls back to https://api.typecast.ai. |
SectionName |
"TypecastClient". Default section for AddTypecastClientFromConfiguration. |
Serialization uses snake_case names, case-insensitive reads, and WhenWritingNull ignore so it matches Typecast's API.
TypecastClient TextToSpeechManager
| Method | Endpoint | Returns |
|---|---|---|
SynthesizeAsync(TypecastTtsRequest request, ct = default) |
POST /v1/text-to-speech |
byte[] (audio as WAV or MP3). |
TypecastClient VoiceManager
| Method | Endpoint | Returns |
|---|---|---|
ListVoicesAsync(VoiceListReq? request = null, ct = default) |
GET /v2/voices |
List<Voice> (empty list if none). |
GetVoiceAsync(string voiceId, ct = default) |
GET /v2/voices/{voiceId} |
Voice? |
Request types
TypecastTtsRequest. SubclassesLyo.Tts.Models.TtsRequest. Fields:VoiceId,Text,Model(defaults toTypecastModel.SsfmV30),Language(LanguageCodeInfo, serialized as ISO 639-3),Prompt,Output,Seed, computedAudioFormat.Prompt. emotion / style knobs (including the"smart"mode with optionalprevious_text/next_textcontext).OutputSettings. volume / pitch / tempo / audio format.VoiceListReq. optionalModel,Gender,Age,UseCasesfilters.- Enums under
Enums/.Gender,AgeGroup,TypecastModel. - Response models under
Models/Voices/Response/.Voice,VoiceModel.
TypecastTtsRequestBuilder
Fluent helper that assembles a valid TTS request. Build() checks VoiceId and Text.
var request = TypecastTtsRequestBuilder
.Create("tc_60e5426de8b95f1d3000d7b5", "Hello, world!")
.WithModel("ssfm-v30")
.WithLanguage("eng") // accepts ISO 639-3 or ISO 639-1
.WithSmartPrompt(previousText: "Welcome.", nextText: "How are you?")
.WithOutput(o => {
o.AudioFormat = "mp3";
})
.WithSeed(42)
.Build();
var audio = await client.TextToSpeech.SynthesizeAsync(request, ct);
| Method | Sets |
|---|---|
New() / Create(voiceId, text) |
Static factories. |
WithVoiceId(string) / WithText(string) |
Mandatory fields. |
WithModel(string) |
e.g. "ssfm-v30", "ssfm-v21". |
WithLanguage(string) |
Tries ISO 639-3 before ISO 639-1; leaves language unset when the code is unknown. |
WithPrompt(Prompt) / WithPrompt(Action<Prompt>) |
Assign or configure in place. |
WithSmartPrompt(previousText?, nextText?) |
Shortcut for "smart" emotion mode. |
WithOutput(OutputSettings) / WithOutput(Action<OutputSettings>) |
Assign or configure in place. |
WithSeed(int) |
Fixed-seed generation. |
Build() |
Checks required fields, then returns the TypecastTtsRequest. |
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Common.Metadata(direct, lyo)Lyo.Http.Client(direct, lyo)Lyo.Metrics(direct, lyo)Lyo.Tts.Models(direct, lyo)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5(direct, microsoft)Microsoft.Extensions.Http10.0.5(direct, microsoft)Microsoft.Extensions.Logging.Abstractions10.0.5(direct, microsoft)Lyo.Common.Core(transitive, lyo)Lyo.Common.Json(transitive, lyo)Lyo.Configuration(transitive, lyo)Lyo.Exceptions(transitive, lyo)Lyo.Result(transitive, lyo)AngleSharp1.5.0(transitive, third-party)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)Microsoft.Extensions.Configuration.Binder10.0.5(transitive, microsoft)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)System.Threading.RateLimiting10.0.5(transitive, microsoft)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Http.Client (>= 2.0.0)
- Lyo.Metrics (>= 2.0.0)
- Lyo.Tts.Models (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Http (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
-
net10.0
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Http.Client (>= 2.0.0)
- Lyo.Metrics (>= 2.0.0)
- Lyo.Tts.Models (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Http (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lyo.Typecast.Client:
| Package | Downloads |
|---|---|
|
Lyo.Tts.Typecast
Typecast Text-to-Speech service implementation for converting text to speech using Typecast API. |
GitHub repositories
This package is not used by any popular GitHub repositories.