diff --git a/.fern/metadata.json b/.fern/metadata.json index 2eea317..d7c02b9 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -25,6 +25,6 @@ } } }, - "originGitCommit": "089414edddad02c1799299617e095fcd687046cf", - "sdkVersion": "0.2.7" + "originGitCommit": "274a9e627c776728cbf8da2fc71627448d122f99", + "sdkVersion": "0.2.8" } \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock new file mode 100644 index 0000000..6314456 --- /dev/null +++ b/.fern/replay.lock @@ -0,0 +1,10 @@ +# DO NOT EDIT MANUALLY - Managed by Fern Replay +version: "1.0" +generations: + - commit_sha: 082df3d1088cbc544b1430e6ffee7e8f7b689e6a + tree_hash: d5abd44c8e2d87f9cc9875439d27a1b11e12e649 + timestamp: 2026-05-19T21:23:50.177Z + cli_version: unknown + generator_versions: {} +current_generation: 082df3d1088cbc544b1430e6ffee7e8f7b689e6a +patches: [] diff --git a/.fernignore b/.fernignore index 37c57e9..803661a 100644 --- a/.fernignore +++ b/.fernignore @@ -3,4 +3,7 @@ src/HumeApi.Test/Unit/MockServer/Tts/SynthesizeJsonStreamingTest.cs .github/workflows/release-upm.yml .github/workflows/release-nuget.yml .github/workflows/ci.yml -src/Hume.sln \ No newline at end of file +src/Hume.sln +.fern/replay.lock +.fern/replay.yml +.gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..74928d6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +.fern/replay.lock linguist-generated=true diff --git a/examples-repo b/examples-repo deleted file mode 160000 index 8e59714..0000000 --- a/examples-repo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8e597143196697b94fb3940c31007da2d334136c diff --git a/reference.md b/reference.md index 2da6e9c..ee939f7 100644 --- a/reference.md +++ b/reference.md @@ -2264,7 +2264,7 @@ Refer to our [tool use](/docs/speech-to-speech-evi/features/tool-use#function-ca
```csharp -await client.EmpathicVoice.Tools.DeleteToolVersionAsync("", 1); +await client.EmpathicVoice.Tools.DeleteToolVersionAsync("your-tool-id", 1); ```
diff --git a/src/Hume.Test/Unit/MockServer/EmpathicVoice/Tools/DeleteToolVersionTest.cs b/src/Hume.Test/Unit/MockServer/EmpathicVoice/Tools/DeleteToolVersionTest.cs new file mode 100644 index 0000000..a3ea8fc --- /dev/null +++ b/src/Hume.Test/Unit/MockServer/EmpathicVoice/Tools/DeleteToolVersionTest.cs @@ -0,0 +1,26 @@ +using Hume.Test.Unit.MockServer; +using NUnit.Framework; + +namespace Hume.Test.Unit.MockServer.EmpathicVoice.Tools; + +[TestFixture] +[Parallelizable(ParallelScope.Self)] +public class DeleteToolVersionTest : BaseMockServerTest +{ + [NUnit.Framework.Test] + public void MockServerTest() + { + Server + .Given( + WireMock + .RequestBuilders.Request.Create() + .WithPath("/v0/evi/tools/your-tool-id/version/1") + .UsingDelete() + ) + .RespondWith(WireMock.ResponseBuilders.Response.Create().WithStatusCode(200)); + + Assert.DoesNotThrowAsync(async () => + await Client.EmpathicVoice.Tools.DeleteToolVersionAsync("your-tool-id", 1) + ); + } +} diff --git a/src/Hume/Core/Public/Version.cs b/src/Hume/Core/Public/Version.cs index afac175..4cc4e59 100644 --- a/src/Hume/Core/Public/Version.cs +++ b/src/Hume/Core/Public/Version.cs @@ -3,5 +3,5 @@ namespace Hume; [Serializable] internal class Version { - public const string Current = "0.2.7"; + public const string Current = "0.2.8"; } diff --git a/src/Hume/EmpathicVoice/Tools/ToolsClient.cs b/src/Hume/EmpathicVoice/Tools/ToolsClient.cs index 5f327d9..240b3f4 100644 --- a/src/Hume/EmpathicVoice/Tools/ToolsClient.cs +++ b/src/Hume/EmpathicVoice/Tools/ToolsClient.cs @@ -927,7 +927,7 @@ public WithRawResponseTask UpdateToolNameAsync( /// Refer to our [tool use](/docs/speech-to-speech-evi/features/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. /// /// - /// await client.EmpathicVoice.Tools.DeleteToolVersionAsync("", 1); + /// await client.EmpathicVoice.Tools.DeleteToolVersionAsync("your-tool-id", 1); /// public async global::System.Threading.Tasks.Task DeleteToolVersionAsync( string id, diff --git a/src/Hume/Hume.csproj b/src/Hume/Hume.csproj index 58e946e..9dc5b00 100644 --- a/src/Hume/Hume.csproj +++ b/src/Hume/Hume.csproj @@ -4,7 +4,7 @@ enable 12 enable - 0.2.7 + 0.2.8 $(Version) $(Version) README.md diff --git a/src/Hume/HumeClient.cs b/src/Hume/HumeClient.cs index 6bca1e4..bc484eb 100644 --- a/src/Hume/HumeClient.cs +++ b/src/Hume/HumeClient.cs @@ -18,7 +18,7 @@ public HumeClient(string? apiKey = null, ClientOptions? clientOptions = null) { "X-Fern-Language", "C#" }, { "X-Fern-SDK-Name", "Hume" }, { "X-Fern-SDK-Version", Version.Current }, - { "User-Agent", "Hume/0.2.7" }, + { "User-Agent", "Hume/0.2.8" }, } ); foreach (var header in platformHeaders) diff --git a/src/Hume/Tts/StreamInput/StreamInputApi.cs b/src/Hume/Tts/StreamInput/StreamInputApi.cs index a6fa96d..1506669 100644 --- a/src/Hume/Tts/StreamInput/StreamInputApi.cs +++ b/src/Hume/Tts/StreamInput/StreamInputApi.cs @@ -40,7 +40,7 @@ public StreamInputApi(StreamInputApi.Options options) _options = options; var uri = new UriBuilder(_options.BaseUrl) { - Query = new Hume.Core.QueryStringBuilder.Builder(capacity: 9) + Query = new Hume.Core.QueryStringBuilder.Builder(capacity: 10) .Add("access_token", _options.AccessToken) .Add("context_generation_id", _options.ContextGenerationId) .AddDeepObject("format_type", _options.FormatType) @@ -48,6 +48,7 @@ public StreamInputApi(StreamInputApi.Options options) .Add("instant_mode", _options.InstantMode) .Add("no_binary", _options.NoBinary) .Add("strip_headers", _options.StripHeaders) + .Add("temperature", _options.Temperature) .AddDeepObject("version", _options.Version) .Add("api_key", _options.ApiKey) .Build(), @@ -287,6 +288,18 @@ public class Options /// public bool? StripHeaders { get; set; } + /// + /// Sampling temperature for the speech generation model. Higher values increase variation; lower values increase consistency. + /// + /// **This is an experimental parameter.** It is recommended to use the default values for most use cases. + /// + /// Defaults when omitted: + /// - Octave 1 voice creation (no voice specified): `0.9` + /// - Octave 1 text-to-speech: `0.8` + /// - Octave 2 text-to-speech: `0.75` + /// + public double? Temperature { get; set; } + /// /// The version of the Octave Model to use. 1 for the legacy model, 2 for the new model. /// diff --git a/src/Hume/Tts/Types/PostedTts.cs b/src/Hume/Tts/Types/PostedTts.cs index a7381c6..12c4c1d 100644 --- a/src/Hume/Tts/Types/PostedTts.cs +++ b/src/Hume/Tts/Types/PostedTts.cs @@ -57,6 +57,19 @@ public record PostedTts : IJsonOnDeserialized [JsonPropertyName("strip_headers")] public bool? StripHeaders { get; set; } + /// + /// Sampling temperature for the speech generation model. Higher values increase variation; lower values increase consistency. + /// + /// **This is an experimental parameter.** It is recommended to use the default values for most use cases. + /// + /// Defaults when omitted: + /// - Octave 1 voice creation (no voice specified): `0.9` + /// - Octave 1 text-to-speech: `0.8` + /// - Octave 2 text-to-speech: `0.75` + /// + [JsonPropertyName("temperature")] + public double? Temperature { get; set; } + /// /// A list of **Utterances** to be converted to speech output. /// @@ -75,6 +88,12 @@ public record PostedTts : IJsonOnDeserialized [JsonPropertyName("version")] public OctaveVersion? Version { get; set; } + /// + /// Enables ultra-low latency streaming, significantly reducing the time until the first audio chunk is received. Recommended for real-time applications requiring immediate audio playback. For further details, see our documentation on [instant mode](/docs/text-to-speech-tts/overview#ultra-low-latency-streaming-instant-mode). + /// - A [voice](/reference/text-to-speech-tts/synthesize-json-streaming#request.body.utterances.voice) must be specified when instant mode is enabled. Dynamic voice generation is not supported with this mode. + /// - Instant mode is only supported for streaming endpoints (e.g., [/v0/tts/stream/json](/reference/text-to-speech-tts/synthesize-json-streaming), [/v0/tts/stream/file](/reference/text-to-speech-tts/synthesize-file-streaming)). + /// - Ensure only a single generation is requested ([num_generations](/reference/text-to-speech-tts/synthesize-json-streaming#request.body.num_generations) must be `1` or omitted). + /// [JsonPropertyName("instant_mode")] public bool? InstantMode { get; set; }