diff --git a/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsCommandApiCommand.g.cs b/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsCommandApiCommand.g.cs index 6a57f70..55b8ecf 100644 --- a/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsCommandApiCommand.g.cs +++ b/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsCommandApiCommand.g.cs @@ -112,6 +112,12 @@ internal static partial class OpenAPIV1CreateTtsCommandApiCommand { Description = @"Early stopping threshold for batch processing.", }; + + private static Option?> Features { get; } = new( + name: @"--features") + { + Description = @"Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use [""quality-guard""] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.", + }; private static readonly ProsodyControlOptionSet ProsodyOptions = ProsodyControlOptionSet.Create(@"prosody"); private static Option Input { get; } = new(@"--input") { @@ -150,7 +156,8 @@ public static Command Create() command.Options.Add(RepetitionPenalty); command.Options.Add(MinChunkLength); command.Options.Add(ConditionOnPreviousChunks); - command.Options.Add(EarlyStopThreshold); command.Options.Add(ProsodyOptions.Speed); + command.Options.Add(EarlyStopThreshold); + command.Options.Add(Features); command.Options.Add(ProsodyOptions.Speed); command.Options.Add(ProsodyOptions.Volume); command.Options.Add(ProsodyOptions.NormalizeLoudness); command.Options.Add(Input); @@ -196,6 +203,7 @@ await CliRuntime.RunAsync(async () => var minChunkLength = CliRuntime.WasSpecified(parseResult, MinChunkLength) ? parseResult.GetValue(MinChunkLength) : (__requestBase is { } __MinChunkLengthBaseValue ? __MinChunkLengthBaseValue.MinChunkLength : default); var conditionOnPreviousChunks = CliRuntime.WasSpecified(parseResult, ConditionOnPreviousChunks) ? parseResult.GetValue(ConditionOnPreviousChunks) : (__requestBase is { } __ConditionOnPreviousChunksBaseValue ? __ConditionOnPreviousChunksBaseValue.ConditionOnPreviousChunks : default); var earlyStopThreshold = CliRuntime.WasSpecified(parseResult, EarlyStopThreshold) ? parseResult.GetValue(EarlyStopThreshold) : (__requestBase is { } __EarlyStopThresholdBaseValue ? __EarlyStopThresholdBaseValue.EarlyStopThreshold : default); + var features = CliRuntime.WasSpecified(parseResult, Features) ? parseResult.GetValue(Features) : (__requestBase is { } __FeaturesBaseValue ? __FeaturesBaseValue.Features : default); var __ProsodyBase = __requestBase is { } __ProsodyBaseValue ? __ProsodyBaseValue.Prosody : default; var prosodySpeed = CliRuntime.WasSpecified(parseResult, ProsodyOptions.Speed) ? parseResult.GetValue(ProsodyOptions.Speed) : (__ProsodyBase is { } __ProsodyspeedBaseValue ? __ProsodyspeedBaseValue.Speed : default); var prosodyVolume = CliRuntime.WasSpecified(parseResult, ProsodyOptions.Volume) ? parseResult.GetValue(ProsodyOptions.Volume) : (__ProsodyBase is { } __ProsodyvolumeBaseValue ? __ProsodyvolumeBaseValue.Volume : default); @@ -233,6 +241,7 @@ await client.OpenAPIV1.CreateTtsAsync( minChunkLength: minChunkLength, conditionOnPreviousChunks: conditionOnPreviousChunks, earlyStopThreshold: earlyStopThreshold, + features: features, prosody: prosody, cancellationToken: cancellationToken).ConfigureAwait(false); diff --git a/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsStreamWithTimestampCommandApiCommand.g.cs b/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsStreamWithTimestampCommandApiCommand.g.cs index 155e541..416034d 100644 --- a/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsStreamWithTimestampCommandApiCommand.g.cs +++ b/src/cli/FishAudio.CLI/Commands/OpenAPIV1CreateTtsStreamWithTimestampCommandApiCommand.g.cs @@ -112,6 +112,12 @@ internal static partial class OpenAPIV1CreateTtsStreamWithTimestampCommandApiCom { Description = @"Early stopping threshold for batch processing.", }; + + private static Option?> Features { get; } = new( + name: @"--features") + { + Description = @"Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use [""quality-guard""] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.", + }; private static readonly ProsodyControlOptionSet ProsodyOptions = ProsodyControlOptionSet.Create(@"prosody"); private static Option Input { get; } = new(@"--input") { @@ -150,7 +156,8 @@ public static Command Create() command.Options.Add(RepetitionPenalty); command.Options.Add(MinChunkLength); command.Options.Add(ConditionOnPreviousChunks); - command.Options.Add(EarlyStopThreshold); command.Options.Add(ProsodyOptions.Speed); + command.Options.Add(EarlyStopThreshold); + command.Options.Add(Features); command.Options.Add(ProsodyOptions.Speed); command.Options.Add(ProsodyOptions.Volume); command.Options.Add(ProsodyOptions.NormalizeLoudness); command.Options.Add(Input); @@ -196,6 +203,7 @@ await CliRuntime.RunAsync(async () => var minChunkLength = CliRuntime.WasSpecified(parseResult, MinChunkLength) ? parseResult.GetValue(MinChunkLength) : (__requestBase is { } __MinChunkLengthBaseValue ? __MinChunkLengthBaseValue.MinChunkLength : default); var conditionOnPreviousChunks = CliRuntime.WasSpecified(parseResult, ConditionOnPreviousChunks) ? parseResult.GetValue(ConditionOnPreviousChunks) : (__requestBase is { } __ConditionOnPreviousChunksBaseValue ? __ConditionOnPreviousChunksBaseValue.ConditionOnPreviousChunks : default); var earlyStopThreshold = CliRuntime.WasSpecified(parseResult, EarlyStopThreshold) ? parseResult.GetValue(EarlyStopThreshold) : (__requestBase is { } __EarlyStopThresholdBaseValue ? __EarlyStopThresholdBaseValue.EarlyStopThreshold : default); + var features = CliRuntime.WasSpecified(parseResult, Features) ? parseResult.GetValue(Features) : (__requestBase is { } __FeaturesBaseValue ? __FeaturesBaseValue.Features : default); var __ProsodyBase = __requestBase is { } __ProsodyBaseValue ? __ProsodyBaseValue.Prosody : default; var prosodySpeed = CliRuntime.WasSpecified(parseResult, ProsodyOptions.Speed) ? parseResult.GetValue(ProsodyOptions.Speed) : (__ProsodyBase is { } __ProsodyspeedBaseValue ? __ProsodyspeedBaseValue.Speed : default); var prosodyVolume = CliRuntime.WasSpecified(parseResult, ProsodyOptions.Volume) ? parseResult.GetValue(ProsodyOptions.Volume) : (__ProsodyBase is { } __ProsodyvolumeBaseValue ? __ProsodyvolumeBaseValue.Volume : default); @@ -233,6 +241,7 @@ await CliRuntime.RunAsync(async () => minChunkLength: minChunkLength, conditionOnPreviousChunks: conditionOnPreviousChunks, earlyStopThreshold: earlyStopThreshold, + features: features, prosody: prosody, cancellationToken: cancellationToken); diff --git a/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTts.g.cs b/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTts.g.cs index 3d80927..d42a410 100644 --- a/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTts.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTts.g.cs @@ -170,6 +170,10 @@ public partial interface IOpenAPIV1Client /// Early stopping threshold for batch processing.
/// Default Value: 1 /// + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -193,6 +197,7 @@ public partial interface IOpenAPIV1Client int? minChunkLength = default, bool? conditionOnPreviousChunks = default, double? earlyStopThreshold = default, + global::System.Collections.Generic.IList? features = default, global::FishAudio.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs b/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs index 9e9a529..08aa724 100644 --- a/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.IOpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs @@ -114,6 +114,10 @@ public partial interface IOpenAPIV1Client /// Early stopping threshold for batch processing.
/// Default Value: 1 /// + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -137,6 +141,7 @@ public partial interface IOpenAPIV1Client int? minChunkLength = default, bool? conditionOnPreviousChunks = default, double? earlyStopThreshold = default, + global::System.Collections.Generic.IList? features = default, global::FishAudio.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponse.g.cs b/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponse.g.cs index 203fa32..1cab573 100644 --- a/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponse.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponse.g.cs @@ -105,6 +105,12 @@ public sealed partial class GetWalletPackageResponse [global::System.Text.Json.Serialization.JsonPropertyName("last_synced_at")] public global::System.DateTime? LastSyncedAt { get; set; } + /// + /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("subscription_currency")] + public string? SubscriptionCurrency { get; set; } + /// /// Default Value: 0 /// @@ -157,6 +163,9 @@ public sealed partial class GetWalletPackageResponse /// /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 /// + /// + /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// /// Default Value: 0 /// @@ -182,6 +191,7 @@ public GetWalletPackageResponse( global::System.DateTime? cancelAt, object? scheduledChange, global::System.DateTime? lastSyncedAt, + string? subscriptionCurrency, int? extraBalance, bool? hasUsedTrial) { @@ -200,6 +210,7 @@ public GetWalletPackageResponse( this.CancelAt = cancelAt; this.ScheduledChange = scheduledChange; this.LastSyncedAt = lastSyncedAt; + this.SubscriptionCurrency = subscriptionCurrency; this.ExtraBalance = extraBalance; this.HasUsedTrial = hasUsedTrial; } diff --git a/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponseSubscriptionCurrency.Json.g.cs b/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponseSubscriptionCurrency.Json.g.cs new file mode 100644 index 0000000..2af0bf6 --- /dev/null +++ b/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponseSubscriptionCurrency.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace FishAudio +{ + public sealed partial class GetWalletPackageResponseSubscriptionCurrency + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::FishAudio.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::FishAudio.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::FishAudio.GetWalletPackageResponseSubscriptionCurrency? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::FishAudio.GetWalletPackageResponseSubscriptionCurrency), + jsonSerializerContext) as global::FishAudio.GetWalletPackageResponseSubscriptionCurrency; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::FishAudio.GetWalletPackageResponseSubscriptionCurrency? FromJson( + string json) + { + return FromJson( + json, + global::FishAudio.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::FishAudio.GetWalletPackageResponseSubscriptionCurrency? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::FishAudio.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::FishAudio.GetWalletPackageResponseSubscriptionCurrency), + jsonSerializerContext).ConfigureAwait(false)) as global::FishAudio.GetWalletPackageResponseSubscriptionCurrency; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::FishAudio.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::FishAudio.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponseSubscriptionCurrency.g.cs b/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponseSubscriptionCurrency.g.cs new file mode 100644 index 0000000..7c991ab --- /dev/null +++ b/src/libs/FishAudio/Generated/FishAudio.Models.GetWalletPackageResponseSubscriptionCurrency.g.cs @@ -0,0 +1,19 @@ + +#nullable enable + +namespace FishAudio +{ + /// + /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + public sealed partial class GetWalletPackageResponseSubscriptionCurrency + { + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + } +} \ No newline at end of file diff --git a/src/libs/FishAudio/Generated/FishAudio.Models.TTSRequest.g.cs b/src/libs/FishAudio/Generated/FishAudio.Models.TTSRequest.g.cs index 9dc092b..cc92de8 100644 --- a/src/libs/FishAudio/Generated/FishAudio.Models.TTSRequest.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.Models.TTSRequest.g.cs @@ -153,6 +153,13 @@ public sealed partial class TTSRequest [global::System.Text.Json.Serialization.JsonPropertyName("early_stop_threshold")] public double? EarlyStopThreshold { get; set; } + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("features")] + public global::System.Collections.Generic.IList? Features { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -232,6 +239,10 @@ public sealed partial class TTSRequest /// Early stopping threshold for batch processing.
/// Default Value: 1 /// + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -253,7 +264,8 @@ public TTSRequest( double? repetitionPenalty, int? minChunkLength, bool? conditionOnPreviousChunks, - double? earlyStopThreshold) + double? earlyStopThreshold, + global::System.Collections.Generic.IList? features) { this.Text = text ?? throw new global::System.ArgumentNullException(nameof(text)); this.Temperature = temperature; @@ -273,6 +285,7 @@ public TTSRequest( this.MinChunkLength = minChunkLength; this.ConditionOnPreviousChunks = conditionOnPreviousChunks; this.EarlyStopThreshold = earlyStopThreshold; + this.Features = features; } /// diff --git a/src/libs/FishAudio/Generated/FishAudio.Models.TTSStreamWithTimestampRequest.g.cs b/src/libs/FishAudio/Generated/FishAudio.Models.TTSStreamWithTimestampRequest.g.cs index ba05754..8fe96bc 100644 --- a/src/libs/FishAudio/Generated/FishAudio.Models.TTSStreamWithTimestampRequest.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.Models.TTSStreamWithTimestampRequest.g.cs @@ -137,6 +137,13 @@ public sealed partial class TTSStreamWithTimestampRequest [global::System.Text.Json.Serialization.JsonPropertyName("early_stop_threshold")] public double? EarlyStopThreshold { get; set; } + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("features")] + public global::System.Collections.Generic.IList? Features { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -216,6 +223,10 @@ public sealed partial class TTSStreamWithTimestampRequest /// Early stopping threshold for batch processing.
/// Default Value: 1 /// + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -237,7 +248,8 @@ public TTSStreamWithTimestampRequest( double? repetitionPenalty, int? minChunkLength, bool? conditionOnPreviousChunks, - double? earlyStopThreshold) + double? earlyStopThreshold, + global::System.Collections.Generic.IList? features) { this.Text = text ?? throw new global::System.ArgumentNullException(nameof(text)); this.Temperature = temperature; @@ -257,6 +269,7 @@ public TTSStreamWithTimestampRequest( this.MinChunkLength = minChunkLength; this.ConditionOnPreviousChunks = conditionOnPreviousChunks; this.EarlyStopThreshold = earlyStopThreshold; + this.Features = features; } /// diff --git a/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTts.g.cs b/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTts.g.cs index ca5a6f3..24f2962 100644 --- a/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTts.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTts.g.cs @@ -669,6 +669,10 @@ await CreateTtsAsResponseAsync( /// Early stopping threshold for batch processing.
/// Default Value: 1 /// + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -692,6 +696,7 @@ await CreateTtsAsResponseAsync( int? minChunkLength = default, bool? conditionOnPreviousChunks = default, double? earlyStopThreshold = default, + global::System.Collections.Generic.IList? features = default, global::FishAudio.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -715,6 +720,7 @@ await CreateTtsAsResponseAsync( MinChunkLength = minChunkLength, ConditionOnPreviousChunks = conditionOnPreviousChunks, EarlyStopThreshold = earlyStopThreshold, + Features = features, }; await CreateTtsAsync( diff --git a/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs b/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs index c84f0ee..7d63077 100644 --- a/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs +++ b/src/libs/FishAudio/Generated/FishAudio.OpenAPIV1Client.CreateTtsStreamWithTimestamp.g.cs @@ -480,6 +480,10 @@ partial void ProcessCreateTtsStreamWithTimestampResponse( /// Early stopping threshold for batch processing.
/// Default Value: 1 /// + /// + /// Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use ["quality-guard"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.
+ /// Default Value: [] + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -503,6 +507,7 @@ partial void ProcessCreateTtsStreamWithTimestampResponse( int? minChunkLength = default, bool? conditionOnPreviousChunks = default, double? earlyStopThreshold = default, + global::System.Collections.Generic.IList? features = default, global::FishAudio.AutoSDKRequestOptions? requestOptions = default, [global::System.Runtime.CompilerServices.EnumeratorCancellation] global::System.Threading.CancellationToken cancellationToken = default) { @@ -526,6 +531,7 @@ partial void ProcessCreateTtsStreamWithTimestampResponse( MinChunkLength = minChunkLength, ConditionOnPreviousChunks = conditionOnPreviousChunks, EarlyStopThreshold = earlyStopThreshold, + Features = features, }; var __enumerable = CreateTtsStreamWithTimestampAsync( diff --git a/src/libs/FishAudio/Generated/autosdk.generated-examples.json b/src/libs/FishAudio/Generated/autosdk.generated-examples.json index 722f736..9986bab 100644 --- a/src/libs/FishAudio/Generated/autosdk.generated-examples.json +++ b/src/libs/FishAudio/Generated/autosdk.generated-examples.json @@ -6,7 +6,7 @@ "Slug": "text-to-speech-stream-with-timestamps", "Description": "Generated from OpenAPI examples.", "Language": "http", - "Code": "### Text to Speech Stream with Timestamps\nPOST {{host}}/v1/tts/stream/with-timestamp\nAuthorization: Bearer {{token}}\nmodel: s2.1-pro-free\nContent-Type: application/json\nAccept: application/json, text/event-stream\n\n{\n \u0022text\u0022: \u0022string\u0022,\n \u0022temperature\u0022: 0.7,\n \u0022top_p\u0022: 0.7,\n \u0022references\u0022: [\n {\n \u0022audio\u0022: \u0022\u0022,\n \u0022text\u0022: \u0022string\u0022\n }\n ],\n \u0022reference_id\u0022: \u0022openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464\u0022,\n \u0022prosody\u0022: \u0022openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464\u0022,\n \u0022chunk_length\u0022: 300,\n \u0022normalize\u0022: true,\n \u0022format\u0022: \u0022mp3\u0022,\n \u0022sample_rate\u0022: \u0022openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464\u0022,\n \u0022mp3_bitrate\u0022: 128,\n \u0022opus_bitrate\u0022: -1000,\n \u0022latency\u0022: \u0022normal\u0022,\n \u0022max_new_tokens\u0022: 1024,\n \u0022repetition_penalty\u0022: 1.2,\n \u0022min_chunk_length\u0022: 50,\n \u0022condition_on_previous_chunks\u0022: true,\n \u0022early_stop_threshold\u0022: 1\n}\n\n## Responses\n# 200\n# Description: Server-Sent Events stream. Each \u0060message\u0060 event contains a JSON payload with one base64 audio chunk. Concatenate every \u0060audio_base64\u0060 chunk in arrival order to reconstruct the complete audio. \u0060alignment\u0060 is the latest cumulative timestamp snapshot for \u0060chunk_seq\u0060; clients should replace the previous snapshot for that chunk instead of appending segments. \u0060chunk_audio_offset_sec\u0060 can be added to segment times to derive absolute timestamps in the full audio.\n# Content-Type: text/event-stream\n# 401\n# Description: No permission -- see authorization schemes\n# Content-Type: application/json\n# 402\n# Description: No payment -- see charging schemes\n# Content-Type: application/json\n# 422\n# Content-Type: application/json", + "Code": "### Text to Speech Stream with Timestamps\nPOST {{host}}/v1/tts/stream/with-timestamp\nAuthorization: Bearer {{token}}\nmodel: s2.1-pro-free\nContent-Type: application/json\nAccept: application/json, text/event-stream\n\n{\n \u0022text\u0022: \u0022string\u0022,\n \u0022temperature\u0022: 0.7,\n \u0022top_p\u0022: 0.7,\n \u0022references\u0022: [\n {\n \u0022audio\u0022: \u0022\u0022,\n \u0022text\u0022: \u0022string\u0022\n }\n ],\n \u0022reference_id\u0022: \u0022openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464\u0022,\n \u0022prosody\u0022: \u0022openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464\u0022,\n \u0022chunk_length\u0022: 300,\n \u0022normalize\u0022: true,\n \u0022format\u0022: \u0022mp3\u0022,\n \u0022sample_rate\u0022: \u0022openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464\u0022,\n \u0022mp3_bitrate\u0022: 128,\n \u0022opus_bitrate\u0022: -1000,\n \u0022latency\u0022: \u0022normal\u0022,\n \u0022max_new_tokens\u0022: 1024,\n \u0022repetition_penalty\u0022: 1.2,\n \u0022min_chunk_length\u0022: 50,\n \u0022condition_on_previous_chunks\u0022: true,\n \u0022early_stop_threshold\u0022: 1,\n \u0022features\u0022: []\n}\n\n## Responses\n# 200\n# Description: Server-Sent Events stream. Each \u0060message\u0060 event contains a JSON payload with one base64 audio chunk. Concatenate every \u0060audio_base64\u0060 chunk in arrival order to reconstruct the complete audio. \u0060alignment\u0060 is the latest cumulative timestamp snapshot for \u0060chunk_seq\u0060; clients should replace the previous snapshot for that chunk instead of appending segments. \u0060chunk_audio_offset_sec\u0060 can be added to segment times to derive absolute timestamps in the full audio.\n# Content-Type: text/event-stream\n# 401\n# Description: No permission -- see authorization schemes\n# Content-Type: application/json\n# 402\n# Description: No payment -- see charging schemes\n# Content-Type: application/json\n# 422\n# Content-Type: application/json", "Format": "http", "OperationId": "createTtsStreamWithTimestamp", "Setup": null diff --git a/src/libs/FishAudio/openapi.json b/src/libs/FishAudio/openapi.json index fc319d1..967b90e 100644 --- a/src/libs/FishAudio/openapi.json +++ b/src/libs/FishAudio/openapi.json @@ -166,6 +166,18 @@ "default": null, "title": "Last Synced At" }, + "subscription_currency": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Subscription Currency" + }, "extra_balance": { "anyOf": [ { @@ -4531,6 +4543,15 @@ "minimum": 0, "title": "Early Stop Threshold", "type": "number" + }, + "features": { + "default": [], + "description": "Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use [\"quality-guard\"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.", + "items": { + "type": "string" + }, + "title": "Features", + "type": "array" } }, "required": [ @@ -4729,6 +4750,15 @@ "minimum": 0, "title": "Early Stop Threshold", "type": "number" + }, + "features": { + "default": [], + "description": "Optional request-scoped TTS feature flags forwarded verbatim to the inference backend. Use [\"quality-guard\"] to enable the quality guard for this synthesis request. Feature availability is determined by the inference backend.", + "items": { + "type": "string" + }, + "title": "Features", + "type": "array" } }, "required": [ @@ -5006,4 +5036,4 @@ "url": "https://api.fish.audio" } ] -} +} \ No newline at end of file