From c2cf2d3db1a78455a15309cba4d3078400a91f74 Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Tue, 18 Apr 2023 12:40:12 -0700 Subject: [PATCH] start tts rewrite --- client/api/api_text_to_speech.go | 209 ------------------------------- client/tts.go | 25 ++++ 2 files changed, 25 insertions(+), 209 deletions(-) delete mode 100644 client/api/api_text_to_speech.go create mode 100644 client/tts.go diff --git a/client/api/api_text_to_speech.go b/client/api/api_text_to_speech.go deleted file mode 100644 index 1f83841..0000000 --- a/client/api/api_text_to_speech.go +++ /dev/null @@ -1,209 +0,0 @@ - -/* - * ElevenLabs API Documentation - * - * This is the documentation for the ElevenLabs API. You can use this API to use our service programmatically, this is done by using your xi-api-key.
You can view your xi-api-key using the 'Profile' tab on https://beta.elevenlabs.io. Our API is experimental so all endpoints are subject to change. - * - * API version: 1.0 - * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) - */ -package swagger - -import ( - "context" - "io/ioutil" - "net/http" - "net/url" - "strings" - "fmt" - "github.com/antihax/optional" -) - -// Linger please -var ( - _ context.Context -) - -type TextToSpeechApiService service -/* -TextToSpeechApiService Text To Speech -Converts text into speech using a voice of your choice and returns audio. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body - * @param voiceId Voice ID to be used, you can use https://api.elevenlabs.io/v1/voices to list all the available voices. - * @param optional nil or *TextToSpeechApiTextToSpeechV1TextToSpeechVoiceIdPostOpts - Optional Parameters: - * @param "XiApiKey" (optional.String) - Your API key. This is required by most endpoints to access our API programatically. You can view your xi-api-key using the 'Profile' tab on the website. - -*/ - -type TextToSpeechApiTextToSpeechV1TextToSpeechVoiceIdPostOpts struct { - XiApiKey optional.String -} - -func (a *TextToSpeechApiService) TextToSpeechV1TextToSpeechVoiceIdPost(ctx context.Context, body BodyTextToSpeechV1TextToSpeechVoiceIdPost, voiceId string, localVarOptionals *TextToSpeechApiTextToSpeechV1TextToSpeechVoiceIdPostOpts) (*http.Response, error) { - var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte - - ) - - // create path and map variables - localVarPath := a.client.cfg.BasePath + "/v1/text-to-speech/{voice_id}" - localVarPath = strings.Replace(localVarPath, "{"+"voice_id"+"}", fmt.Sprintf("%v", voiceId), -1) - - localVarHeaderParams := make(map[string]string) - localVarQueryParams := url.Values{} - localVarFormParams := url.Values{} - - // to determine the Content-Type header - localVarHttpContentTypes := []string{"application/json"} - - // set Content-Type header - localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) - if localVarHttpContentType != "" { - localVarHeaderParams["Content-Type"] = localVarHttpContentType - } - - // to determine the Accept header - localVarHttpHeaderAccepts := []string{"audio/mpeg", "application/json"} - - // set Accept header - localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) - if localVarHttpHeaderAccept != "" { - localVarHeaderParams["Accept"] = localVarHttpHeaderAccept - } - if localVarOptionals != nil && localVarOptionals.XiApiKey.IsSet() { - localVarHeaderParams["xi-api-key"] = parameterToString(localVarOptionals.XiApiKey.Value(), "") - } - // body params - localVarPostBody = &body - r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) - if err != nil { - return nil, err - } - - localVarHttpResponse, err := a.client.callAPI(r) - if err != nil || localVarHttpResponse == nil { - return localVarHttpResponse, err - } - - localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) - localVarHttpResponse.Body.Close() - if err != nil { - return localVarHttpResponse, err - } - - - if localVarHttpResponse.StatusCode >= 300 { - newErr := GenericSwaggerError{ - body: localVarBody, - error: localVarHttpResponse.Status, - } - if localVarHttpResponse.StatusCode == 422 { - var v HttpValidationError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarHttpResponse, newErr - } - newErr.model = v - return localVarHttpResponse, newErr - } - return localVarHttpResponse, newErr - } - - return localVarHttpResponse, nil -} -/* -TextToSpeechApiService Text To Speech -Converts text into speech using a voice of your choice and returns audio as an audio stream. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body - * @param voiceId Voice ID to be used, you can use https://api.elevenlabs.io/v1/voices to list all the available voices. - * @param optional nil or *TextToSpeechApiTextToSpeechV1TextToSpeechVoiceIdStreamPostOpts - Optional Parameters: - * @param "XiApiKey" (optional.String) - Your API key. This is required by most endpoints to access our API programatically. You can view your xi-api-key using the 'Profile' tab on the website. - -*/ - -type TextToSpeechApiTextToSpeechV1TextToSpeechVoiceIdStreamPostOpts struct { - XiApiKey optional.String -} - -func (a *TextToSpeechApiService) TextToSpeechV1TextToSpeechVoiceIdStreamPost(ctx context.Context, body BodyTextToSpeechV1TextToSpeechVoiceIdStreamPost, voiceId string, localVarOptionals *TextToSpeechApiTextToSpeechV1TextToSpeechVoiceIdStreamPostOpts) (*http.Response, error) { - var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte - - ) - - // create path and map variables - localVarPath := a.client.cfg.BasePath + "/v1/text-to-speech/{voice_id}/stream" - localVarPath = strings.Replace(localVarPath, "{"+"voice_id"+"}", fmt.Sprintf("%v", voiceId), -1) - - localVarHeaderParams := make(map[string]string) - localVarQueryParams := url.Values{} - localVarFormParams := url.Values{} - - // to determine the Content-Type header - localVarHttpContentTypes := []string{"application/json"} - - // set Content-Type header - localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) - if localVarHttpContentType != "" { - localVarHeaderParams["Content-Type"] = localVarHttpContentType - } - - // to determine the Accept header - localVarHttpHeaderAccepts := []string{"application/json"} - - // set Accept header - localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) - if localVarHttpHeaderAccept != "" { - localVarHeaderParams["Accept"] = localVarHttpHeaderAccept - } - if localVarOptionals != nil && localVarOptionals.XiApiKey.IsSet() { - localVarHeaderParams["xi-api-key"] = parameterToString(localVarOptionals.XiApiKey.Value(), "") - } - // body params - localVarPostBody = &body - r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) - if err != nil { - return nil, err - } - - localVarHttpResponse, err := a.client.callAPI(r) - if err != nil || localVarHttpResponse == nil { - return localVarHttpResponse, err - } - - localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) - localVarHttpResponse.Body.Close() - if err != nil { - return localVarHttpResponse, err - } - - - if localVarHttpResponse.StatusCode >= 300 { - newErr := GenericSwaggerError{ - body: localVarBody, - error: localVarHttpResponse.Status, - } - if localVarHttpResponse.StatusCode == 422 { - var v HttpValidationError - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarHttpResponse, newErr - } - newErr.model = v - return localVarHttpResponse, newErr - } - return localVarHttpResponse, newErr - } - - return localVarHttpResponse, nil -} diff --git a/client/tts.go b/client/tts.go new file mode 100644 index 0000000..630fe1a --- /dev/null +++ b/client/tts.go @@ -0,0 +1,25 @@ +package client + +import ( + "context" + "io" + "strings" + + "github.com/taigrr/elevenlabs/client/types" +) + +func (c Client) TextToSpeechV1TextToSpeechVoiceIdPostWriter(ctx context.Context, w io.Writer, voiceID string, options types.SynthesisOptions) ([]byte, error) { + localVarHttpMethod = strings.ToUpper("Post") + localVarPath := a.client.cfg.BasePath + "/v1/text-to-speech/{voice_id}" +} + +func (c Client) TextToSpeechV1TextToSpeechVoiceIdPost(ctx context.Context, voiceID string, options types.SynthesisOptions) ([]byte, error) { + localVarHttpMethod = strings.ToUpper("Post") + localVarPath := a.client.cfg.BasePath + "/v1/text-to-speech/{voice_id}" +} + +func (c Client) TextToSpeechV1TextToSpeechVoiceIdStreamPost(ctx context.Context, w io.Writer, voiceId string, options types.SynthesisOptions) error { + localVarHttpMethod = strings.ToUpper("Post") + + localVarPath := a.client.cfg.BasePath + "/v1/text-to-speech/{voice_id}/stream" +}