//
#nullable disable
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using OpenAI;
namespace OpenAI.Audio
{
public partial class AudioClient
{
private readonly Uri _endpoint;
protected AudioClient()
{
}
public ClientPipeline Pipeline { get; }
public virtual ClientResult GenerateSpeech(BinaryContent content, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateGenerateSpeechRequest(content, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
public virtual async Task GenerateSpeechAsync(BinaryContent content, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateGenerateSpeechRequest(content, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
public virtual ClientResult TranscribeAudio(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateTranscribeAudioRequest(content, contentType, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
public virtual async Task TranscribeAudioAsync(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateTranscribeAudioRequest(content, contentType, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
public virtual ClientResult TranslateAudio(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateTranslateAudioRequest(content, contentType, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
public virtual async Task TranslateAudioAsync(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateTranslateAudioRequest(content, contentType, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
[Experimental("OPENAI001")]
public virtual CollectionResult GetVoiceConsents(string after = default, int? limit = default, RequestOptions options = null)
{
return new AudioClientGetVoiceConsentsCollectionResult(this, after, limit, options);
}
[Experimental("OPENAI001")]
public virtual AsyncCollectionResult GetVoiceConsentsAsync(string after = default, int? limit = default, RequestOptions options = null)
{
return new AudioClientGetVoiceConsentsAsyncCollectionResult(this, after, limit, options);
}
[Experimental("OPENAI001")]
public virtual ClientResult CreateVoiceConsent(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateCreateVoiceConsentRequest(content, contentType, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
[Experimental("OPENAI001")]
public virtual async Task CreateVoiceConsentAsync(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateCreateVoiceConsentRequest(content, contentType, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
[Experimental("OPENAI001")]
public virtual ClientResult DeleteVoiceConsent(string consentId, RequestOptions options = null)
{
Argument.AssertNotNullOrEmpty(consentId, nameof(consentId));
using PipelineMessage message = CreateDeleteVoiceConsentRequest(consentId, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
[Experimental("OPENAI001")]
public virtual async Task DeleteVoiceConsentAsync(string consentId, RequestOptions options = null)
{
Argument.AssertNotNullOrEmpty(consentId, nameof(consentId));
using PipelineMessage message = CreateDeleteVoiceConsentRequest(consentId, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
[Experimental("OPENAI001")]
public virtual ClientResult GetVoiceConsent(string consentId, RequestOptions options = null)
{
Argument.AssertNotNullOrEmpty(consentId, nameof(consentId));
using PipelineMessage message = CreateGetVoiceConsentRequest(consentId, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
[Experimental("OPENAI001")]
public virtual async Task GetVoiceConsentAsync(string consentId, RequestOptions options = null)
{
Argument.AssertNotNullOrEmpty(consentId, nameof(consentId));
using PipelineMessage message = CreateGetVoiceConsentRequest(consentId, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
[Experimental("OPENAI001")]
public virtual ClientResult UpdateVoiceConsent(string consentId, BinaryContent content, RequestOptions options = null)
{
Argument.AssertNotNullOrEmpty(consentId, nameof(consentId));
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateUpdateVoiceConsentRequest(consentId, content, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
[Experimental("OPENAI001")]
public virtual async Task UpdateVoiceConsentAsync(string consentId, BinaryContent content, RequestOptions options = null)
{
Argument.AssertNotNullOrEmpty(consentId, nameof(consentId));
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateUpdateVoiceConsentRequest(consentId, content, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
[Experimental("OPENAI001")]
public virtual ClientResult CreateVoice(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateCreateVoiceRequest(content, contentType, options);
return ClientResult.FromResponse(Pipeline.ProcessMessage(message, options));
}
[Experimental("OPENAI001")]
public virtual async Task CreateVoiceAsync(BinaryContent content, string contentType, RequestOptions options = null)
{
Argument.AssertNotNull(content, nameof(content));
using PipelineMessage message = CreateCreateVoiceRequest(content, contentType, options);
return ClientResult.FromResponse(await Pipeline.ProcessMessageAsync(message, options).ConfigureAwait(false));
}
}
}