o
    lWiu                     @  s   d dl mZ d dlZddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZmZ ddlmZ ejryddlmZm Z  ddl!m"Z"m#Z# ddl$m%Z%m&Z& ddl'm(Z(m)Z) e*ej+dZ,G dd dZ-G dd dZ.dS )    )annotationsN   )core)AsyncClientWrapperSyncClientWrapper)RequestOptions)AddVoiceResponseModel)DeleteVoiceResponseModel)EditVoiceResponseModel)GetLibraryVoicesResponse)GetVoicesResponse)GetVoicesV2Response)Voice   )AsyncRawVoicesClientRawVoicesClient)VoicesGetSharedRequestCategory)AsyncIvcClient	IvcClient)AsyncPvcClient	PvcClient)AsyncSamplesClientSamplesClient)AsyncSettingsClientSettingsClient.c                   @     e Zd ZdaddZedbddZd	d	d
dcddZd	d	d	d	d	d	d	d	d	d	d	d	dddd"d#Zd	d	d$ded)d*Zd	d+dfd-d.Z	e
e
e
e
d	d/dgd7d8Zd	d+dhd<d=Zd	d	d	d	d	d	d	d	d	d	d	d	d	d	d	d	d	d	d	d>didOdPZe
e
e
d	dQdjdWdXZedYdZ Zed[d\ Zed]d^ Zed_d` Zd	S )kVoicesClientclient_wrapperr   c                C  .   t |d| _|| _d | _d | _d | _d | _d S Nr   )r   _raw_client_client_wrapper	_settings_ivc_pvc_samplesselfr    r)   \/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/voices/client.py__init__      
zVoicesClient.__init__returnr   c                 C     | j S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawVoicesClient
        r!   r(   r)   r)   r*   with_raw_response&      	zVoicesClient.with_raw_responseNshow_legacyrequest_optionsr4   typing.Optional[bool]r5   typing.Optional[RequestOptions]r   c                C     | j j||d}|jS )a  
        Returns a list of all available voices for a user.

        Parameters
        ----------
        show_legacy : typing.Optional[bool]
            If set to true, legacy premade voices will be included in responses from /v1/voices

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetVoicesResponse
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.get_all(
            show_legacy=True,
        )
        r3   r!   get_alldatar(   r4   r5   	_responser)   r)   r*   r:   1      zVoicesClient.get_allnext_page_token	page_sizesearchsortsort_direction
voice_typecategoryfine_tuning_statecollection_idinclude_total_count	voice_idsr5   r@   typing.Optional[str]rA   typing.Optional[int]rB   rC   rD   rE   rF   rG   rH   rI   rJ   8typing.Optional[typing.Union[str, typing.Sequence[str]]]r   c                C  s*   | j j|||||||||	|
||d}|jS )a  
        Gets a list of all available voices for a user with search, filtering and pagination.

        Parameters
        ----------
        next_page_token : typing.Optional[str]
            The next page token to use for pagination. Returned from the previous request. Use this in combination with the has_more flag for reliable pagination.

        page_size : typing.Optional[int]
            How many voices to return at maximum. Can not exceed 100, defaults to 10. Page 0 may include more voices due to default voices being included.

        search : typing.Optional[str]
            Search term to filter voices by. Searches in name, description, labels, category.

        sort : typing.Optional[str]
            Which field to sort by, one of 'created_at_unix' or 'name'. 'created_at_unix' may not be available for older voices.

        sort_direction : typing.Optional[str]
            Which direction to sort the voices in. 'asc' or 'desc'.

        voice_type : typing.Optional[str]
            Type of the voice to filter by. One of 'personal', 'community', 'default', 'workspace', 'non-default'. 'non-default' is equal to all but 'default'.

        category : typing.Optional[str]
            Category of the voice to filter by. One of 'premade', 'cloned', 'generated', 'professional'

        fine_tuning_state : typing.Optional[str]
            State of the voice's fine tuning to filter by. Applicable only to professional voices clones. One of 'draft', 'not_verified', 'not_started', 'queued', 'fine_tuning', 'fine_tuned', 'failed', 'delayed'

        collection_id : typing.Optional[str]
            Collection ID to filter voices by.

        include_total_count : typing.Optional[bool]
            Whether to include the total count of voices found in the response. NOTE: The total_count value is a live snapshot and may change between requests as users create, modify, or delete voices. For pagination, rely on the has_more flag instead. Only enable this when you actually need the total count (e.g., for display purposes), as it incurs a performance cost.

        voice_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Voice IDs to lookup by. Maximum 100 voice IDs.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetVoicesV2Response
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.search(
            next_page_token="next_page_token",
            page_size=1,
            search="search",
            sort="sort",
            sort_direction="sort_direction",
            voice_type="voice_type",
            category="category",
            fine_tuning_state="fine_tuning_state",
            collection_id="collection_id",
            include_total_count=True,
        )
        r?   r!   rB   r;   r(   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   r5   r=   r)   r)   r*   rB   R   s   RzVoicesClient.searchwith_settingsr5   voice_idstrrQ   r   c                C  s   | j j|||d}|jS )a]  
        Returns metadata about a specific voice.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        with_settings : typing.Optional[bool]
            This parameter is now deprecated. It is ignored and will be removed in a future version.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        Voice
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.get(
            voice_id="21m00Tcm4TlvDq8ikWAM",
            with_settings=True,
        )
        rP   r!   getr;   r(   rR   rQ   r5   r=   r)   r)   r*   rU      s   &zVoicesClient.getr5   r	   c                C  r8   )a  
        Deletes a voice by its ID.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        DeleteVoiceResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.delete(
            voice_id="21m00Tcm4TlvDq8ikWAM",
        )
        rW   r!   deleter;   r(   rR   r5   r=   r)   r)   r*   rY      r>   zVoicesClient.deletefilesremove_background_noisedescriptionlabelsr5   namer\   'typing.Optional[typing.List[core.File]]r]   r^   r_   r
   c          	   	   C  s    | j j|||||||d}|jS )aN  
        Edit a voice created by you.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        name : str
            The name that identifies this voice. This will be displayed in the dropdown of the website.

        files : typing.Optional[typing.List[core.File]]
            See core.File for more documentation

        remove_background_noise : typing.Optional[bool]
            If set will remove background noise for voice samples using our audio isolation model. If the samples do not include background noise, it can make the quality worse.

        description : typing.Optional[str]
            A description of the voice.

        labels : typing.Optional[str]
            Serialized labels dictionary for the voice.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        EditVoiceResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.update(
            voice_id="21m00Tcm4TlvDq8ikWAM",
            name="name",
        )
        r`   r\   r]   r^   r_   r5   r!   updater;   	r(   rR   r`   r\   r]   r^   r_   r5   r=   r)   r)   r*   rd      s   6	zVoicesClient.updatepublic_user_idnew_namer   c                C     | j j||||d}|jS )a)  
        Add a shared voice to your collection of Voices

        Parameters
        ----------
        public_user_id : str
            Public user ID used to publicly identify ElevenLabs users.

        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        new_name : str
            The name that identifies this voice. This will be displayed in the dropdown of the website.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AddVoiceResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.share(
            public_user_id="63e06b7e7cafdc46be4d2e0b3f045940231ae058d508589653d74d1265a574ca",
            voice_id="21m00Tcm4TlvDq8ikWAM",
            new_name="John Smith",
        )
        rg   r5   r!   sharer;   r(   rf   rR   rg   r5   r=   r)   r)   r*   rk   ?  s   +zVoicesClient.sharerA   rF   genderageaccentlanguagelocalerB   	use_casesdescriptivesfeaturedmin_notice_period_daysinclude_custom_ratesinclude_live_moderatedreader_app_enabledowner_idrC   pager5   /typing.Optional[VoicesGetSharedRequestCategory]rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r   c                C  s   | j jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|}|jS )at
  
        Retrieves a list of shared voices.

        Parameters
        ----------
        page_size : typing.Optional[int]
            How many shared voices to return at maximum. Can not exceed 100, defaults to 30.

        category : typing.Optional[VoicesGetSharedRequestCategory]
            Voice category used for filtering

        gender : typing.Optional[str]
            Gender used for filtering

        age : typing.Optional[str]
            Age used for filtering

        accent : typing.Optional[str]
            Accent used for filtering

        language : typing.Optional[str]
            Language used for filtering

        locale : typing.Optional[str]
            Locale used for filtering

        search : typing.Optional[str]
            Search term used for filtering

        use_cases : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Use-case used for filtering

        descriptives : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Search term used for filtering

        featured : typing.Optional[bool]
            Filter featured voices

        min_notice_period_days : typing.Optional[int]
            Filter voices with a minimum notice period of the given number of days.

        include_custom_rates : typing.Optional[bool]
            Include/exclude voices with custom rates

        include_live_moderated : typing.Optional[bool]
            Include/exclude voices that are live moderated

        reader_app_enabled : typing.Optional[bool]
            Filter voices that are enabled for the reader app

        owner_id : typing.Optional[str]
            Filter voices by public owner ID

        sort : typing.Optional[str]
            Sort criteria

        page : typing.Optional[int]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetLibraryVoicesResponse
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.get_shared(
            page_size=1,
            category="professional",
            gender="gender",
            age="age",
            accent="accent",
            language="language",
            locale="locale",
            search="search",
            featured=True,
            min_notice_period_days=1,
            include_custom_rates=True,
            include_live_moderated=True,
            reader_app_enabled=True,
            owner_id="owner_id",
            sort="sort",
            page=1,
        )
        rA   rF   rn   ro   rp   rq   rr   rB   rs   rt   ru   rv   rw   rx   ry   rz   rC   r{   r5   Nr)   r!   
get_sharedr;   r(   rA   rF   rn   ro   rp   rq   rr   rB   rs   rt   ru   rv   rw   rx   ry   rz   rC   r{   r5   r=   r)   r)   r*   r~   m  sP   s	
zVoicesClient.get_shared
audio_filesimilarity_thresholdtop_kr5   r   typing.Optional[core.File]r   typing.Optional[float]r   c                C  rh   )aw  
        Returns a list of shared voices similar to the provided audio sample. If neither similarity_threshold nor top_k is provided, we will apply default values.

        Parameters
        ----------
        audio_file : typing.Optional[core.File]
            See core.File for more documentation

        similarity_threshold : typing.Optional[float]
            Threshold for voice similarity between provided sample and library voices. Values range from 0 to 2. The smaller the value the more similar voices will be returned.

        top_k : typing.Optional[int]
            Number of most similar voices to return. If similarity_threshold is provided, less than this number of voices may be returned. Values range from 1 to 100.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetLibraryVoicesResponse
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.voices.find_similar_voices()
        r   r!   find_similar_voicesr;   r(   r   r   r   r5   r=   r)   r)   r*   r     s   'z VoicesClient.find_similar_voicesc                 C  *   | j d u rddlm} || jd| _ | j S )Nr   )r   r    )r#   settings.clientr   r"   )r(   r   r)   r)   r*   settings&     
zVoicesClient.settingsc                 C  r   )Nr   )r   r    )r$   
ivc.clientr   r"   )r(   r   r)   r)   r*   ivc.  r   zVoicesClient.ivcc                 C  r   )Nr   )r   r    )r%   
pvc.clientr   r"   )r(   r   r)   r)   r*   pvc6  r   zVoicesClient.pvcc                 C  r   )Nr   )r   r    )r&   samples.clientr   r"   )r(   r   r)   r)   r*   samples>  r   zVoicesClient.samples)r   r   )r-   r   r4   r6   r5   r7   r-   r   r@   rK   rA   rL   rB   rK   rC   rK   rD   rK   rE   rK   rF   rK   rG   rK   rH   rK   rI   r6   rJ   rM   r5   r7   r-   r   rR   rS   rQ   r6   r5   r7   r-   r   rR   rS   r5   r7   r-   r	   rR   rS   r`   rS   r\   ra   r]   r6   r^   rK   r_   rK   r5   r7   r-   r
   
rf   rS   rR   rS   rg   rS   r5   r7   r-   r   (rA   rL   rF   r|   rn   rK   ro   rK   rp   rK   rq   rK   rr   rK   rB   rK   rs   rM   rt   rM   ru   r6   rv   rL   rw   r6   rx   r6   ry   r6   rz   rK   rC   rK   r{   rL   r5   r7   r-   r   
r   r   r   r   r   rL   r5   r7   r-   r   __name__
__module____qualname__r+   propertyr1   r:   rB   rU   rY   OMITrd   rk   r~   r   r   r   r   r   r)   r)   r)   r*   r      s    
$f*&G1 /


r   c                   @  r   )kAsyncVoicesClientr   r   c                C  r   r   )r   r!   r"   r#   r$   r%   r&   r'   r)   r)   r*   r+   H  r,   zAsyncVoicesClient.__init__r-   r   c                 C  r.   )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawVoicesClient
        r/   r0   r)   r)   r*   r1   P  r2   z#AsyncVoicesClient.with_raw_responseNr3   r4   r6   r5   r7   r   c                     | j j||dI dH }|jS )a  
        Returns a list of all available voices for a user.

        Parameters
        ----------
        show_legacy : typing.Optional[bool]
            If set to true, legacy premade voices will be included in responses from /v1/voices

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetVoicesResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.get_all(
                show_legacy=True,
            )


        asyncio.run(main())
        r3   Nr9   r<   r)   r)   r*   r:   [     &zAsyncVoicesClient.get_allr?   r@   rK   rA   rL   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rM   r   c                  s2   | j j|||||||||	|
||dI dH }|jS )aH  
        Gets a list of all available voices for a user with search, filtering and pagination.

        Parameters
        ----------
        next_page_token : typing.Optional[str]
            The next page token to use for pagination. Returned from the previous request. Use this in combination with the has_more flag for reliable pagination.

        page_size : typing.Optional[int]
            How many voices to return at maximum. Can not exceed 100, defaults to 10. Page 0 may include more voices due to default voices being included.

        search : typing.Optional[str]
            Search term to filter voices by. Searches in name, description, labels, category.

        sort : typing.Optional[str]
            Which field to sort by, one of 'created_at_unix' or 'name'. 'created_at_unix' may not be available for older voices.

        sort_direction : typing.Optional[str]
            Which direction to sort the voices in. 'asc' or 'desc'.

        voice_type : typing.Optional[str]
            Type of the voice to filter by. One of 'personal', 'community', 'default', 'workspace', 'non-default'. 'non-default' is equal to all but 'default'.

        category : typing.Optional[str]
            Category of the voice to filter by. One of 'premade', 'cloned', 'generated', 'professional'

        fine_tuning_state : typing.Optional[str]
            State of the voice's fine tuning to filter by. Applicable only to professional voices clones. One of 'draft', 'not_verified', 'not_started', 'queued', 'fine_tuning', 'fine_tuned', 'failed', 'delayed'

        collection_id : typing.Optional[str]
            Collection ID to filter voices by.

        include_total_count : typing.Optional[bool]
            Whether to include the total count of voices found in the response. NOTE: The total_count value is a live snapshot and may change between requests as users create, modify, or delete voices. For pagination, rely on the has_more flag instead. Only enable this when you actually need the total count (e.g., for display purposes), as it incurs a performance cost.

        voice_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Voice IDs to lookup by. Maximum 100 voice IDs.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetVoicesV2Response
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.search(
                next_page_token="next_page_token",
                page_size=1,
                search="search",
                sort="sort",
                sort_direction="sort_direction",
                voice_type="voice_type",
                category="category",
                fine_tuning_state="fine_tuning_state",
                collection_id="collection_id",
                include_total_count=True,
            )


        asyncio.run(main())
        r?   NrN   rO   r)   r)   r*   rB     s    ZzAsyncVoicesClient.searchrP   rR   rS   rQ   r   c                  s    | j j|||dI dH }|jS )a  
        Returns metadata about a specific voice.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        with_settings : typing.Optional[bool]
            This parameter is now deprecated. It is ignored and will be removed in a future version.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        Voice
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.get(
                voice_id="21m00Tcm4TlvDq8ikWAM",
                with_settings=True,
            )


        asyncio.run(main())
        rP   NrT   rV   r)   r)   r*   rU     s   .zAsyncVoicesClient.getrW   r	   c                  r   )a'  
        Deletes a voice by its ID.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        DeleteVoiceResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.delete(
                voice_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rW   NrX   rZ   r)   r)   r*   rY     r   zAsyncVoicesClient.deleter[   r`   r\   ra   r]   r^   r_   r
   c          	   	     s(   | j j|||||||dI dH }|jS )a  
        Edit a voice created by you.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        name : str
            The name that identifies this voice. This will be displayed in the dropdown of the website.

        files : typing.Optional[typing.List[core.File]]
            See core.File for more documentation

        remove_background_noise : typing.Optional[bool]
            If set will remove background noise for voice samples using our audio isolation model. If the samples do not include background noise, it can make the quality worse.

        description : typing.Optional[str]
            A description of the voice.

        labels : typing.Optional[str]
            Serialized labels dictionary for the voice.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        EditVoiceResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.update(
                voice_id="21m00Tcm4TlvDq8ikWAM",
                name="name",
            )


        asyncio.run(main())
        rb   Nrc   re   r)   r)   r*   rd   H  s   >	zAsyncVoicesClient.updaterf   rg   r   c                  "   | j j||||dI dH }|jS )a  
        Add a shared voice to your collection of Voices

        Parameters
        ----------
        public_user_id : str
            Public user ID used to publicly identify ElevenLabs users.

        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        new_name : str
            The name that identifies this voice. This will be displayed in the dropdown of the website.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AddVoiceResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.share(
                public_user_id="63e06b7e7cafdc46be4d2e0b3f045940231ae058d508589653d74d1265a574ca",
                voice_id="21m00Tcm4TlvDq8ikWAM",
                new_name="John Smith",
            )


        asyncio.run(main())
        ri   Nrj   rl   r)   r)   r*   rk     s
   3zAsyncVoicesClient.sharerm   r|   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r   c                  s   | j jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|I dH }|jS )a&  
        Retrieves a list of shared voices.

        Parameters
        ----------
        page_size : typing.Optional[int]
            How many shared voices to return at maximum. Can not exceed 100, defaults to 30.

        category : typing.Optional[VoicesGetSharedRequestCategory]
            Voice category used for filtering

        gender : typing.Optional[str]
            Gender used for filtering

        age : typing.Optional[str]
            Age used for filtering

        accent : typing.Optional[str]
            Accent used for filtering

        language : typing.Optional[str]
            Language used for filtering

        locale : typing.Optional[str]
            Locale used for filtering

        search : typing.Optional[str]
            Search term used for filtering

        use_cases : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Use-case used for filtering

        descriptives : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Search term used for filtering

        featured : typing.Optional[bool]
            Filter featured voices

        min_notice_period_days : typing.Optional[int]
            Filter voices with a minimum notice period of the given number of days.

        include_custom_rates : typing.Optional[bool]
            Include/exclude voices with custom rates

        include_live_moderated : typing.Optional[bool]
            Include/exclude voices that are live moderated

        reader_app_enabled : typing.Optional[bool]
            Filter voices that are enabled for the reader app

        owner_id : typing.Optional[str]
            Filter voices by public owner ID

        sort : typing.Optional[str]
            Sort criteria

        page : typing.Optional[int]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetLibraryVoicesResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.get_shared(
                page_size=1,
                category="professional",
                gender="gender",
                age="age",
                accent="accent",
                language="language",
                locale="locale",
                search="search",
                featured=True,
                min_notice_period_days=1,
                include_custom_rates=True,
                include_live_moderated=True,
                reader_app_enabled=True,
                owner_id="owner_id",
                sort="sort",
                page=1,
            )


        asyncio.run(main())
        rA   rF   rn   ro   rp   rq   rr   rB   rs   rt   ru   rv   rw   rx   ry   rz   rC   r{   r5   Nr)   r}   r   r)   r)   r*   r~     sR   {	

zAsyncVoicesClient.get_sharedr   r   r   r   r   r   c                  r   )a  
        Returns a list of shared voices similar to the provided audio sample. If neither similarity_threshold nor top_k is provided, we will apply default values.

        Parameters
        ----------
        audio_file : typing.Optional[core.File]
            See core.File for more documentation

        similarity_threshold : typing.Optional[float]
            Threshold for voice similarity between provided sample and library voices. Values range from 0 to 2. The smaller the value the more similar voices will be returned.

        top_k : typing.Optional[int]
            Number of most similar voices to return. If similarity_threshold is provided, less than this number of voices may be returned. Values range from 1 to 100.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetLibraryVoicesResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.voices.find_similar_voices()


        asyncio.run(main())
        r   Nr   r   r)   r)   r*   r   [  s   /z%AsyncVoicesClient.find_similar_voicesc                 C  r   )Nr   )r   r    )r#   r   r   r"   )r(   r   r)   r)   r*   r     r   zAsyncVoicesClient.settingsc                 C  r   )Nr   )r   r    )r$   r   r   r"   )r(   r   r)   r)   r*   r     r   zAsyncVoicesClient.ivcc                 C  r   )Nr   )r   r    )r%   r   r   r"   )r(   r   r)   r)   r*   r     r   zAsyncVoicesClient.pvcc                 C  r   )Nr   )r   r    )r&   r   r   r"   )r(   r   r)   r)   r*   r     r   zAsyncVoicesClient.samples)r   r   )r-   r   r   r   r   r   r   r   r   r   r   r)   r)   r)   r*   r   G  s    
,n2.O; 7


r   )/
__future__r   typing r   core.client_wrapperr   r   core.request_optionsr   types.add_voice_response_modelr   !types.delete_voice_response_modelr	   types.edit_voice_response_modelr
   !types.get_library_voices_responser   types.get_voices_responser   types.get_voices_v_2_responser   types.voicer   
raw_clientr   r   (types.voices_get_shared_request_categoryr   TYPE_CHECKINGr   r   r   r   r   r   r   r   r   r   r   r   castAnyr   r   r   r)   r)   r)   r*   <module>   s4       .