
    +j;                     6   d dl mZ d dlmZmZ  G d de          Z G d de          Z G d de          Z G d	 d
e          Z G d de          Z	 G d de          Z
 G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d e          Z G d! d"e          Z G d# d$e          Z G d% d&e          Z G d' d(e          Zd)S )*    )Optional)	BaseModelFieldc                      e Zd ZU  ed          Zeed<    ed          Zeed<    ed          Zeed<    ed          Z	e
ed<    ed	d
          Zeed<    edd
          Zeed<    ed          Zeed<    ed          Zee         ed<    ed          Zee         ed<    ed          Ze
ed<    edd          Zee         ed<    edd          Zeed<    edd          Zeed<    edd          Zeed<   dS ) ImageEnhanceRequest	Reimaginemodeljpegoutput_formatAllsubject_detectionTface_enhancementr   z'Is ignored if face_enhancement is falsedescriptionface_enhancement_creativityg?face_enhancement_strength.
source_urlNoutput_widthoutput_heightFcrop_to_fillz+Text prompt for creative upscaling guidanceprompt   z%Creativity settings range from 1 to 9
creativitytruez&To preserve the identity of charactersface_preservationzTo preserve the original colorcolor_preservation)__name__
__module____qualname__r   r	   str__annotations__r   r   r   boolr   floatr   r   r   r   intr   r   r   r   r   r        :/home/wildlama/comfy/ComfyUI/comfy_api_nodes/apis/topaz.pyr   r      s        {##E3###vM3&&&"U5\\s)))"U4[[d((().q>g)h)h)hhhh',uS>g'h'h'huhhheCjjJ   "'%++L(3----#(5;;M8C=...uL$%%%!E$4abbbFHSMbbbeA+RSSSJSSS"U67_```s```#eF8XYYYYYYYYr&   r   c                   0    e Zd ZU  ed          Zeed<   dS )ImageAsyncTaskResponse.
process_idN)r   r   r   r   r*   r    r!   r%   r&   r'   r)   r)      s*         eCjjJ     r&   r)   c                       e Zd ZU  ed          Zeed<    ed          Zeed<    ed          Ze	e
         ed<    ed          Ze
ed<   dS )ImageStatusResponse.r*   statusNprogresscredits)r   r   r   r   r*   r    r!   r-   r.   r   r$   r/   r%   r&   r'   r,   r,      sv         eCjjJ   %**FC#eDkkHhsm)))5::GSr&   r,   c                   P    e Zd ZU  ed          Zeed<    ed          Zeed<   dS )ImageDownloadResponse.download_urlexpiryN)	r   r   r   r   r2   r    r!   r3   r$   r%   r&   r'   r1   r1   "   sB         c

L#"""%**FCr&   r1   c                   P    e Zd ZU  ed          Zeed<    ed          Zeed<   dS )
Resolution.widthheightN)r   r   r   r   r6   r$   r!   r7   r%   r&   r'   r5   r5   '   sB         sE3%**FCr&   r5   c                       e Zd ZU  ed          Zeed<    edd          Zeed<    edd          Z	eed<    edd          Z
eed	<    ed          Zeed
<    ed          Zeed<   dS )CreateVideoRequestSource.	containerzSize of the video file in bytesr   sizez%Duration of the video file in secondsdurationz#Total number of frames in the video
frameCount	frameRate
resolutionN)r   r   r   r   r:   r    r!   r;   r$   r<   r=   r>   r?   r5   r%   r&   r'   r9   r9   ,   s         U3ZZIsc'HIIID#IIIE#+RSSSHcSSSeC-RSSSJSSSU3ZZIs"U3ZZJ
'''''r&   r9   c                       e Zd ZU  ed          Zeed<    ed          Zee	         ed<    ed          Z
e	ed<    ed          Zeed<    ed          Zeed<   dS )VideoFrameInterpolationFilter.r	   Nslowmofps	duplicateduplicate_threshold)r   r   r   r   r	   r    r!   rB   r   r$   rC   rD   r"   rE   r#   r%   r&   r'   rA   rA   5   s         sE3!E$KKFHSM'''uSzzCeCjjIt   !&s+++++r&   rA   c                   N   e Zd ZU  ed          Zeed<    edd          Zee         ed<    edd          Z	ee         ed<    edd	          Z
ee         ed
<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zeez  dz  ed<    edd          Zee         ed <    edd!          Zedz  ed"<    edd#          Zedz  ed$<    edd%          Zedz  ed&<   dS )'VideoEnhancementFilter.r	   NzAuto, Manual, Relativer   autoz9Downscales video input for correction of blurred subjectsfocusFixLevelz Strength of compression recoverycompressionzAmount of detail reconstructiondetailsz8Amount of noise to add to input to reduce over-smoothingprenoisezAmount of noise reductionnoisezAmount of halo reductionhaloz%Anti-aliasing and deblurring strengthpreblurzAmount of sharpness appliedblurzGrain after AI model processinggrainzSize of generated grain	grainSizez$Source details into the output videorecoverOriginalDetailValuez>slc-1/slp-2.5: enum (low/middle/high). ast-2: decimal 0.0-1.0.r   z/Set to true for Starlight Creative (slc-1) onlyisOptimizedModez%Descriptive scene prompt (ast-2 only)r   zast-2 pre-enhance sharpnesssharpzast-2 realism controlrealism)r   r   r   r   r	   r    r!   rH   r   rI   rJ   r#   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r   rT   r"   r   rU   rV   r%   r&   r'   rG   rG   =   s        sE3%2JKKKD(3-KKK#(5;v#w#w#wM8C=www#(5;]#^#^#^K%^^^$uT7XYYYGXe_YYY %d8r s s sHhuosss"U45PQQQE8E?QQQ!E$4NOOOD(5/OOO$uT7^___GXe____!E$4QRRRD(5/RRR"U45VWWWE8E?WWW!&t9R!S!S!SIxSSS27%Jp2q2q2qqqq%*U4=}%~%~%~Jd"~~~&+eD>o&p&p&pOXd^pppt1XYYYFC$JYYY%2OPPPE54<PPP!E$4KLLLGUT\LLLLLr&   rG   c                       e Zd ZU  ed          Zeed<    ed          Zeed<    edd          Z	e
e         ed<    edd          Zeed<    edd	          Zeed
<   dS )OutputInformationVideo.r?   r>   z,Required if audioTransfer is Copy or Convertr   
audioCodeczCopy, Convert, NoneaudioTransferzLow, Mid, HighdynamicCompressionLevelN)r   r   r   r   r?   r5   r!   r>   r$   rY   r   r    rZ   r[   r%   r&   r'   rX   rX   R   s         "U3ZZJ
'''U3ZZIs %c7e f f fJfffs0EFFFM3FFF#(5:J#K#K#KSKKKKKr&   rX   c                   0    e Zd ZU  ed          Zeed<   dS )	OverridesTisPaidDiffusionN)r   r   r   r   r^   r"   r!   r%   r&   r'   r]   r]   Z   s*         !E$KKOT'''''r&   r]   c                       e Zd ZU  ed          Zeed<    ed          Zee	e
z           ed<    ed          Zeed<    e ed                    Zeed<   dS )	CreateVideoRequest.sourcefiltersoutputT)r^   	overridesN)r   r   r   r   ra   r9   r!   rb   listrA   rG   rc   rX   r]   rd   r%   r&   r'   r`   r`   ^   s         ',uSzzF$111LQERUJJGT/2HHIVVV%*U3ZZF"/// 54!@!@!@AAIyAAAAAr&   r`   c                   0    e Zd ZU  ed          Zeed<   dS )CreateVideoResponse.	requestIdN)r   r   r   r   rh   r    r!   r%   r&   r'   rg   rg   e   s*         U3ZZIsr&   rg   c                   \    e Zd ZU  ed          Zeed<    ed          Zee         ed<   dS )VideoAcceptResponse.uploadIdurlsN)	r   r   r   r   rk   r    r!   rl   re   r%   r&   r'   rj   rj   i   sF         E#JJHceCjjD$s)     r&   rj   c                   P    e Zd ZU  ed          Zeed<    ed          Zeed<   dS )VideoCompleteUploadRequestPart.partNumeTagN)	r   r   r   r   ro   r$   r!   rp   r    r%   r&   r'   rn   rn   n   sB         5::GSc

D#r&   rn   c                   <    e Zd ZU  ed          Zee         ed<   dS )VideoCompleteUploadRequest.uploadResultsN)r   r   r   r   rs   re   rn   r!   r%   r&   r'   rr   rr   s   s0         :?%**M467DDDDDr&   rr   c                   4    e Zd ZU  edd          Zeed<   dS )VideoCompleteUploadResponse.zConfirmation messager   messageN)r   r   r   r   rv   r    r!   r%   r&   r'   ru   ru   w   s2         5*@AAAGSAAAAAr&   ru   c                   <    e Zd ZU  ed          Zee         ed<   dS )VideoStatusResponseEstimates.costN)r   r   r   r   ry   re   r$   r!   r%   r&   r'   rx   rx   {   s.         eCjjD$s)     r&   rx   c                   0    e Zd ZU  ed          Zeed<   dS )VideoStatusResponseDownloadUrl.urlN)r   r   r   r   r|   r    r!   r%   r&   r'   r{   r{      s*         uSzzCr&   r{   c                       e Zd ZU  ed          Zeed<    ed          Zee	         ed<    ed          Z
ee         ed<    ed          Zee         ed<    ed          Zee         ed<   dS )	VideoStatusResponse.r-   N	estimatesr.    rv   download)r   r   r   r   r-   r    r!   r   r   rx   r.   r#   rv   r   r{   r%   r&   r'   r~   r~      s         %**FC8=dIx45CCC %dHhuo+++"U2YYGXc]&&&9>tHh56DDDDDr&   r~   N)typingr   pydanticr   r   r   r)   r,   r1   r5   r9   rA   rG   rX   r]   r`   rg   rj   rn   rr   ru   rx   r{   r~   r%   r&   r'   <module>r      s         % % % % % % % %Z Z Z Z Z) Z Z Z"! ! ! ! !Y ! ! !    )       I   
       
( ( ( ( (y ( ( (, , , , ,I , , ,M M M M MY M M M*L L L L LY L L L( ( ( ( (	 ( ( (B B B B B B B B         )      ! ! ! ! !) ! ! !
    Y   
E E E E E E E EB B B B B) B B B! ! ! ! !9 ! ! !    Y   E E E E E) E E E E Er&   