
    +j                     D   S SK r S SKrS SKJr  S SKJrJrJr  S SKJ	r	J
r
JrJrJrJrJrJrJrJrJr  S SKJrJrJrJrJrJrJrJr  SrSrSr/ S	Qr \  V VVVs/ s H  u  pp#U S
U SU S3PM     snnnn r!\  VVVVs0 s H  u  pAp#U S
U SU S3U_M     snnnnr" " S S\RF                  5      r$ " S S\RF                  5      r% " S S\RF                  5      r& " S S\RF                  5      r' " S S\RF                  5      r( " S S\RF                  5      r)\RT                  R                  SSSSS\RV                  RX                  SS9\RT                  R                  S S!S"SS\RV                  RX                  S#S9\RZ                  R                  S$S%S&S'9\RT                  R                  S(S"S"S)S\RV                  RX                  S*S9/r. " S+ S,\RF                  5      r/S-\0S.\14S/ jr2 " S0 S1\RF                  5      r3 " S2 S3\5      r4S.\44S4 jr5gs  snnnn f s  snnnnf )5    N)override)IOComfyExtensionInput)AddVoiceRequestAddVoiceResponseDialogueInputDialogueSettingsSpeechToSpeechRequestSpeechToTextRequestSpeechToTextResponseTextToDialogueRequestTextToSoundEffectsRequestTextToSpeechRequestTextToSpeechVoiceSettings)ApiEndpointaudio_bytes_to_audio_inputaudio_ndarray_to_bytesio"audio_tensor_to_contiguous_ndarraysync_opsync_op_rawupload_audio_to_comfyapivalidate_stringELEVENLABS_MUSIC_SECTIONSELEVENLABS_COMPOSITION_PLANELEVENLABS_VOICE))CwhRBWXzGAHq8TQ4Fs17Rogermaleamerican)EXAVITQu4vr4xnSDxMaLSarahfemaler    )FGY2WhTYpPnrIDTdsKH5Laurar#   r    )IKne3meq5aSn9XLyUdCDCharlier   
australian)JBFqnCBsd6RMkjVDRZzbGeorger   british)N2lVS1w4EtoT3dr4eOWOCallumr   r    )SAz9YHcvj6GT2YYXdXwwRiverneutralr    )SOYHLrjzK2X1ezoPC6crHarryr   r    )TX3LPaxmHKxFdv7VOQHJLiamr   r    )Xb7hH8MSUJpSbSDYk0k2Alicer#   r+   )XrExE9yKIg1WjnnlVkGXMatildar#   r    )bIHbv24MWmeRgasZH58oWillr   r    )cgSgspJ2msm6clMCkdW9Jessicar#   r    )cjVigY5qzO86Huf0OWalEricr   r    )hpp4J3VqNfWAUOO0d1UsBellar#   r    )iP95p4xoKVk53GoZ742BChrisr   r    )nPczCjzI2devNBz1zQrbBrianr   r    )onwK4e9ZLuTAKqWW03F9Danielr   r+   )pFZP5JQG7iQjIQuC4BkuLilyr#   r+   )pNInz6obpgDQGcFmaJgBAdamr   r    )pqHfZKP75CvOlQylNhV4Billr   r    z (z, )c                       \ rS rSr\S\R                  4S j5       r\S\R                  S\
S\S\S\S\R                  4S	 j5       rS
rg)ElevenLabsSpeechToTextB   returnc                    [         R                  " SSSS[         R                  R                  SSS9[         R                  R                  S[         R                  R                  S	[         R                  R                  S
SSS9[         R                  R                  SSSS9[         R                  R                  SSSSS[         R                  R                  SS9[         R                  R                  SSSSS[         R                  R                  SS9[         R                  R                  S/ SQSSS9/5      /S S!9[         R                  R                  S"S#S$S9[         R                  R                  S%S&S&S'[         R                  R                  S(S)9[         R                  R                  S*S+S&S,S-S.9/[         R                  R                  S/S09[         R                  R                  S"S09[         R                  R                  S1S09/[         R                  R                  [         R                  R                   [         R                  R"                  /S2[         R$                  " S3S49S59	$ )6NrO   zElevenLabs Speech to Textpartner/audio/ElevenLabsznTranscribe audio to text. Supports automatic language detection, speaker diarization, and audio event tagging.audiozAudio to transcribe.tooltipmodel	scribe_v2tag_audio_eventsFz=Annotate sounds like (laughter), (music), etc. in transcript.defaultrV   diarizez"Annotate which speaker is talking.diarization_thresholdg)\(?皙?g?{Gz?zSSpeaker separation sensitivity. Lower values are more sensitive to speaker changes.r[   minmaxstepdisplay_moderV   temperature        g       @zNRandomness control. 0.0 uses model default. Higher values increase randomness.timestamps_granularity)word	characternonerh   z&Timing precision for transcript words.)optionsr[   rV   zModel to use for transcription.rk   rV   language_code dISO-639-1 or ISO-639-3 language code (e.g., 'en', 'es', 'fra'). Leave empty for automatic detection.num_speakersr       zHMaximum number of speakers to predict. Set to 0 for automatic detection.)r[   ra   rb   rd   rV   seed   6Seed for reproducibility (determinism not guaranteed).r[   ra   rb   rV   textdisplay_name
words_jsonTzL{"type":"usd","usd":0.0073,"format":{"approximate":true,"suffix":"/minute"}}expr	node_idry   categorydescriptioninputsoutputshiddenis_api_nodeprice_badge)r   SchemaAudior   DynamicComboOptionBooleanFloatNumberDisplaysliderComboStringIntOutputHiddenauth_token_comfy_orgapi_key_comfy_org	unique_id
PriceBadgeclss    @/home/wildlama/comfy/ComfyUI/comfy_api_nodes/nodes_elevenlabs.pydefine_schema$ElevenLabsSpeechToText.define_schemaC   sm   yy,4/c 2   %%..' "

 0 0$6,1,k !1 !"
 !#

 0 0$-,1,P !1 !"
 !#$;,0(+(+)-131A1A1H1H-Z !/ 	!" !#$1,/(+(+)-131A1A1H1H-a !/ 	!" !#$<,I,2,T	 !/ !"?%(*V >[ & .^ 		#;    "!#!1!1!8!8f   "T  EIV 		  f 5		  o >		  l ; 		..		++		##
 gw^
 ^	
    rT   rW   rm   rp   rr   c                 N  #    US   (       a  U(       a  [        S5      e[        US   [        XSSSS9I S h  vN UR                  5       (       a  UOS US   US	:  a  UOS US
   US   US   (       a  US   OS UUS   S9
n[	        U [        SSS9[        USS9I S h  vN n[        R                  " UR                  (       a)  UR                   Vs/ s H  oR                  SS9PM     snO/ SS9n	[        R                  " UR                  UR                  U	5      $  N Ns  snf 7f)Nr\   zxNumber of speakers cannot be specified when diarization is enabled. Either disable diarization or set num_speakers to 0.rW   mp4aac	audio/mp4)container_format
codec_name	mime_typerY   r   rg   r]   re   )
model_idcloud_storage_urlrm   rY   rp   rg   r\   r]   rr   re   z#/proxy/elevenlabs/v1/speech-to-textPOSTpathmethodmultipart/form-data)response_modeldatacontent_typeTexclude_none   )indent)
ValueErrorr   r   stripr   r   r   jsondumpswords
model_dumpr   
NodeOutputrw   rm   )
r   rT   rW   rm   rp   rr   requestresponsewrz   s
             r   executeElevenLabsSpeechToText.execute   s9     G  &7^$<UuP[%  ,9+>+>+@+@-d"#56)5)9t#()A#B)$DI)DT%(?"@Z^m,
 !B6R/.
 
 ZZIQhnnEn\\t\,nE]_

 }}X]]H,B,BJOO/
 Fs4   5D%D
A$D%D3D%D (5D%D% D% N)__name__
__module____qualname____firstlineno__classmethodr   r   r   r   r   dictstrintr   r   __static_attributes__r   r   r   rO   rO   B   s    _
bii _
 _
B &P{{&P &P 	&P
 &P &P 
&P &Pr   rO   c                   p    \ rS rSr\S\R                  4S j5       r\S\S\R                  4S j5       r
Srg)ElevenLabsVoiceSelector   rQ   c                     [         R                  " SSSS[         R                  R                  S[        SS9/[         R
                  " [        5      R                  SS9/S	S
9$ )Nr   zElevenLabs Voice SelectorrS   zCSelect a predefined ElevenLabs voice for text-to-speech generation.voicez5Choose a voice from the predefined ElevenLabs voices.rl   rx   F)r~   ry   r   r   r   r   r   )r   r   r   r   ELEVENLABS_VOICE_OPTIONSCustomr   r   r   s    r   r   %ElevenLabsVoiceSelector.define_schema   si    yy-4/]4S   		*+222H 
 	
r   r   c                     [         R                  U5      nU(       d  [        SU 35      e[        R                  " U5      $ )NzUnknown voice: )ELEVENLABS_VOICE_MAPgetr   r   r   )r   r   voice_ids      r   r   ElevenLabsVoiceSelector.execute   s6    '++E2ug677}}X&&r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      sE    
bii 
 
& 'C 'BMM ' 'r   r   c                       \ rS rSr\S\R                  4S j5       r\S\S\S\	S\S\
S	\S
\S\S\R                  4S j5       rSrg)ElevenLabsTextToSpeech   rQ   c                 b   [         R                  " SSSS[         R                  " [        5      R	                  SSS9[         R
                  R	                  SS	S
SS9[         R                  R	                  SSSSS[         R                  R                  SS9[         R                  R	                  S/ SQSS9[         R                  R	                  S[         R                  R                  S[         R                  R	                  SSSSS[         R                  R                  SS9[         R                  R	                  SSSSS[         R                  R                  S S9[         R                  R	                  S!S"S#S$9[         R                  R	                  S%SSS&S[         R                  R                  S'S9/5      [         R                  R                  S([         R                  R	                  SSSSS[         R                  R                  SS9[         R                  R	                  SSSSS[         R                  R                  S S9/5      /S)S9[         R
                  R	                  S*S
S+S$9[         R                  R	                  S,S-S.S/S0S19[         R                  R	                  S2S3S4/S5S9/[         R                  R                  5       /[         R                   R"                  [         R                   R$                  [         R                   R&                  /S	[         R(                  " S6S79S89	$ )9Nr   zElevenLabs Text to SpeechrS   zConvert text to speech.r   zVVoice to use for speech synthesis. Connect from Voice Selector or Instant Voice Clone.rU   rw   Trn   zThe text to convert to speech.	multiliner[   rV   	stability      ?rf         ?r_   Voice stability. Lower values give broader emotional range, higher values produce more consistent but potentially monotonous speech.r`   apply_text_normalizationautoonoffjText normalization mode. 'auto' lets the system decide, 'on' always applies normalization, 'off' skips it.rl   rW   eleven_multilingual_v2speedffffff??6Speech speed. 1.0 is normal, <1.0 slower, >1.0 faster.similarity_boost      ?LSimilarity boost. Higher values make the voice more similar to the original.use_speaker_boostF/Boost similarity to the original speaker voice.rZ   style皙?YStyle exaggeration. Higher values increase stylistic expression but may reduce stability.	eleven_v3z Model to use for text-to-speech.rm   ro   rr   rs   r   rt   ru   rv   output_formatmp3_44100_192opus_48000_192Audio output format.L{"type":"usd","usd":0.24,"format":{"approximate":true,"suffix":"/1K chars"}}r{   r}   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s    r   r   $ElevenLabsTextToSpeech.define_schema   s.   yy,4/1		*+11t 2  		"<	    !#!1!1!8!8_  	 .1I   %%..4 "$+,/(+(+)-131A1A1H1H,d !/ !" !#$6,0(+(+)-131A1A1H1H,z !/ !" !#

 0 0$7,1,] !1 !"
 !#$+,/(+(+)-131A1A1H1H-@ !/ 	!"1"%L ..' "$+,/(+(+)-131A1A1H1H,d !/ !" !#$6,0(+(+)-131A1A1H1H,z !/ !"O>~ ?C & BF 		#;    "T   #,.>?2  Wpd ! 		..		++		##
 gB
 B	
r   r   rw   r   r   rW   rm   rr   r   c	                 V  #    [        USS9  [        UUS   UR                  5       (       a  UOS [        UUS   US   UR	                  SS 5      UR	                  SS 5      S9UUS	9n	[        U [        S
U 3SSU0S9U	SS9I S h  vN n
[        R                  " [        U
5      5      $  N#7f)Nrs   
min_lengthrW   r   r   r   r   )r   r   r   r   r   )rw   r   rm   voice_settingsrr   r   z$/proxy/elevenlabs/v1/text-to-speech/r   r   r   r   query_paramsTr   	as_binary)
r   r   r   r   r   r   r   r   r   r   )r   r   rw   r   r   rW   rm   rr   r   r   r   s              r   r   ElevenLabsTextToSpeech.executes  s      	+%7^+8+>+>+@+@-d4#!&'9!:Gn"')),?"Fii. %=
 %;E7C-}=
 	
 	
 }}7ABB	
s   BB)B'$B)r   N)r   r   r   r   r   r   r   r   r   floatr   r   r   r   r   r   r   r   r   r      s    C
bii C
 C
J $C$C $C 	$C
 #&$C $C $C $C $C 
$C $Cr   r   c                       \ rS rSr\S\R                  4S j5       r\S\R                  S\R                  4S j5       rSrg)ElevenLabsAudioIsolationi  rQ   c                 h   [         R                  " SSSS[         R                  R                  SSS9/[         R                  R	                  5       /[         R
                  R                  [         R
                  R                  [         R
                  R                  /S[         R                  " S	S
9S9	$ )Nr  zElevenLabs Voice IsolationrS   z?Remove background noise from audio, isolating vocals or speech.rT   z.Audio to process for background noise removal.rU   TJ{"type":"usd","usd":0.24,"format":{"approximate":true,"suffix":"/minute"}}r{   r}   )
r   r   r   r   r   r   r   r   r   r   r   s    r   r   &ElevenLabsAudioIsolation.define_schema  s    yy.5/YL   ! 		..		++		##
 e)
 	
r   rT   c                    #    [        US   5      n[        X!S   SS5      n[        U [        SSS9SS	US
40SSS9I S h  vN n[        R
                  " [        U5      5      $  N#7f)Nwaveformsample_rater   r   z$/proxy/elevenlabs/v1/audio-isolationr   r   rT   	audio.mp4r   r   T)filesr   r   )r   r   r   r   r   r   r   )r   rT   audio_data_npaudio_bytes_ior   s        r   r    ElevenLabsAudioIsolation.execute  sy     
 ;5;LM1-}AUW\^cd$CFS[.+FG.
 
 }}7ABB
s   <A$A"$A$r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r    sQ    
bii 
 
4 C{{C 
C Cr   r  c            	       x    \ rS rSr\S\R                  4S j5       r\S\S\	S\S\R                  4S j5       rSrg	)
ElevenLabsTextToSoundEffectsi  rQ   c                 J   [         R                  " SSSS[         R                  R                  SSSSS	9[         R                  R                  S
[         R                  R                  S[         R                  R                  SSSSS[         R                  R                  SS9[         R                  R                  SSSS9[         R                  R                  SSSSS[         R                  R                  SS9/5      /SS9[         R                  R                  SS S!/S"S9/[         R                  R                  5       /[         R                  R                  [         R                  R                  [         R                  R                   /S[         R"                  " S#S$9S%9	$ )&Nr  z ElevenLabs Text to Sound EffectsrS   z.Generate sound effects from text descriptions.rw   Trn   z1Text description of the sound effect to generate.r   rW   eleven_sfx_v2durationg      @r   g      >@r^   z'Duration of generated sound in seconds.r`   loopFz'Create a smoothly looping sound effect.rZ   prompt_influenceg333333?rf   r   r_   zeHow closely generation follows the prompt. Higher values make the sound follow the text more closely.z)Model to use for sound effect generation.rl   r   r   r   r   zJ{"type":"usd","usd":0.14,"format":{"approximate":true,"suffix":"/minute"}}r{   r}   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s    r   r   *ElevenLabsTextToSoundEffects.define_schema  s   yy2;/H		"O	    %%..+ "$.,/(+(,),131A1A1H1H,U !/ !" !#

 0 0$*,1,U !1 !"
 !#$6,/(+(+)-131A1A1H1H-a !/ 	!"> HC & "F #,.>?2  U/b ! 		..		++		##
 e}A
 A	
r   rw   rW   r   c                    #    [        USS9  [        U [        SSSU0S9[        UUS   US   UR	                  S	S 5      S
9SS9I S h  vN n[
        R                  " [        U5      5      $  N#7f)Nrs   r   z%/proxy/elevenlabs/v1/sound-generationr   r   r   r  r  r  )rw   duration_secondsr  r  Tr   )r   r   r   r   r   r   r   r   )r   rw   rW   r   r   s        r   r   $ElevenLabsTextToSoundEffects.execute  s      	+$<-}=
 +!&z!2!&'9!:YYvt,	 
 
 }}7ABB
s   AA-A+$A-r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r    sg    B
bii B
 B
H CC C 	C
 
C Cr   r  c                       \ rS rSr\S\R                  4S j5       r\S\R                  R                  S\
S\R                  4S j5       rSrg)	ElevenLabsInstantVoiceClonei(  rQ   c                 .   [         R                  " SSSS[         R                  R                  S[         R                  R	                  [         R
                  R                  S5      SSSS	9S
S9[         R                  R                  SSSS9/[         R                  " [        5      R                  SS9/[         R                  R                  [         R                  R                  [         R                  R                  /S[         R                  " SS9S9	$ )Nr  zElevenLabs Instant Voice ClonerS   z]Create a cloned voice from audio samples. Provide 1-8 audio recordings of the voice to clone.r  rT   rs      )prefixra   rb   z#Audio recordings for voice cloning.)templaterV   remove_background_noiseFzARemove background noise from voice samples using audio isolation.rZ   r   rx   Tz{"type":"usd","usd":0.15}r{   r}   )r   r   Autogrowr   TemplatePrefixr   r   r   r   r   r   r   r   r   r   r   s    r   r   )ElevenLabsInstantVoiceClone.define_schema)  s    yy19/B !![[77w/&	 8  B " 	 

  -!_ ! $ 		*+222H 		..		++		##
 +JKA!
 !	
r   r  r!  c                   #    / nU HP  nX   nUS   nUS   n[        U5      n[        XSS5      n	UR                  SU S3U	R                  5       S445        MR     [	        U [        SS	S
9[        [        [        [        R                  " 5       5      US9USS9I S h  vN n
[        R                  " U
R                  5      $  N$7f)Nr
  r	  r   r   r  z.mp4r   z/proxy/elevenlabs/v1/voices/addr   r   )namer!  r   )r   r   r  r   )r   r   appendgetvaluer   r   r   r   r   uuiduuid4r   r   r   )r   r  r!  file_tupleskeyrT   r
  r	  r  r  r   s              r   r   #ElevenLabsInstantVoiceClone.executeN  s      ACCJE$]3KZ(H>xHM5mRWY^_NSE,8O8O8QS^)_`a  !>vN+ &(? .

 

 }}X..//

s   BCC%Cr   N)r   r   r   r   r   r   r   r   r"  Typeboolr   r   r   r   r   r   r  r  (  s^    "
bii "
 "
H 0{{0 "&0 
	0 0r   r  r   r   r   r   r_   r   r`   r   r   rf   r   r   Fr   rZ   r   r   r   c                       \ rS rSr\S\R                  4S j5       r\S\S\	R                  S\S\S\S	\S
\S\R                  4S j5       rSrg)ElevenLabsSpeechToSpeechi  rQ   c                    [         R                  " SSSS[         R                  " [        5      R	                  SSS9[         R
                  R	                  SS	S9[         R                  R	                  S
SSSS[         R                  R                  SS9[         R                  R	                  S[         R                  R                  S[        5      [         R                  R                  S[        5      /SS9[         R                  R	                  SSS/SS9[         R                  R	                  SSSSSS9[         R                  R	                  SS S!S"9/[         R
                  R                  5       /[         R                   R"                  [         R                   R$                  [         R                   R&                  /S#[         R(                  " S$S%9S&9	$ )'Nr1  zElevenLabs Speech to SpeechrS   z]Transform speech from one voice to another while preserving the original content and emotion.r   zXTarget voice for the transformation. Connect from Voice Selector or Instant Voice Clone.rU   rT   zSource audio to transform.r   r   rf   r   r_   r   r`   rW   eleven_multilingual_sts_v2eleven_english_sts_v2z1Model to use for speech-to-speech transformation.rl   r   r   r   r   rr   r       Seed for reproducibility.rv   r!  Fz?Remove background noise from input audio using audio isolation.rZ   Tr  r{   r}   )r   r   r   r   r   r   r   r   r   r   r   ELEVENLABS_STS_VOICE_SETTINGSr   r   r   r   r   r   r   r   r   r   s    r   r   &ElevenLabsSpeechToSpeech.define_schema  s   yy.6/w		*+11J 2 
 8   !#!1!1!8!8_  	 %%..89 ..39	 P &  #,.>?2  
 "7   

  -!] ! ]3j ! 		..		++		##
 eEE
 E	
r   r   rT   r   rW   r   rr   r!  c                 \  #    [        US   5      n[        XS   SS5      n	[        UUS   US   US   US   S	9n
[        U [	        S
U 3SSU0S9[        US   U
R                  SS9UUS9SSU	R                  5       S40SSS9I S h  vN n[        R                  " [        U5      5      $  N#7f)Nr	  r
  r   r   r   r   r   r   )r   r   r   r   r   z&/proxy/elevenlabs/v1/speech-to-speech/r   r   r   rW   Tr   )r   r   rr   r!  rT   r  r   r   )r   r  r   r   )r   r   r   r   r   r   model_dump_jsonr(  r   r   r   )r   r   rT   r   rW   r   rr   r!  r  r  r   r   s               r   r    ElevenLabsSpeechToSpeech.execute  s      ;5;LM1-}AUW\^cd2"#56.#$78.
 %=eWE-}=
 'w-==4=P(?	 [.*A*A*C[QR.
 
" }}7ABB#
s   BB,B*$B,r   N)r   r   r   r   r   r   r   r   r   r   r   r  r   r   r/  r   r   r   r   r   r   r1  r1    s    F
bii F
 F
P $C$C {{$C 	$C
 $C $C $C "&$C 
$C $Cr   r1  countrQ   c                     / n[        SU S-   5       Hh  nUR                  [        R                  R	                  SU 3SSSU S3S9[        R
                  " [        5      R	                  SU 3S	U S
3S9/5        Mj     U$ )z>Generate input widgets for a given number of dialogue entries.rs   rw   Trn   z Text content for dialogue entry .r   r   zVoice for dialogue entry z5. Connect from Voice Selector or Instant Voice Clone.rU   )rangeextendr   r   r   r   r   )r<  r   is      r   _generate_dialogue_inputsrB    s    F1eai 		1#J">qcC	    		*+11A3K7s:op 2 	
 ! Mr   c                       \ rS rSr\S\R                  4S j5       r\S\S\	S\	S\
S\	S	\S
\	S\R                  4S j5       rSrg)ElevenLabsTextToDialoguei  rQ   c                 8   [         R                  " SSSS[         R                  R                  SSSSS[         R                  R
                  S	S
9[         R                  R                  S/ SQSS9[         R                  R                  SS/SS9[         R                  R                  S[         R                  R                  S[        S5      5      [         R                  R                  S[        S5      5      [         R                  R                  S[        S5      5      [         R                  R                  S[        S5      5      [         R                  R                  S[        S5      5      [         R                  R                  S[        S5      5      [         R                  R                  S[        S 5      5      [         R                  R                  S![        S"5      5      [         R                  R                  S#[        S$5      5      [         R                  R                  S%[        S&5      5      /
S'S9[         R                  R                  S(S)S*S+9[         R                  R                  S,SS-S.S/S09[         R                  R                  S1S2S3/S4S9/[         R                  R                  5       /[         R                  R                  [         R                  R                   [         R                  R"                  /S5[         R$                  " S6S79S89	$ )9NrD  zElevenLabs Text to DialoguerS   zZGenerate multi-speaker dialogue from text. Each dialogue entry has its own text and voice.r   r   rf   r   r   r`   r   r   r   rl   rW   r   z%Model to use for dialogue generation.r   1rs   2r   3   4   5   6   7   8r  9	   10
   zNumber of dialogue entries.rm   rn   ro   rZ   rr   r   r5  r6  rv   r   r   r   r   Tr   r{   r}   )r   r   r   r   r   r   r   r   r   rB  r   r   r   r   r   r   r   r   r   r   s    r   r   &ElevenLabsTextToDialogue.define_schema  s   yy.6/t!#!1!1!8!8_  	 .1I   (MC  
 %%..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..s4Ma4PQ..t5Nr5RS : &   		#;    "7   #,.>?2  g8t ! 		..		++		##
 gOJ
 J	
r   r   r   rW   r   rm   rr   r   c           	        #    [        US   5      n/ n	[        SUS-   5       H5  n
USU
 3   nUSU
 3   n[        USS9  U	R                  [	        XS95        M7     [        U	UUR                  5       (       a  UOS [        US9UUS9n[        U [        S	S
SU0S9USS9I S h  vN n[        R                  " [        U5      5      $  N#7f)Nr   rs   rw   r   r   )rw   r   )r   )r   r   rm   settingsrr   r   z%/proxy/elevenlabs/v1/text-to-dialoguer   r   r   Tr   )r   r?  r   r'  r	   r   r   r
   r   r   r   r   r   )r   r   r   rW   r   rm   rr   r   num_entriesdialogue_inputsrA  rw   r   r   r   s                  r   r    ElevenLabsTextToDialogue.executee  s      &*+/1q+/*AD*%DaSk*HDQ/""=d#NO	 +
 ("+8+>+>+@+@-d%	:%=
 %<-}=
 	
 	
 }}7ABB	
s   BC!C"$Cr   N)r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   rD  rD    s    K
bii K
 K
Z #C#C #&#C 	#C
 #C #C #C #C 
#C #Cr   rD  c                   L    \ rS rSr\S\\\R                        4S j5       r	Sr
g)ElevenLabsExtensioni  rQ   c                 ^   #    [         [        [        [        [        [
        [        [        /$ 7fN)rO   r   r   r  r  r  r1  rD  )selfs    r   get_node_list!ElevenLabsExtension.get_node_list  s)      ##"$('$$	
 		
s   +-r   N)r   r   r   r   r   listtyper   	ComfyNoderb  r   r   r   r   r^  r^    s)    

T$r||*<%= 

 

r   r^  c                     #    [        5       $ 7fr`  )r^  r   r   r   comfy_entrypointrh    s       s   )6r   r)  typing_extensionsr   comfy_api.latestr   r   r   comfy_api_nodes.apis.elevenlabsr   r   r	   r
   r   r   r   r   r   r   r   comfy_api_nodes.utilr   r   r   r   r   r   r   r   r   r   r   ELEVENLABS_VOICESr   r   rf  rO   r   r   r  r  r  r   r   r   r   r7  r1  r   rd  rB  rD  r^  rh  )_r&  genderaccentr   s   00000r   <module>rq     sh     & 6 6   	 	 	 8 ; %  0 [llZk?VqtfBvhb:Zkl SdSd1OtfBvhb"H,Sd 
JPR\\ JPZ'bll ':lCR\\ lC^*Cr|| *CZ]C2<< ]C@@0",, @0H HHNN%%,,H   HHNN%%,,^   JJA  
 HHNN%%,,k  1!! HoCr|| oCdS T *sCr|| sCl
. 
! 3 ! ms   H
=H
