
    3j               	          S SK Jr  S SKJrJrJr  S SKJr  S SKJrJ	r	J
r
   " S S\\5      r " S S\\5      r " S	 S
\5      r " S S\
\\\\   4      5      r " S S\\5      r " S S\\5      r " S S\5      r " S S\5      r " S S\5      r " S S\\5      r " S S\5      r " S S\\5      r " S S\5      r " S S \5      r " S! S"5      rS#rS$rS%rS&r " S' S(5      r  " S) S*5      r! " S+ S,5      r" " S- S.5      r# " S/ S0\5      r$ " S1 S2\5      r% " S3 S4\5      r& " S5 S6\5      r' " S7 S8\5      r( " S9 S:\5      r) " S; S<\5      r* " S= S>\5      r+g?)@    )Enum)OptionalListUnion)datetime)	BaseModelField	RootModelc                   4    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rg)RunwayAspectRatioEnum   z1280:720z720:1280z1104:832z832:1104z960:960z1584:672z1280:768z768:1280 N)__name__
__module____qualname____firstlineno__field_1280_720field_720_1280field_1104_832field_832_1104field_960_960field_1584_672field_1280_768field_768_1280__static_attributes__r       ;/home/wildlama/comfy/ComfyUI/comfy_api_nodes/apis/runway.pyr   r      s*    NNNNMNNNr   r   c                       \ rS rSrSrSrSrg)Position   firstlastr   N)r   r   r   r   r!   r"   r   r   r   r   r   r      s    EDr   r   c                   F    \ rS rSr% \" SSS9r\\S'   \" SSS9r\	\S'   Sr
g	)
RunwayPromptImageDetailedObject   .zbThe position of the image in the output video. 'last' is currently supported for gen3a_turbo only.descriptionpositionz4A HTTPS URL or data URI containing an encoded image.urir   N)r   r   r   r   r	   r(   r   __annotations__r)   strr   r   r   r   r$   r$      s2    xHh  OC r   r$   c                   >    \ rS rSr% \" SSS9r\\\\	   4   \
S'   Srg)RunwayPromptImageObject"   .zjImage(s) to use for the video generation. Can be a single URI or an array of image objects with positions.r&   rootr   N)r   r   r   r   r	   r/   r   r+   r   r$   r*   r   r   r   r   r-   r-   "   s/     ?D A?D%T9::
; r   r-   c                       \ rS rSrSrSrSrg)RunwayModelEnum+   
gen4_turbogen3a_turbor   N)r   r   r   r   r3   r4   r   r   r   r   r1   r1   +   s    JKr   r1   c                       \ rS rSrSrSrSrg)RunwayDurationEnum0      
   r   N)r   r   r   r   	integer_5
integer_10r   r   r   r   r6   r6   0   s    IJr   r6   c                   z    \ rS rSr% \\S'   \\S'   \\S'   \" SSSS9r	\
\   \S	'   \\S
'   \" SSSSS9r\\S'   Srg)RunwayImageToVideoRequest5   durationmodelpromptImageNzText prompt for the generation  r'   
max_length
promptTextratio.Random seed for generationr       r'   geleseedr   )r   r   r   r   r6   r*   r1   r-   r	   rE   r   r+   r   rL   intr   r   r   r   r=   r=   5   sT      (( %:t!J  ! 5!
D# r   r=   c                   4    \ rS rSr% \" SSS9r\\   \S'   Sr	g)RunwayImageToVideoResponseB   NTask IDr&   idr   
r   r   r   r   r	   rR   r   r+   r*   r   r   r   r   rO   rO   B       d	:B:r   rO   c                       \ rS rSr% \" SSS9r\\S'   \" SSS9r\	\S'   \" SS	S9r
\\\	      \S
'   \" SSSSS9r\\   \S'   \" SSS9r\	\S'   Srg)RunwayTaskStatusResponseF   .zTask creation timestampr&   	createdAtrQ   rR   NzArray of output video URLsoutputzgFloat value between 0 and 1 representing the progress of the task. Only available if status is RUNNING.              ?rI   progressz;SUCCEEDED, RUNNING, FAILED, PENDING, CANCELLED or THROTTLEDstatusr   )r   r   r   r   r	   rX   r   r*   rR   r+   rY   r   r   r\   floatr]   r   r   r   r   rV   rV   F   su    1JKIxKCY/B/"':V"WFHT#YW %}	!Hhuo  )fgFCgr   rV   c                       \ rS rSrSrSrg)Model4S   
gen4_imager   N)r   r   r   r   rb   r   r   r   r   r`   r`   S   s    Jr   r`   c                   4    \ rS rSr% \" SSS9r\\   \S'   Sr	g)ReferenceImageW   Nz3A HTTPS URL or data URI containing an encoded imager&   r)   r   )
r   r   r   r   r	   r)   r   r+   r*   r   r   r   r   rd   rd   W   s    OC# r   rd   c                   <    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrg) RunwayTextToImageAspectRatioEnum]   z	1920:1080z	1080:1920z	1024:1024z1360:768z	1080:1080z1168:880z	1440:1080z	1080:1440z1808:768z2112:912r   N)r   r   r   r   field_1920_1080field_1080_1920field_1024_1024field_1360_768field_1080_1080field_1168_880field_1440_1080field_1080_1440field_1808_768field_2112_912r   r   r   r   rg   rg   ]   s4    !O!O!ON!ON!O!ONNr   rg   c                   v    \ rS rSr% \" SSS9r\\S'   \" SSSS9r\	\S	'   \
\S
'   \" SSS9r\\\      \S'   Srg)RunwayTextToImageRequestj   .zModel to use for generationr&   r@   z$Text prompt for the image generationrB   rC   rE   rF   Nz1Array of reference images to guide the generationreferenceImagesr   )r   r   r   r   r	   r@   r`   r*   rE   r+   rg   rv   r   r   rd   r   r   r   r   rt   rt   j   sV    #+HIE6I?DJ  ,+6;M7OXd>23 r   rt   c                   4    \ rS rSr% \" SSS9r\\   \S'   Sr	g)RunwayTextToImageResponseu   NrQ   r&   rR   r   rS   r   r   r   rx   rx   u   rT   r   rx   c                        \ rS rSrSrSrSrSrg)RunwayAleph2IOy   z8Custom socket types for chaining Aleph2 guidance images.RUNWAY_ALEPH2_KEYFRAMERUNWAY_ALEPH2_PROMPT_IMAGEr   N)r   r   r   r   __doc__KEYFRAMEPROMPT_IMAGEr   r   r   r   r{   r{   y   s    B'H/Lr   r{   secondsat	timestampr(   c                   *    \ rS rSrSrS\S\4S jrSrg)RunwayAleph2KeyframeItem   zRA guidance image anchored to a point of the INPUT video (one Aleph2 ``keyframe``).modevaluec                 (    Xl         X l        X0l        g Nimager   r   selfr   r   r   s       r   __init__!RunwayAleph2KeyframeItem.__init__       
	
r   r   N	r   r   r   r   r   r+   r^   r   r   r   r   r   r   r      s    \C  r   r   c                   :    \ rS rSrSrS rS\SS4S jrS
S jrS	r	g)RunwayAleph2KeyframeChain   zSAn ordered collection of keyframes, built by chaining Runway Aleph2 Keyframe nodes.c                     / U l         g r   itemsr   s    r   r   "RunwayAleph2KeyframeChain.__init__   s	    57
r   itemreturnNc                 :    U R                   R                  U5        g r   r   appendr   r   s     r   addRunwayAleph2KeyframeChain.add       

$r   c                 N    [        5       n[        U R                  5      Ul        U$ r   )r   listr   r   cs     r   cloneRunwayAleph2KeyframeChain.clone   s    %'tzz"r   r   )r   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s#    ]8 0  T  r   r   c                   *    \ rS rSrSrS\S\4S jrSrg)RunwayAleph2PromptImageItem   zVA guidance image anchored to a point of the OUTPUT video (one Aleph2 ``promptImage``).r   r   c                 (    Xl         X l        X0l        g r   r   r   s       r   r   $RunwayAleph2PromptImageItem.__init__   r   r   r   Nr   r   r   r   r   r      s    `C  r   r   c                   :    \ rS rSrSrS rS\SS4S jrS
S jrS	r	g)RunwayAleph2PromptImageChain   z[An ordered collection of prompt images, built by chaining Runway Aleph2 Prompt Image nodes.c                     / U l         g r   r   r   s    r   r   %RunwayAleph2PromptImageChain.__init__   s	    8:
r   r   r   Nc                 :    U R                   R                  U5        g r   r   r   s     r   r    RunwayAleph2PromptImageChain.add   r   r   c                 N    [        5       n[        U R                  5      Ul        U$ r   )r   r   r   r   s     r   r   "RunwayAleph2PromptImageChain.clone   s    (*tzz"r   r   )r   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s#    e; 3    r   r   c                   J    \ rS rSr% \" SSSS9r\\S'   \" S5      r\	\S'   Sr
g	)
RunwayAleph2KeyframeSeconds   .zfAbsolute timestamp in seconds from the start of the input video when this guidance image should apply.rZ   r'   rJ   r   r)   r   N)r   r   r   r   r	   r   r^   r*   r)   r+   r   r   r   r   r   r      s,    |GU 
 SzCr   r   c                   L    \ rS rSr% \" SSSSS9r\\S'   \" S5      r\	\S'   S	r
g
)RunwayAleph2KeyframeAt   .z>Position as a fraction [0.0, 1.0] of the input video duration.rZ   r[   rI   r   r)   r   N)r   r   r   r   r	   r   r^   r*   r)   r+   r   r   r   r   r   r      s/    T	B  SzCr   r   c                   F    \ rS rSr% \" SS9r\\S'   \" SSSS9r\	\S	'   S
r
g)RunwayAleph2TimestampPosition   r   defaulttype.zAAbsolute timestamp in seconds from the start of the output video.rZ   r   timestampSecondsr   N)r   r   r   r   r	   r   r+   r*   r   r^   r   r   r   r   r   r      s,    k*D#*#We r   r   c                   H    \ rS rSr% \" SS9r\\S'   \" SSSSS	9r\	\S
'   Sr
g)RunwayAleph2RelativePosition   r(   r   r   .zEPosition as a fraction [0.0, 1.0] of the total output video duration.rZ   r[   rI   positionPercentager   N)r   r   r   r   r	   r   r+   r*   r   r^   r   r   r   r   r   r      s/    j)D#) %[	! r   r   c                   @    \ rS rSr% \\-  \S'   \" S5      r\	\S'   Sr
g)RunwayAleph2PromptImage   r(   .r)   r   N)r   r   r   r   r   r   r*   r	   r)   r+   r   r   r   r   r   r      s    +.JJJSzCr   r   c                   .    \ rS rSr% \" SSS9r\\S'   Srg)RunwayAleph2ContentModeration   .zzWhen set to "low", the content moderation system is less strict about recognizable public figures. One of "auto" or "low".r&   publicFigureThresholdr   N)	r   r   r   r   r	   r   r+   r*   r   r   r   r   r   r      s    !&?"3 r   r   c                       \ rS rSr% \" SS9r\\S'   \" SSSSS	9r\\S
'   \" S5      r	\\S'   \" SSSSS9r
\\S'   \" S5      r\\S'   \" SSS9r\\\-     S-  \S'   \" SSS9r\\   S-  \S'   Srg)RunwayAleph2Request   aleph2r   r@   .z?A non-empty string describing what should appear in the output.   rB   )r'   
min_lengthrD   rE   videoUrirG   r   rH   rI   rL   contentModerationNzLTimed guidance images placed at specific points in the input video. Up to 5.r&   	keyframeszTUp to 5 image keyframes for guiding the edit at specific points in the output video.rA   r   )r   r   r   r   r	   r@   r+   r*   rE   r   rL   rM   r   r   r   r   r   r   rA   r   r   r   r   r   r   r      s    x(E3(U	J  #JHcc'CjYD#Y7<Sz4ASXbTIt/2HHIDP  9>j9K-.5 r   r   c                   4    \ rS rSr% \" SSS9r\S-  \S'   Srg)RunwayAleph2Responsei  NrQ   r&   rR   r   )	r   r   r   r   r	   rR   r+   r*   r   r   r   r   r   r     s    4Y7Bd
7r   r   N),enumr   typingr   r   r   r   pydanticr   r	   r
   r+   r   r   r$   r-   r1   rM   r6   r=   rO   rV   r`   rd   rg   rt   rx   r{   KEYFRAME_MODE_SECONDSKEYFRAME_MODE_ATPROMPT_IMAGE_MODE_TIMESTAMPPROMPT_IMAGE_MODE_POSITIONr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s    ( (  0 0 C  sD 
i eC=>>?@ c4  
d 

	 
; ;
hy 
hS$ Y 
 sD 
 y ;	 ;0 0 "   * '     ) Y I 9 i 
I ) *89 8r   