diff --git a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs
index c799714..5755722 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeech.g.cs
@@ -503,7 +503,7 @@ public partial interface ITextToSpeechClient
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
diff --git a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs
index 2402b0f..b764eba 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.ITextToSpeechClient.SynthesizeSpeechSse.g.cs
@@ -206,7 +206,7 @@ public partial interface ITextToSpeechClient
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
diff --git a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs
index 553d758..a7c7f52 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequest.g.cs
@@ -166,7 +166,7 @@ public sealed partial class TtsRequest
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
@@ -347,7 +347,7 @@ public sealed partial class TtsRequest
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
diff --git a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilter.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilter.g.cs
index 87dfa57..bcc3828 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilter.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilter.g.cs
@@ -6,7 +6,7 @@ namespace SmallestAI
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
@@ -26,7 +26,7 @@ public sealed partial class TtsRequestContentFilter
public bool? Enabled { get; set; }
///
- /// What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match.
+ /// What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match; `redact` removes the matched term and synthesizes the rest.
/// Default Value: reject
///
[global::System.Text.Json.Serialization.JsonPropertyName("action")]
@@ -47,7 +47,7 @@ public sealed partial class TtsRequestContentFilter
/// Default Value: false
///
///
- /// What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match.
+ /// What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match; `redact` removes the matched term and synthesizes the rest.
/// Default Value: reject
///
#if NET7_0_OR_GREATER
diff --git a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilterAction.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilterAction.g.cs
index c6534d2..6d0e7ff 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilterAction.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.Models.TtsRequestContentFilterAction.g.cs
@@ -4,7 +4,7 @@
namespace SmallestAI
{
///
- /// What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match.
+ /// What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match; `redact` removes the matched term and synthesizes the rest.
/// Default Value: reject
///
public enum TtsRequestContentFilterAction
@@ -16,6 +16,10 @@ public enum TtsRequestContentFilterAction
///
///
///
+ Redact,
+ ///
+ ///
+ ///
Reject,
}
@@ -32,6 +36,7 @@ public static string ToValueString(this TtsRequestContentFilterAction value)
return value switch
{
TtsRequestContentFilterAction.Flag => "flag",
+ TtsRequestContentFilterAction.Redact => "redact",
TtsRequestContentFilterAction.Reject => "reject",
_ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null),
};
@@ -44,6 +49,7 @@ public static string ToValueString(this TtsRequestContentFilterAction value)
return value switch
{
"flag" => TtsRequestContentFilterAction.Flag,
+ "redact" => TtsRequestContentFilterAction.Redact,
"reject" => TtsRequestContentFilterAction.Reject,
_ => null,
};
diff --git a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs
index 6a98a77..456ca69 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeech.g.cs
@@ -1459,7 +1459,7 @@ partial void ProcessSynthesizeSpeechResponseContent(
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
diff --git a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs
index 725f004..4839ce2 100644
--- a/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs
+++ b/src/libs/SmallestAI/Generated/SmallestAI.TextToSpeechClient.SynthesizeSpeechSse.g.cs
@@ -575,7 +575,7 @@ partial void ProcessSynthesizeSpeechSseResponse(
///
/// Opt-in profanity filter for the submitted text. Off by default;
/// passing this object is the only way to turn it on. The filter
- /// never rewrites your text — it either lets the request through or
+ /// rewrites your text only with `action: redact`; otherwise it either lets the request through or
/// rejects it before synthesis.
/// `action: "reject"` returns HTTP 400 with `error_code:
/// "CONTENT_FILTER_BLOCKED"`, the `language` checked and a
diff --git a/src/libs/SmallestAI/openapi.yaml b/src/libs/SmallestAI/openapi.yaml
index 7b5702e..77e59d8 100644
--- a/src/libs/SmallestAI/openapi.yaml
+++ b/src/libs/SmallestAI/openapi.yaml
@@ -1307,10 +1307,11 @@
"type": "string",
"enum": [
"reject",
- "flag"
+ "flag",
+ "redact"
],
"default": "reject",
- "description": "What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match.",
+ "description": "What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match; `redact` removes the matched term and synthesizes the rest.",
"title": "TtsRequestContentFilterAction"
},
"TtsRequestContentFilter": {
@@ -1324,10 +1325,10 @@
"action": {
"$ref": "#/components/schemas/TtsRequestContentFilterAction",
"default": "reject",
- "description": "What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match."
+ "description": "What happens on a match. `reject` fails the request with HTTP 400; `flag` synthesizes normally and records the match; `redact` removes the matched term and synthesizes the rest."
}
},
- "description": "Opt-in profanity filter for the submitted text. Off by default;\npassing this object is the only way to turn it on. The filter\nnever rewrites your text — it either lets the request through or\nrejects it before synthesis.\n\n`action: \"reject\"` returns HTTP 400 with `error_code:\n\"CONTENT_FILTER_BLOCKED\"`, the `language` checked and a\n`match_count`; the matched terms are never returned or logged.\n`action: \"flag\"` synthesizes normally and records the match.\n\nMatching is whole-word, not substring. If no verdict is returned\nthe request fails open and the audio is synthesized unfiltered.\n\nSee [Content filter](/models/text-to-speech/content-filter).\n",
+ "description": "Opt-in profanity filter for the submitted text. Off by default;\npassing this object is the only way to turn it on. The filter\nrewrites your text only with `action: redact`; otherwise it either lets the request through or\nrejects it before synthesis.\n\n`action: \"reject\"` returns HTTP 400 with `error_code:\n\"CONTENT_FILTER_BLOCKED\"`, the `language` checked and a\n`match_count`; the matched terms are never returned or logged.\n`action: \"flag\"` synthesizes normally and records the match.\n\nMatching is whole-word, not substring. If no verdict is returned\nthe request fails open and the audio is synthesized unfiltered.\n\nSee [Content filter](/models/text-to-speech/content-filter).\n",
"title": "TtsRequestContentFilter"
},
"TtsRequestOutputFormat": {
@@ -1395,7 +1396,7 @@
},
"content_filter": {
"$ref": "#/components/schemas/TtsRequestContentFilter",
- "description": "Opt-in profanity filter for the submitted text. Off by default;\npassing this object is the only way to turn it on. The filter\nnever rewrites your text — it either lets the request through or\nrejects it before synthesis.\n\n`action: \"reject\"` returns HTTP 400 with `error_code:\n\"CONTENT_FILTER_BLOCKED\"`, the `language` checked and a\n`match_count`; the matched terms are never returned or logged.\n`action: \"flag\"` synthesizes normally and records the match.\n\nMatching is whole-word, not substring. If no verdict is returned\nthe request fails open and the audio is synthesized unfiltered.\n\nSee [Content filter](/models/text-to-speech/content-filter).\n"
+ "description": "Opt-in profanity filter for the submitted text. Off by default;\npassing this object is the only way to turn it on. The filter\nrewrites your text only with `action: redact`; otherwise it either lets the request through or\nrejects it before synthesis.\n\n`action: \"reject\"` returns HTTP 400 with `error_code:\n\"CONTENT_FILTER_BLOCKED\"`, the `language` checked and a\n`match_count`; the matched terms are never returned or logged.\n`action: \"flag\"` synthesizes normally and records the match.\n\nMatching is whole-word, not substring. If no verdict is returned\nthe request fails open and the audio is synthesized unfiltered.\n\nSee [Content filter](/models/text-to-speech/content-filter).\n"
},
"output_format": {
"$ref": "#/components/schemas/TtsRequestOutputFormat",