
    yg%                    j   d dl mZ d dlmZ d dlmZ d dlZddlmZ ddl	m
Z
mZmZmZmZ ddlmZmZ dd	lmZ dd
lmZmZ ddlmZmZmZmZ ddlmZ ddlmZ ddl m!Z! ddgZ" G d de          Z# G d de          Z$ G d d          Z% G d d          Z& G d d          Z' G d d          Z(dS )    )annotations)Union)LiteralN   )_legacy_response)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)StreamedBinaryAPIResponseAsyncStreamedBinaryAPIResponse#to_custom_streamed_response_wrapper)async_to_custom_streamed_response_wrapper)speech_create_params)make_request_options)SpeechModelSpeechAsyncSpeechc                  X    e Zd Zedd            Zedd            Zeeedddedd dZdS )!r   returnSpeechWithRawResponsec                     t          |           S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )r   selfs    X/var/www/html/nourish/venv/lib/python3.11/site-packages/openai/resources/audio/speech.pywith_raw_responsezSpeech.with_raw_response    s     %T***    SpeechWithStreamingResponsec                     t          |           S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        )r%   r    s    r"   with_streaming_responsezSpeech.with_streaming_response*   s     +4000r$   Ninstructionsresponse_formatspeedextra_headersextra_query
extra_bodytimeoutinputstrmodelUnion[str, SpeechModel]voicesUnion[str, Literal['alloy', 'ash', 'ballad', 'coral', 'echo', 'fable', 'onyx', 'nova', 'sage', 'shimmer', 'verse']]r*   str | NotGivenr+   >Literal['mp3', 'opus', 'aac', 'flac', 'wav', 'pcm'] | NotGivenr,   float | NotGivenr-   Headers | Noner.   Query | Noner/   Body | Noner0   'float | httpx.Timeout | None | NotGiven+_legacy_response.HttpxBinaryResponseContentc       
            ddi|pi }|                      dt          ||||||dt          j                  t	          |||	|
          t
          j                  S )b  
        Generates audio from the input text.

        Args:
          input: The text to generate audio for. The maximum length is 4096 characters.

          model:
              One of the available [TTS models](https://platform.openai.com/docs/models#tts):
              `tts-1`, `tts-1-hd` or `gpt-4o-mini-tts`.

          voice: The voice to use when generating the audio. Supported voices are `alloy`, `ash`,
              `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, and
              `verse`. Previews of the voices are available in the
              [Text to speech guide](https://platform.openai.com/docs/guides/text-to-speech#voice-options).

          instructions: Control the voice of your generated audio with additional instructions. Does not
              work with `tts-1` or `tts-1-hd`.

          response_format: The format to audio in. Supported formats are `mp3`, `opus`, `aac`, `flac`,
              `wav`, and `pcm`.

          speed: The speed of the generated audio. Select a value from `0.25` to `4.0`. `1.0` is
              the default.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        Acceptapplication/octet-stream/audio/speechr1   r3   r5   r*   r+   r,   r-   r.   r/   r0   bodyoptionscast_to)_postr   r   SpeechCreateParamsr   r   HttpxBinaryResponseContentr!   r1   r3   r5   r*   r+   r,   r-   r.   r/   r0   s              r"   createzSpeech.create3   s    d "#=W-BUSUWzz """$0'6"  %7
 
 )+Q[el   %?!  
 
 	
r$   )r   r   )r   r%   r1   r2   r3   r4   r5   r6   r*   r7   r+   r8   r,   r9   r-   r:   r.   r;   r/   r<   r0   r=   r   r>   __name__
__module____qualname__r   r#   r(   r   rN    r$   r"   r   r      s        + + + _+ 1 1 1 _1  (1Zc"+ )-$("&;D!D
 D
 D
 D
 D
 D
 D
 D
r$   c                  X    e Zd Zedd            Zedd            Zeeedddedd dZdS )!r   r   AsyncSpeechWithRawResponsec                     t          |           S r   )rV   r    s    r"   r#   zAsyncSpeech.with_raw_response{   s     *$///r$    AsyncSpeechWithStreamingResponsec                     t          |           S r'   )rX   r    s    r"   r(   z#AsyncSpeech.with_streaming_response   s     0555r$   Nr)   r1   r2   r3   r4   r5   r6   r*   r7   r+   r8   r,   r9   r-   r:   r.   r;   r/   r<   r0   r=   r>   c       
           K   ddi|pi }|                      dt          ||||||dt          j                   d{V t	          |||	|
          t
          j                   d{V S )r@   rA   rB   rC   rD   NrE   rF   )rJ   r   r   rK   r   r   rL   rM   s              r"   rN   zAsyncSpeech.create   s      d "#=W-BUSUWZZ,"""$0'6"  %7
 
 
 
 
 
 
 
 )+Q[el   %?!   
 
 
 
 
 
 
 
 	
r$   )r   rV   )r   rX   rO   rP   rT   r$   r"   r   r   z   s        0 0 0 _0 6 6 6 _6  (1Zc"+ )-$("&;D!D
 D
 D
 D
 D
 D
 D
 D
r$   c                      e Zd ZddZdS )r   speechr   r   Nonec                P    || _         t          j        |j                  | _        d S N)_speechr   to_raw_response_wrapperrN   r!   r\   s     r"   __init__zSpeechWithRawResponse.__init__   s&    &>M
 
r$   Nr\   r   r   r]   rQ   rR   rS   rc   rT   r$   r"   r   r      (        
 
 
 
 
 
r$   r   c                      e Zd ZddZdS )rV   r\   r   r   r]   c                P    || _         t          j        |j                  | _        d S r_   )r`   r   async_to_raw_response_wrapperrN   rb   s     r"   rc   z#AsyncSpeechWithRawResponse.__init__   s&    &DM
 
r$   Nr\   r   r   r]   re   rT   r$   r"   rV   rV      rf   r$   rV   c                      e Zd ZddZdS )r%   r\   r   r   r]   c                R    || _         t          |j        t                    | _        d S r_   )r`   r   rN   r   rb   s     r"   rc   z$SpeechWithStreamingResponse.__init__   s&    9M%
 
r$   Nrd   re   rT   r$   r"   r%   r%      (        
 
 
 
 
 
r$   r%   c                      e Zd ZddZdS )rX   r\   r   r   r]   c                R    || _         t          |j        t                    | _        d S r_   )r`   r   rN   r   rb   s     r"   rc   z)AsyncSpeechWithStreamingResponse.__init__   s&    ?M*
 
r$   Nrj   re   rT   r$   r"   rX   rX      rm   r$   rX   ))
__future__r   typingr   typing_extensionsr   httpx r   _typesr   r	   r
   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   r   r   types.audior   _base_clientr   types.audio.speech_modelr   __all__r   r   r   rV   r%   rX   rT   r$   r"   <module>r~      se   # " " " " "       % % % % % %              ? ? ? ? ? ? ? ? ? ? ? ? ? ?        ' & & & & & : : : : : : : :            0 / / / / / 0 0 0 0 0 0 3 3 3 3 3 3]
#X
 X
 X
 X
 X
_ X
 X
 X
vX
 X
 X
 X
 X
" X
 X
 X
v
 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
r$   