diff --git a/src/cli/Rime.CLI/Rime.CLI.csproj b/src/cli/Rime.CLI/Rime.CLI.csproj
index 6498741..8e330dd 100644
--- a/src/cli/Rime.CLI/Rime.CLI.csproj
+++ b/src/cli/Rime.CLI/Rime.CLI.csproj
@@ -18,11 +18,11 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
\ No newline at end of file
diff --git a/src/libs/Rime/Generated/Rime.ITextToSpeechClient.Authorizations.Bearer.g.cs b/src/libs/Rime/Generated/Rime.ITextToSpeechClient.Authorizations.Bearer.g.cs
new file mode 100644
index 0000000..4f219ed
--- /dev/null
+++ b/src/libs/Rime/Generated/Rime.ITextToSpeechClient.Authorizations.Bearer.g.cs
@@ -0,0 +1,16 @@
+
+#nullable enable
+
+namespace Rime
+{
+ public partial interface ITextToSpeechClient
+ {
+ ///
+ /// Authorize using bearer authentication.
+ ///
+ ///
+
+ public void AuthorizeUsingBearer(
+ string apiKey);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Rime/Generated/Rime.IVoicesClient.Authorizations.Bearer.g.cs b/src/libs/Rime/Generated/Rime.IVoicesClient.Authorizations.Bearer.g.cs
new file mode 100644
index 0000000..6b4a57f
--- /dev/null
+++ b/src/libs/Rime/Generated/Rime.IVoicesClient.Authorizations.Bearer.g.cs
@@ -0,0 +1,16 @@
+
+#nullable enable
+
+namespace Rime
+{
+ public partial interface IVoicesClient
+ {
+ ///
+ /// Authorize using bearer authentication.
+ ///
+ ///
+
+ public void AuthorizeUsingBearer(
+ string apiKey);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Rime/Generated/Rime.TextToSpeechClient.Authorizations.Bearer.g.cs b/src/libs/Rime/Generated/Rime.TextToSpeechClient.Authorizations.Bearer.g.cs
new file mode 100644
index 0000000..31f99f6
--- /dev/null
+++ b/src/libs/Rime/Generated/Rime.TextToSpeechClient.Authorizations.Bearer.g.cs
@@ -0,0 +1,35 @@
+
+#nullable enable
+
+namespace Rime
+{
+ public sealed partial class TextToSpeechClient
+ {
+
+ ///
+ public void AuthorizeUsingBearer(
+ string apiKey)
+ {
+ apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey));
+
+ for (var i = Authorizations.Count - 1; i >= 0; i--)
+ {
+ var __authorization = Authorizations[i];
+ if (__authorization.Type == "Http" &&
+ __authorization.Name == "Bearer")
+ {
+ Authorizations.RemoveAt(i);
+ }
+ }
+
+ Authorizations.Add(new global::Rime.EndPointAuthorization
+ {
+ Type = "Http",
+ SchemeId = "HttpBearer",
+ Location = "Header",
+ Name = "Bearer",
+ Value = apiKey,
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Rime/Generated/Rime.TextToSpeechClient.Constructors.Bearer.g.cs b/src/libs/Rime/Generated/Rime.TextToSpeechClient.Constructors.Bearer.g.cs
new file mode 100644
index 0000000..3ef9951
--- /dev/null
+++ b/src/libs/Rime/Generated/Rime.TextToSpeechClient.Constructors.Bearer.g.cs
@@ -0,0 +1,31 @@
+
+#nullable enable
+
+namespace Rime
+{
+ public sealed partial class TextToSpeechClient
+ {
+ ///
+
+ public TextToSpeechClient(
+ string apiKey,
+ global::System.Net.Http.HttpClient? httpClient = null,
+ global::System.Uri? baseUri = null,
+ global::System.Collections.Generic.List? authorizations = null,
+ bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient)
+ {
+ Authorizing(HttpClient, ref apiKey);
+
+ AuthorizeUsingBearer(apiKey);
+
+ Authorized(HttpClient);
+ }
+
+ partial void Authorizing(
+ global::System.Net.Http.HttpClient client,
+ ref string apiKey);
+ partial void Authorized(
+ global::System.Net.Http.HttpClient client);
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Rime/Generated/Rime.VoicesClient.Authorizations.Bearer.g.cs b/src/libs/Rime/Generated/Rime.VoicesClient.Authorizations.Bearer.g.cs
new file mode 100644
index 0000000..a6a8c3f
--- /dev/null
+++ b/src/libs/Rime/Generated/Rime.VoicesClient.Authorizations.Bearer.g.cs
@@ -0,0 +1,35 @@
+
+#nullable enable
+
+namespace Rime
+{
+ public sealed partial class VoicesClient
+ {
+
+ ///
+ public void AuthorizeUsingBearer(
+ string apiKey)
+ {
+ apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey));
+
+ for (var i = Authorizations.Count - 1; i >= 0; i--)
+ {
+ var __authorization = Authorizations[i];
+ if (__authorization.Type == "Http" &&
+ __authorization.Name == "Bearer")
+ {
+ Authorizations.RemoveAt(i);
+ }
+ }
+
+ Authorizations.Add(new global::Rime.EndPointAuthorization
+ {
+ Type = "Http",
+ SchemeId = "HttpBearer",
+ Location = "Header",
+ Name = "Bearer",
+ Value = apiKey,
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/Rime/Generated/Rime.VoicesClient.Constructors.Bearer.g.cs b/src/libs/Rime/Generated/Rime.VoicesClient.Constructors.Bearer.g.cs
new file mode 100644
index 0000000..d9c4255
--- /dev/null
+++ b/src/libs/Rime/Generated/Rime.VoicesClient.Constructors.Bearer.g.cs
@@ -0,0 +1,31 @@
+
+#nullable enable
+
+namespace Rime
+{
+ public sealed partial class VoicesClient
+ {
+ ///
+
+ public VoicesClient(
+ string apiKey,
+ global::System.Net.Http.HttpClient? httpClient = null,
+ global::System.Uri? baseUri = null,
+ global::System.Collections.Generic.List? authorizations = null,
+ bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient)
+ {
+ Authorizing(HttpClient, ref apiKey);
+
+ AuthorizeUsingBearer(apiKey);
+
+ Authorized(HttpClient);
+ }
+
+ partial void Authorizing(
+ global::System.Net.Http.HttpClient client,
+ ref string apiKey);
+ partial void Authorized(
+ global::System.Net.Http.HttpClient client);
+
+ }
+}
\ No newline at end of file