+
    gi"              "         ^ RI Ht ^ RIt^ RIHt ^ RIHt R R ltR R ltR	 R
 lt	R R lt
R R ltRRRRRRRRRRRRRR/R R lltRRRRRRRRRRRRRRRRR RR!RR"RR#RR$RR%RRRRRRR/R& R' lltRR(RRRRRRR)RR*RRRR RRRRRRR/R+ R, lltRRRRRRRR/R- R. lltR/RR0RR1R2RR2/R3 R4 lltRR(RRRRRR/R5 R6 lltR7R8R9R:RR(RRRRRRR R;/R< R= lltRR(RRRRRR/R> R? lltR# )@    )annotationsN)Path)Anyc                    V ^8  d   QhRRRR/#    valuestrreturnbool )formats   "scripts/builders.py__annotate__r      s     G G G G    c                V    V P                  R 4      ;'       g    V P                  R4      # )zhttp://zhttps://
startswithr	   s   &r   _looks_like_http_urlr      s&    I&FF%*:*::*FFr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r      s     % % % %r   c                $    V P                  R 4      # )zdata:r   r   s   &r   _looks_like_data_urlr      s    G$$r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r      s     ' ' ' 'r   c                $    V P                  R 4      # )zfile://r   r   s   &r   _looks_like_file_urlr      s    I&&r   c                    V ^8  d   QhRRRR/# )r   r	   r
   r   r   )r   s   "r   r   r   !   s      S S r   c                   V P                  4       pV'       g   V# \        V4      '       d   V# \        V4      '       d!   VP                  R 4      w   r#T;'       g    T# \	        V4      '       d   \        VR,          4      M
\        V4      pVP                  4       '       dJ   VP                  4       '       d4   \        P                  ! VP                  4       4      P                  R4      # V# ),:   NNascii)stripr   r   	partitionr   r   existsis_filebase64	b64encode
read_bytesdecode)r	   raw_encoded	candidates   &    r   _coerce_inline_image_datar.   !   s    
++-C
C  
C  c*1~~#!5c!:!:SWS	Ii//11	 4 4 67>>wGGJr   c                    V ^8  d   QhRRRR/# )r   
image_listlist[dict[str, Any]]r   r   )r   s   "r   r   r   0   s     	 	0D 	I] 	r   c                <   . pV  F  p\        V4      p\        VP                  R 4      \        4      '       d   \	        VR ,          4      VR &   \        VP                  R4      \        4      '       d   \	        VR,          4      VR&   VP                  V4       K  	  V# )	image_urlimage)dict
isinstancegetr
   r.   append)r0   
normalizeditemupdateds   &   r   _normalize_reference_image_listr<   0   s    ')Jt*gkk+.44#<W[=Q#RGK gkk'*C0089IJGG'"  r   
model_nameduration5modestdaspect_ratioz16:9
multi_shotF	shot_typemulti_promptc               <    V ^8  d   QhRRRRRRRRRRRR	R
RRRRR/	# )r   promptr
   r=   
str | Noner>   r@   rB   rC   r   rD   rE   list[dict[str, Any]] | Noner   dict[str, Any]r   )r   s   "r   r   r   <   sf     
 
 
 
VY 
gj 
  CF 
  ]a 
  v@ 
  Wr 
  ~L 
r   c                t    R V RVRVRV/pVe   WR&   V'       d   RVR&   V'       d   WhR&   V'       d   WxR&   V# )	rG   r>   r@   rB   r=   TrC   rD   rE   r   )	rG   r=   r>   r@   rB   rC   rD   rE   payloads	   $$$$$$$$ r   build_text2video_payloadrM   <   sO    Xvt^UabG * $#,K &2N#Nr   
image_tailnegative_promptelement_list
voice_listsound	cfg_scalestatic_maskdynamic_maskscamera_controlwatermark_infoc          (     h    V ^8  d   QhRRRRRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRRRRRR/# )r   r4   r
   rG   r=   rH   r>   r@   rB   rN   rO   rP   rI   rQ   rR   rS   zfloat | NonerT   z
Any | NonerU   rV   zdict[str, Any] | NonerW   rC   r   rD   rE   r   rJ   r   )r   s   "r   r   r   L   s       S j cf tw   PS   jt   NX   oJ   _z   JT   ht   JT   lG   `u   Nc   x|   Q	[	   r	M
   Y
g
 r   c           
     n   R \        V 4      RVRVRVRV/pVe   VVR&   Ve   \        V4      VR&   Ve   VVR&   V'       d   VVR&   V	'       d   V	VR	&   V
e   V
VR
&   Ve   VVR&   Ve   VVR&   V'       d   VVR&   Ve   VVR&   Ve   VVR&   V'       d    RVR&   V'       d   VVR&   V'       d   VVR&   V# )r4   rG   r>   r@   rB   r=   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   TrC   rD   rE   r.   )r4   rG   r=   r>   r@   rB   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rC   rD   rE   rL   s   $$$$$$$$$$$$$$$$$$$ r   build_image2video_payloadr[   L   s	   1%8(FJX`bhjnp~  AM  NG * 9* E"%4!"". * (!,#0 !$2 !!$2 ! $#,GK &2GN#Nr   zkling-v3-omnir0   
video_listc               L    V ^8  d   QhRRRRRRRRRRRRR	RR
RRRRRRRRRRR/# )r   rG   r
   r=   r>   r@   rB   r0   rI   r\   rP   rR   rH   rC   r   rD   rE   r   rJ   r   )r   s   "r   r   r   r   s      # 3 TW eh   AD   [v   Kf   }X   hr   GK   `j   A\   hv r   c           
         R VRV RVRVRV/pV'       d   \        V4      VR&   V'       d   WlR&   V'       d   W|R&   Ve   WR&   V	'       d   R	VR
&   V
'       d   WR&   V'       d   WR&   V# )r=   rG   r>   r@   rB   r0   r\   rP   rR   TrC   rD   rE   r<   )rG   r=   r>   r@   rB   r0   r\   rP   rR   rC   rD   rE   rL   s   $$$$$$$$$$$$ r   build_omni_payloadr`   r   s~    Z6:xQWY]_mo{|G ?
 K *".  $#,K &2N#Nr   c               4    V ^8  d   QhRRRRRRRRRRR	RR
R/# )r   r0   r1   rG   r
   r=   rH   r>   r@   rB   r   rJ   r   )r   s   "r   r   r      sS      1E s `j   ~A   OR   jm   {I r   c           
     @    R \        V 4      RVRVRVRV/pVe   W&R&   V# )r0   rG   r>   r@   rB   r=   r_   )r0   rG   r=   r>   r@   rB   rL   s   $$$$$$ r   build_reference2video_payloadrc      sG    <ZH(TZ\fhprxz~  AO  Q]  ^G *Nr   video_id	video_urlrG    c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r   rd   rH   re   rG   r
   rO   r   rJ   r   )r   s   "r   r   r      s6      j J _b z}   HV r   c                B    R VRV/pV '       d   WR&   V'       d   WR&   V# )rG   rO   rd   re   r   )rd   re   rG   rO   rL   s   $$$$ r   build_extend_payloadri      s,    !2ODG&
(Nr   c               4    V ^8  d   QhRRRRRRRRRRRRRR	/# )
r   rG   r
   r3   r=   r>   r@   rB   r   rJ   r   )r   s   "r   r   r      sM      c c s ps   BE   ]`   n| r   c                :    R VRV RVRVRVRR\        V4      RR/./# )	r=   rG   r>   r@   rB   r0   r3   typefirst_framerZ   )rG   r3   r=   r>   r@   rB   s   $$$$$$r   build_omni_first_frame_payloadrn      sB    j&H6yA
 r   
refer_typebasekeep_original_soundyesoffc               @    V ^8  d   QhRRRRRRRRRRRRRRR	RR
RRR/
# )r   rG   r
   re   ro   rq   r=   r>   r@   rB   rR   r   rJ   r   )r   s   "r   r   r      sr      # # SV vy   PS   qt   BE   ]`   ru   BP r   c        	        0    R VRV RVRVRVRVRRVRVR	V/./# )
r=   rG   r>   r@   rB   rR   r\   re   ro   rq   r   )	rG   re   ro   rq   r=   r>   r@   rB   rR   s	   $$$$$$$$$r   "build_omni_video_reference_payloadrv      sI    j&H 	Yj%':
 r   c               4    V ^8  d   QhRRRRRRRRRRRRR	R
/# )r   rG   r
   element_idsz	list[int]r=   r>   r@   rB   r   rJ   r   )r   s   "r   r   r      sN     
 
# 
I 
SV 
tw 
  FI 
  ad 
  r@ 
r   c                L    R TRT RTRTRTRV Uu. uF  pRV/NK	  	  up/# u upi )r=   rG   r>   r@   rB   rP   
element_idr   )rG   rx   r=   r>   r@   rB   eids   $$$$$$ r   build_omni_element_payloadr|      sI    j&H+6
+6C\3;
	 	
s   !)
__future__r   r&   pathlibr   typingr   r   r   r   r.   r<   rM   r[   r`   rc   ri   rn   rv   r|   r   r   r   <module>r      s   "    G%'	
d 
\_ 
mr 
  IO 
  di 
  CG 
  uy 
 SW il z   V\   w{   [_   MQ   }A   W[   w{   W[   JN   x|   fj   D	   ^	b	   P
T
 L Z] kp   GM   y}   im   [_   uy   NS   mq   _c &mq   DG   UZ   pv 4 QU eg   AC Ud vy   HM   ci  Y_   }B   Ve   wz   HM   ci   x} (
Yh 
z} 
  LQ 
  gm 
 
r   