From e7b4e0d8d13d5ce0e845dab25eea766275ba86ae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 14 Oct 2026 08:22:11 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- ....ITextToSpeechClient.SynthesizeSpeech.g.cs | 13 ++ ...extToSpeechClient.SynthesizeSpeechSse.g.cs | 13 ++ ...I.JsonConverters.TtsRequestDateFormat.g.cs | 53 +++++ ...nverters.TtsRequestDateFormatNullable.g.cs | 60 +++++ .../SmallestAI.JsonSerializerContext.g.cs | 5 + ...SmallestAI.JsonSerializerContextTypes.g.cs | 206 +++++++++--------- .../SmallestAI.Models.TtsRequest.g.cs | 30 +++ ...mallestAI.Models.TtsRequestDateFormat.g.cs | 60 +++++ ...AI.TextToSpeech.JsonSerializerContext.g.cs | 16 ++ ...I.TextToSpeechClient.SynthesizeSpeech.g.cs | 14 ++ ...extToSpeechClient.SynthesizeSpeechSse.g.cs | 14 ++ src/libs/SmallestAI/openapi.yaml | 13 ++ 12 files changed, 396 insertions(+), 101 deletions(-) create mode 100644 src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormat.g.cs create mode 100644 src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormatNullable.g.cs create mode 100644 src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestDateFormat.g.cs diff --git a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs index e61d239..c799714 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs @@ -456,6 +456,18 @@ public partial interface ITextToSpeechClient /// Accepts the same language codes as `language` (including `auto`,
/// `nl`, `sv`). /// + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + /// /// /// Opt-in flag that reads digit-flanked math operators (`5 x 3`,
/// `2 ^ 10`, `6 ÷ 2`) as words instead of leaving them for the
@@ -535,6 +547,7 @@ public partial interface ITextToSpeechClient double? speed = default, global::SmallestAI.TtsRequestLanguage? language = default, global::SmallestAI.TtsRequestNumberPronunciationLanguage? numberPronunciationLanguage = default, + global::SmallestAI.TtsRequestDateFormat? dateFormat = default, bool? mathNotation = default, global::SmallestAI.TtsRequestContentFilter? contentFilter = default, global::SmallestAI.TtsRequestOutputFormat? outputFormat = default, diff --git a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs index 983f4be..2402b0f 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs @@ -159,6 +159,18 @@ public partial interface ITextToSpeechClient /// Accepts the same language codes as `language` (including `auto`,
/// `nl`, `sv`). /// + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + /// /// /// Opt-in flag that reads digit-flanked math operators (`5 x 3`,
/// `2 ^ 10`, `6 ÷ 2`) as words instead of leaving them for the
@@ -237,6 +249,7 @@ public partial interface ITextToSpeechClient double? speed = default, global::SmallestAI.TtsRequestLanguage? language = default, global::SmallestAI.TtsRequestNumberPronunciationLanguage? numberPronunciationLanguage = default, + global::SmallestAI.TtsRequestDateFormat? dateFormat = default, bool? mathNotation = default, global::SmallestAI.TtsRequestContentFilter? contentFilter = default, global::SmallestAI.TtsRequestOutputFormat? outputFormat = default, diff --git a/src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormat.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormat.g.cs new file mode 100644 index 0000000..5d58d51 --- /dev/null +++ b/src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormat.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace SmallestAI.JsonConverters +{ + /// + public sealed class TtsRequestDateFormatJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::SmallestAI.TtsRequestDateFormat Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::SmallestAI.TtsRequestDateFormatExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::SmallestAI.TtsRequestDateFormat)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::SmallestAI.TtsRequestDateFormat); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::SmallestAI.TtsRequestDateFormat value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::SmallestAI.TtsRequestDateFormatExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormatNullable.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormatNullable.g.cs new file mode 100644 index 0000000..0a25744 --- /dev/null +++ b/src/libs/SmallestAI/Generated/SmallestAI.JsonConverters.TtsRequestDateFormatNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace SmallestAI.JsonConverters +{ + /// + public sealed class TtsRequestDateFormatNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::SmallestAI.TtsRequestDateFormat? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::SmallestAI.TtsRequestDateFormatExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::SmallestAI.TtsRequestDateFormat)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::SmallestAI.TtsRequestDateFormat?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::SmallestAI.TtsRequestDateFormat? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::SmallestAI.TtsRequestDateFormatExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContext.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContext.g.cs index 9933689..18ef648 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContext.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContext.g.cs @@ -43,6 +43,10 @@ namespace SmallestAI typeof(global::SmallestAI.JsonConverters.TtsRequestNumberPronunciationLanguageNullableJsonConverter), + typeof(global::SmallestAI.JsonConverters.TtsRequestDateFormatJsonConverter), + + typeof(global::SmallestAI.JsonConverters.TtsRequestDateFormatNullableJsonConverter), + typeof(global::SmallestAI.JsonConverters.TtsRequestContentFilterActionJsonConverter), typeof(global::SmallestAI.JsonConverters.TtsRequestContentFilterActionNullableJsonConverter), @@ -186,6 +190,7 @@ namespace SmallestAI [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestSampleRate), TypeInfoPropertyName = "TtsRequestSampleRate2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestLanguage), TypeInfoPropertyName = "TtsRequestLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestNumberPronunciationLanguage), TypeInfoPropertyName = "TtsRequestNumberPronunciationLanguage2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestDateFormat), TypeInfoPropertyName = "TtsRequestDateFormat2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestContentFilterAction), TypeInfoPropertyName = "TtsRequestContentFilterAction2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestContentFilter))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] diff --git a/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContextTypes.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContextTypes.g.cs index 6fbe9be..17ebc10 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContextTypes.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.JsonSerializerContextTypes.g.cs @@ -105,407 +105,411 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::SmallestAI.TtsRequestContentFilterAction? Type18 { get; set; } + public global::SmallestAI.TtsRequestDateFormat? Type18 { get; set; } /// /// /// - public global::SmallestAI.TtsRequestContentFilter? Type19 { get; set; } + public global::SmallestAI.TtsRequestContentFilterAction? Type19 { get; set; } /// /// /// - public bool? Type20 { get; set; } + public global::SmallestAI.TtsRequestContentFilter? Type20 { get; set; } /// /// /// - public global::SmallestAI.TtsRequestOutputFormat? Type21 { get; set; } + public bool? Type21 { get; set; } /// /// /// - public global::SmallestAI.TtsRequest? Type22 { get; set; } + public global::SmallestAI.TtsRequestOutputFormat? Type22 { get; set; } /// /// /// - public double? Type23 { get; set; } + public global::SmallestAI.TtsRequest? Type23 { get; set; } /// /// /// - public global::SmallestAI.TtsError? Type24 { get; set; } + public double? Type24 { get; set; } /// /// /// - public global::SmallestAI.WavesV1TtsLivePostParametersXExpireContent? Type25 { get; set; } + public global::SmallestAI.TtsError? Type25 { get; set; } /// /// /// - public global::SmallestAI.WavesV1ModelGetVoicesGetParametersModel? Type26 { get; set; } + public global::SmallestAI.WavesV1TtsLivePostParametersXExpireContent? Type26 { get; set; } /// /// /// - public global::SmallestAI.WavesV1ModelGetVoicesGetResponsesContentApplicationJsonSchemaVoicesItemsTags? Type27 { get; set; } + public global::SmallestAI.WavesV1ModelGetVoicesGetParametersModel? Type27 { get; set; } /// /// /// - public global::SmallestAI.WavesV1ModelGetVoicesGetResponsesContentApplicationJsonSchemaVoicesItems? Type28 { get; set; } + public global::SmallestAI.WavesV1ModelGetVoicesGetResponsesContentApplicationJsonSchemaVoicesItemsTags? Type28 { get; set; } /// /// /// - public global::SmallestAI.VoicesGetWavesVoicesResponse200? Type29 { get; set; } + public global::SmallestAI.WavesV1ModelGetVoicesGetResponsesContentApplicationJsonSchemaVoicesItems? Type29 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type30 { get; set; } + public global::SmallestAI.VoicesGetWavesVoicesResponse200? Type30 { get; set; } /// /// /// - public global::SmallestAI.GetWavesVoicesRequestBadRequestError? Type31 { get; set; } + public global::System.Collections.Generic.IList? Type31 { get; set; } /// /// /// - public global::SmallestAI.GetWavesVoicesRequestUnauthorizedError? Type32 { get; set; } + public global::SmallestAI.GetWavesVoicesRequestBadRequestError? Type32 { get; set; } /// /// /// - public global::SmallestAI.GetWavesVoicesRequestInternalServerError? Type33 { get; set; } + public global::SmallestAI.GetWavesVoicesRequestUnauthorizedError? Type33 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningPostRequestBodyContentMultipartFormDataSchemaLanguage? Type34 { get; set; } + public global::SmallestAI.GetWavesVoicesRequestInternalServerError? Type34 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningPostRequestBodyContentMultipartFormDataSchemaModel? Type35 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningPostRequestBodyContentMultipartFormDataSchemaLanguage? Type35 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaDataStatus? Type36 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningPostRequestBodyContentMultipartFormDataSchemaModel? Type36 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaDataSamplesItems? Type37 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaDataStatus? Type37 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaData? Type38 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaDataSamplesItems? Type38 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type39 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaData? Type39 { get; set; } /// /// /// - public global::SmallestAI.VoiceCloningCreateVoiceCloneResponse200? Type40 { get; set; } + public global::System.Collections.Generic.IList? Type40 { get; set; } /// /// /// - public global::SmallestAI.CreateVoiceCloneRequestBadRequestError? Type41 { get; set; } + public global::SmallestAI.VoiceCloningCreateVoiceCloneResponse200? Type41 { get; set; } /// /// /// - public global::SmallestAI.CreateVoiceCloneRequestUnauthorizedError? Type42 { get; set; } + public global::SmallestAI.CreateVoiceCloneRequestBadRequestError? Type42 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaErrorCode? Type43 { get; set; } + public global::SmallestAI.CreateVoiceCloneRequestUnauthorizedError? Type43 { get; set; } /// /// /// - public global::SmallestAI.CreateVoiceCloneRequestInternalServerError? Type44 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningPostResponsesContentApplicationJsonSchemaErrorCode? Type44 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningGetResponsesContentApplicationJsonSchemaDataItemsStatus? Type45 { get; set; } + public global::SmallestAI.CreateVoiceCloneRequestInternalServerError? Type45 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningGetResponsesContentApplicationJsonSchemaDataItemsCloningType? Type46 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningGetResponsesContentApplicationJsonSchemaDataItemsStatus? Type46 { get; set; } /// /// /// - public global::SmallestAI.WavesV1VoiceCloningGetResponsesContentApplicationJsonSchemaDataItems? Type47 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningGetResponsesContentApplicationJsonSchemaDataItemsCloningType? Type47 { get; set; } /// /// /// - public global::SmallestAI.VoiceCloningListVoiceClonesResponse200? Type48 { get; set; } + public global::SmallestAI.WavesV1VoiceCloningGetResponsesContentApplicationJsonSchemaDataItems? Type48 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type49 { get; set; } + public global::SmallestAI.VoiceCloningListVoiceClonesResponse200? Type49 { get; set; } /// /// /// - public global::SmallestAI.PronunciationItem? Type50 { get; set; } + public global::System.Collections.Generic.IList? Type50 { get; set; } /// /// /// - public global::SmallestAI.PronunciationDict? Type51 { get; set; } + public global::SmallestAI.PronunciationItem? Type51 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type52 { get; set; } + public global::SmallestAI.PronunciationDict? Type52 { get; set; } /// /// /// - public global::SmallestAI.ErrorResponseDetailsItems? Type53 { get; set; } + public global::System.Collections.Generic.IList? Type53 { get; set; } /// /// /// - public global::SmallestAI.ErrorResponse? Type54 { get; set; } + public global::SmallestAI.ErrorResponseDetailsItems? Type54 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type55 { get; set; } + public global::SmallestAI.ErrorResponse? Type55 { get; set; } /// /// /// - public global::SmallestAI.CreatePronunciationDictRequest? Type56 { get; set; } + public global::System.Collections.Generic.IList? Type56 { get; set; } /// /// /// - public global::SmallestAI.UpdatePronunciationDictRequest? Type57 { get; set; } + public global::SmallestAI.CreatePronunciationDictRequest? Type57 { get; set; } /// /// /// - public global::SmallestAI.UpdatePronunciationDictResponse? Type58 { get; set; } + public global::SmallestAI.UpdatePronunciationDictRequest? Type58 { get; set; } /// /// /// - public global::SmallestAI.DeletePronunciationDictRequest? Type59 { get; set; } + public global::SmallestAI.UpdatePronunciationDictResponse? Type59 { get; set; } /// /// /// - public global::SmallestAI.DeletePronunciationDictResponse? Type60 { get; set; } + public global::SmallestAI.DeletePronunciationDictRequest? Type60 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersModel? Type61 { get; set; } + public global::SmallestAI.DeletePronunciationDictResponse? Type61 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersLanguage? Type62 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersModel? Type62 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersWordTimestamps? Type63 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersLanguage? Type63 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersDiarize? Type64 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersWordTimestamps? Type64 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersWebhookMethod? Type65 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersDiarize? Type65 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersRedactPii? Type66 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersWebhookMethod? Type66 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersRedactPci? Type67 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersRedactPii? Type67 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersEmotionDetection? Type68 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersRedactPci? Type68 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersGenderDetection? Type69 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersEmotionDetection? Type69 { get; set; } /// /// /// - public global::SmallestAI.WavesV1SttPostParametersXExpireContent? Type70 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersGenderDetection? Type70 { get; set; } /// /// /// - public global::SmallestAI.Word? Type71 { get; set; } + public global::SmallestAI.WavesV1SttPostParametersXExpireContent? Type71 { get; set; } /// /// /// - public global::SmallestAI.Utterance? Type72 { get; set; } + public global::SmallestAI.Word? Type72 { get; set; } /// /// /// - public global::SmallestAI.TranscriptionResponseMetadata? Type73 { get; set; } + public global::SmallestAI.Utterance? Type73 { get; set; } /// /// /// - public global::SmallestAI.TranscriptionResponse? Type74 { get; set; } + public global::SmallestAI.TranscriptionResponseMetadata? Type74 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type75 { get; set; } + public global::SmallestAI.TranscriptionResponse? Type75 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type76 { get; set; } + public global::System.Collections.Generic.IList? Type76 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type77 { get; set; } + public global::System.Collections.Generic.IList? Type77 { get; set; } /// /// /// - public global::SmallestAI.AsyncAccepted? Type78 { get; set; } + public global::System.Collections.Generic.Dictionary? Type78 { get; set; } /// /// /// - public global::SmallestAI.SpeechToTextTranscribeResponse200? Type79 { get; set; } + public global::SmallestAI.AsyncAccepted? Type79 { get; set; } /// /// /// - public global::SmallestAI.SttErrorResponseStatus? Type80 { get; set; } + public global::SmallestAI.SpeechToTextTranscribeResponse200? Type80 { get; set; } /// /// /// - public global::SmallestAI.SttErrorResponseErrorsOneOf0Items? Type81 { get; set; } + public global::SmallestAI.SttErrorResponseStatus? Type81 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type82 { get; set; } + public global::SmallestAI.SttErrorResponseErrorsOneOf0Items? Type82 { get; set; } /// /// /// - public global::SmallestAI.SttErrorResponseErrors? Type83 { get; set; } + public global::System.Collections.Generic.IList? Type83 { get; set; } /// /// /// - public global::SmallestAI.SttErrorResponse? Type84 { get; set; } + public global::SmallestAI.SttErrorResponseErrors? Type84 { get; set; } /// /// /// - public global::SmallestAI.WavesV1ChatCompletionsPostParametersXExpireContent? Type85 { get; set; } + public global::SmallestAI.SttErrorResponse? Type85 { get; set; } /// /// /// - public global::SmallestAI.ElectronToolCallType? Type86 { get; set; } + public global::SmallestAI.WavesV1ChatCompletionsPostParametersXExpireContent? Type86 { get; set; } /// /// /// - public global::SmallestAI.ElectronToolCallFunction? Type87 { get; set; } + public global::SmallestAI.ElectronToolCallType? Type87 { get; set; } /// /// /// - public global::SmallestAI.ElectronToolCall? Type88 { get; set; } + public global::SmallestAI.ElectronToolCallFunction? Type88 { get; set; } /// /// /// - public global::SmallestAI.ElectronMessage? Type89 { get; set; } + public global::SmallestAI.ElectronToolCall? Type89 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type90 { get; set; } + public global::SmallestAI.ElectronMessage? Type90 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestStreamOptions? Type91 { get; set; } + public global::System.Collections.Generic.IList? Type91 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestToolChoice0? Type92 { get; set; } + public global::SmallestAI.ChatCompletionRequestStreamOptions? Type92 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestToolChoiceOneOf1Type? Type93 { get; set; } + public global::SmallestAI.ChatCompletionRequestToolChoice0? Type93 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestToolChoiceOneOf1Function? Type94 { get; set; } + public global::SmallestAI.ChatCompletionRequestToolChoiceOneOf1Type? Type94 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestToolChoice1? Type95 { get; set; } + public global::SmallestAI.ChatCompletionRequestToolChoiceOneOf1Function? Type95 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestToolChoice? Type96 { get; set; } + public global::SmallestAI.ChatCompletionRequestToolChoice1? Type96 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestResponseFormatType? Type97 { get; set; } + public global::SmallestAI.ChatCompletionRequestToolChoice? Type97 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestResponseFormat? Type98 { get; set; } + public global::SmallestAI.ChatCompletionRequestResponseFormatType? Type98 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequestStop? Type99 { get; set; } + public global::SmallestAI.ChatCompletionRequestResponseFormat? Type99 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionRequest? Type100 { get; set; } + public global::SmallestAI.ChatCompletionRequestStop? Type100 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type101 { get; set; } + public global::SmallestAI.ChatCompletionRequest? Type101 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type102 { get; set; } + public global::System.Collections.Generic.IList? Type102 { get; set; } /// /// /// - public object? Type103 { get; set; } + public global::System.Collections.Generic.IList? Type103 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionObject? Type104 { get; set; } + public object? Type104 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionChoicesItemsFinishReason? Type105 { get; set; } + public global::SmallestAI.ChatCompletionObject? Type105 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletionChoicesItems? Type106 { get; set; } + public global::SmallestAI.ChatCompletionChoicesItemsFinishReason? Type106 { get; set; } /// /// /// - public global::SmallestAI.UsagePromptTokensDetails? Type107 { get; set; } + public global::SmallestAI.ChatCompletionChoicesItems? Type107 { get; set; } /// /// /// - public global::SmallestAI.Usage? Type108 { get; set; } + public global::SmallestAI.UsagePromptTokensDetails? Type108 { get; set; } /// /// /// - public global::SmallestAI.ChatCompletion? Type109 { get; set; } + public global::SmallestAI.Usage? Type109 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type110 { get; set; } + public global::SmallestAI.ChatCompletion? Type110 { get; set; } /// /// /// - public global::SmallestAI.ErrorErrorDetailsItems? Type111 { get; set; } + public global::System.Collections.Generic.IList? Type111 { get; set; } /// /// /// - public global::SmallestAI.ErrorError? Type112 { get; set; } + public global::SmallestAI.ErrorErrorDetailsItems? Type112 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type113 { get; set; } + public global::SmallestAI.ErrorError? Type113 { get; set; } /// /// /// - public global::SmallestAI.Error? Type114 { get; set; } + public global::System.Collections.Generic.IList? Type114 { get; set; } /// /// /// - public global::SmallestAI.TranscriptionUrlRequest? Type115 { get; set; } + public global::SmallestAI.Error? Type115 { get; set; } /// /// /// - public global::SmallestAI.CreateVoiceCloneRequest? Type116 { get; set; } + public global::SmallestAI.TranscriptionUrlRequest? Type116 { get; set; } /// /// /// - public byte[]? Type117 { get; set; } + public global::SmallestAI.CreateVoiceCloneRequest? Type117 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type118 { get; set; } + public byte[]? Type118 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type119 { get; set; } /// /// diff --git a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs index d9535db..553d758 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs @@ -112,6 +112,22 @@ public sealed partial class TtsRequest [global::System.Text.Json.Serialization.JsonConverter(typeof(global::SmallestAI.JsonConverters.TtsRequestNumberPronunciationLanguageJsonConverter))] public global::SmallestAI.TtsRequestNumberPronunciationLanguage? NumberPronunciationLanguage { get; set; } + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("date_format")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::SmallestAI.JsonConverters.TtsRequestDateFormatJsonConverter))] + public global::SmallestAI.TtsRequestDateFormat? DateFormat { get; set; } + /// /// Opt-in flag that reads digit-flanked math operators (`5 x 3`,
/// `2 ^ 10`, `6 ÷ 2`) as words instead of leaving them for the
@@ -284,6 +300,18 @@ public sealed partial class TtsRequest /// Accepts the same language codes as `language` (including `auto`,
/// `nl`, `sv`). /// + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + /// /// /// Opt-in flag that reads digit-flanked math operators (`5 x 3`,
/// `2 ^ 10`, `6 ÷ 2`) as words instead of leaving them for the
@@ -361,6 +389,7 @@ public TtsRequest( double? speed, global::SmallestAI.TtsRequestLanguage? language, global::SmallestAI.TtsRequestNumberPronunciationLanguage? numberPronunciationLanguage, + global::SmallestAI.TtsRequestDateFormat? dateFormat, bool? mathNotation, global::SmallestAI.TtsRequestContentFilter? contentFilter, global::SmallestAI.TtsRequestOutputFormat? outputFormat, @@ -376,6 +405,7 @@ public TtsRequest( this.Speed = speed; this.Language = language; this.NumberPronunciationLanguage = numberPronunciationLanguage; + this.DateFormat = dateFormat; this.MathNotation = mathNotation; this.ContentFilter = contentFilter; this.OutputFormat = outputFormat; diff --git a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestDateFormat.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestDateFormat.g.cs new file mode 100644 index 0000000..ea98a2e --- /dev/null +++ b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestDateFormat.g.cs @@ -0,0 +1,60 @@ + +#nullable enable + +namespace SmallestAI +{ + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + ///
+ public enum TtsRequestDateFormat + { + /// + /// `05/03/2024` → "fifth March, + /// + Eu, + /// + /// `05/03/2024` → "May third, + /// + Us, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsRequestDateFormatExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsRequestDateFormat value) + { + return value switch + { + TtsRequestDateFormat.Eu => "EU", + TtsRequestDateFormat.Us => "US", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsRequestDateFormat? ToEnum(string value) + { + return value switch + { + "EU" => TtsRequestDateFormat.Eu, + "US" => TtsRequestDateFormat.Us, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeech.JsonSerializerContext.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeech.JsonSerializerContext.g.cs index 92a913c..3d8084a 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeech.JsonSerializerContext.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeech.JsonSerializerContext.g.cs @@ -21,6 +21,7 @@ namespace SmallestAI [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestSampleRate), TypeInfoPropertyName = "TtsRequestSampleRate2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestLanguage), TypeInfoPropertyName = "TtsRequestLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestNumberPronunciationLanguage), TypeInfoPropertyName = "TtsRequestNumberPronunciationLanguage2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestDateFormat), TypeInfoPropertyName = "TtsRequestDateFormat2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestContentFilterAction), TypeInfoPropertyName = "TtsRequestContentFilterAction2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestContentFilter))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] @@ -36,6 +37,7 @@ namespace SmallestAI [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestSampleRate?), TypeInfoPropertyName = "NullableTtsRequestSampleRate2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestLanguage?), TypeInfoPropertyName = "NullableTtsRequestLanguage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestNumberPronunciationLanguage?), TypeInfoPropertyName = "NullableTtsRequestNumberPronunciationLanguage2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestDateFormat?), TypeInfoPropertyName = "NullableTtsRequestDateFormat2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestContentFilterAction?), TypeInfoPropertyName = "NullableTtsRequestContentFilterAction2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SmallestAI.TtsRequestOutputFormat?), TypeInfoPropertyName = "NullableTtsRequestOutputFormat2")] @@ -135,6 +137,10 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::SmallestAI.TtsRequestNumberPronunciationLanguage?) + || typeToConvert == typeof(global::SmallestAI.TtsRequestDateFormat) + + || typeToConvert == typeof(global::SmallestAI.TtsRequestDateFormat?) + || typeToConvert == typeof(global::SmallestAI.TtsRequestContentFilterAction) || typeToConvert == typeof(global::SmallestAI.TtsRequestContentFilterAction?) @@ -212,6 +218,16 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::SmallestAI.JsonConverters.TtsRequestNumberPronunciationLanguageNullableJsonConverter(); } + if (typeToConvert == typeof(global::SmallestAI.TtsRequestDateFormat)) + { + return new global::SmallestAI.JsonConverters.TtsRequestDateFormatJsonConverter(); + } + + if (typeToConvert == typeof(global::SmallestAI.TtsRequestDateFormat?)) + { + return new global::SmallestAI.JsonConverters.TtsRequestDateFormatNullableJsonConverter(); + } + if (typeToConvert == typeof(global::SmallestAI.TtsRequestContentFilterAction)) { return new global::SmallestAI.JsonConverters.TtsRequestContentFilterActionJsonConverter(); diff --git a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs index 1d4bbec..6a98a77 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs @@ -1412,6 +1412,18 @@ partial void ProcessSynthesizeSpeechResponseContent( /// Accepts the same language codes as `language` (including `auto`,
/// `nl`, `sv`). /// + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + /// /// /// Opt-in flag that reads digit-flanked math operators (`5 x 3`,
/// `2 ^ 10`, `6 ÷ 2`) as words instead of leaving them for the
@@ -1491,6 +1503,7 @@ partial void ProcessSynthesizeSpeechResponseContent( double? speed = default, global::SmallestAI.TtsRequestLanguage? language = default, global::SmallestAI.TtsRequestNumberPronunciationLanguage? numberPronunciationLanguage = default, + global::SmallestAI.TtsRequestDateFormat? dateFormat = default, bool? mathNotation = default, global::SmallestAI.TtsRequestContentFilter? contentFilter = default, global::SmallestAI.TtsRequestOutputFormat? outputFormat = default, @@ -1510,6 +1523,7 @@ partial void ProcessSynthesizeSpeechResponseContent( Speed = speed, Language = language, NumberPronunciationLanguage = numberPronunciationLanguage, + DateFormat = dateFormat, MathNotation = mathNotation, ContentFilter = contentFilter, OutputFormat = outputFormat, diff --git a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs index e17d0cc..725f004 100644 --- a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs +++ b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs @@ -528,6 +528,18 @@ partial void ProcessSynthesizeSpeechSseResponse( /// Accepts the same language codes as `language` (including `auto`,
/// `nl`, `sv`). /// + /// + /// Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are
+ /// read out, independent of the synthesis voice:
+ /// - `EU` — day/month order (`DD/MM`): `05/03/2024` → "fifth March,
+ /// twenty twenty four".
+ /// - `US` — month/day order (`MM/DD`): `05/03/2024` → "May third,
+ /// twenty twenty four".
+ /// Omit this field to keep the existing behaviour: English dates
+ /// default to `US` (`MM/DD`). Applies across all languages, so you can
+ /// force day-first (`DD/MM`) reading — e.g. the Indian convention — on
+ /// any voice. + /// /// /// Opt-in flag that reads digit-flanked math operators (`5 x 3`,
/// `2 ^ 10`, `6 ÷ 2`) as words instead of leaving them for the
@@ -606,6 +618,7 @@ partial void ProcessSynthesizeSpeechSseResponse( double? speed = default, global::SmallestAI.TtsRequestLanguage? language = default, global::SmallestAI.TtsRequestNumberPronunciationLanguage? numberPronunciationLanguage = default, + global::SmallestAI.TtsRequestDateFormat? dateFormat = default, bool? mathNotation = default, global::SmallestAI.TtsRequestContentFilter? contentFilter = default, global::SmallestAI.TtsRequestOutputFormat? outputFormat = default, @@ -625,6 +638,7 @@ partial void ProcessSynthesizeSpeechSseResponse( Speed = speed, Language = language, NumberPronunciationLanguage = numberPronunciationLanguage, + DateFormat = dateFormat, MathNotation = mathNotation, ContentFilter = contentFilter, OutputFormat = outputFormat, diff --git a/src/libs/SmallestAI/openapi.yaml b/src/libs/SmallestAI/openapi.yaml index f67c614..7b5702e 100644 --- a/src/libs/SmallestAI/openapi.yaml +++ b/src/libs/SmallestAI/openapi.yaml @@ -1294,6 +1294,15 @@ "description": "Optional. Sets the language used to read out numeric content —\nnumbers, currency amounts, times, and the numeric parts of dates\nand years — independently of the synthesis voice. Ordinary words\nare not translated.\n\n- If you **omit `language`**, this value also becomes the\n synthesis language: model selection and voice routing follow it.\n- If you **set `language` explicitly**, `language` always wins for\n synthesis and `number_pronunciation_language` only changes how\n numeric content is normalized. It works both ways — read numbers\n in Hindi under an English voice, or in English under a Hindi\n voice (tuned for Indian, often mixed-script, use cases).\n- Omit this field to keep the existing behaviour — normalization\n follows `language`.\n\nNote: only numeric tokens are re-spoken; the words around them\nstay in the text language. On a cross-language request names may\nalso render in the target script (e.g. \"Smith\" → \"स्मिथ\"), which\nis generally the desired reading for native-language voices.\n\nAccepts the same language codes as `language` (including `auto`,\n`nl`, `sv`).\n", "title": "TtsRequestNumberPronunciationLanguage" }, + "TtsRequestDateFormat": { + "type": "string", + "enum": [ + "EU", + "US" + ], + "description": "Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are\nread out, independent of the synthesis voice:\n\n- `EU` — day/month order (`DD/MM`): `05/03/2024` → \"fifth March,\n twenty twenty four\".\n- `US` — month/day order (`MM/DD`): `05/03/2024` → \"May third,\n twenty twenty four\".\n\nOmit this field to keep the existing behaviour: English dates\ndefault to `US` (`MM/DD`). Applies across all languages, so you can\nforce day-first (`DD/MM`) reading — e.g. the Indian convention — on\nany voice.\n", + "title": "TtsRequestDateFormat" + }, "TtsRequestContentFilterAction": { "type": "string", "enum": [ @@ -1375,6 +1384,10 @@ "$ref": "#/components/schemas/TtsRequestNumberPronunciationLanguage", "description": "Optional. Sets the language used to read out numeric content —\nnumbers, currency amounts, times, and the numeric parts of dates\nand years — independently of the synthesis voice. Ordinary words\nare not translated.\n\n- If you **omit `language`**, this value also becomes the\n synthesis language: model selection and voice routing follow it.\n- If you **set `language` explicitly**, `language` always wins for\n synthesis and `number_pronunciation_language` only changes how\n numeric content is normalized. It works both ways — read numbers\n in Hindi under an English voice, or in English under a Hindi\n voice (tuned for Indian, often mixed-script, use cases).\n- Omit this field to keep the existing behaviour — normalization\n follows `language`.\n\nNote: only numeric tokens are re-spoken; the words around them\nstay in the text language. On a cross-language request names may\nalso render in the target script (e.g. \"Smith\" → \"स्मिथ\"), which\nis generally the desired reading for native-language voices.\n\nAccepts the same language codes as `language` (including `auto`,\n`nl`, `sv`).\n" }, + "date_format": { + "$ref": "#/components/schemas/TtsRequestDateFormat", + "description": "Optional. Controls how all-numeric dates (e.g. `05/03/2024`) are\nread out, independent of the synthesis voice:\n\n- `EU` — day/month order (`DD/MM`): `05/03/2024` → \"fifth March,\n twenty twenty four\".\n- `US` — month/day order (`MM/DD`): `05/03/2024` → \"May third,\n twenty twenty four\".\n\nOmit this field to keep the existing behaviour: English dates\ndefault to `US` (`MM/DD`). Applies across all languages, so you can\nforce day-first (`DD/MM`) reading — e.g. the Indian convention — on\nany voice.\n" + }, "math_notation": { "type": "boolean", "default": false,