o
    i                     @   sT  d dl mZmZ d dlmZmZ G dd deZG dd deZG dd deZG d	d
 d
eZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZd)S )*    )OptionalUnion)	BaseModelFieldc                   @   s  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
dZeed< ed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dZee ed< edddZeed< edddZeed< ed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    r$   r$   8/mnt/c/Users/fbmor/ComfyUI/comfy_api_nodes/apis/topaz.pyr      s   
 r   c                   @      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'         
 r'   c                   @   sR   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*      s
   
 r*   c                   @   .   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   r0   r   r    r1   r#   r$   r$   r$   r%   r/   "      
 r/   c                   @   s.   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   r4   r#   r    r5   r$   r$   r$   r%   r3   '   r2   r3   c                   @   sz   e Zd ZU edZeed< edddZeed< edddZ	eed< ed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   r7   r   r    r8   r#   r9   r:   r;   r<   r3   r$   r$   r$   r%   r6   ,   s   
 r6   c                   @   sb   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    r>   r   r#   r?   r@   r!   rA   r"   r$   r$   r$   r%   r=   5   s   
 r=   c                   @   sn  e Zd ZU edZeed< edddZee ed< edddZ	ee ed< edd	dZ
ee ed
< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee ed< edddZee 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*Creativity level(high, low) for slc-1 onlyr   z/Set to true for Starlight Creative (slc-1) onlyisOptimizedMode)r   r   r   r   r   r   r    rC   r   rD   rE   r"   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r   rO   r!   r$   r$   r$   r%   rB   =   s    
 rB   c                   @   sn   e Zd ZU edZeed< edZeed< edddZ	e
e ed< edddZeed< ed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<   r3   r    r;   r#   rQ   r   r   rR   rS   r$   r$   r$   r%   rP   O   s   
 rP   c                   @   r&   )	OverridesTisPaidDiffusionN)r   r   r   r   rU   r!   r    r$   r$   r$   r%   rT   W   r)   rT   c                   @   s`   e Zd ZU edZeed< edZee	e
ef  ed< edZeed< eeddZeed< dS )	CreateVideoRequest.sourcefiltersoutputT)rU   	overridesN)r   r   r   r   rW   r6   r    rX   listr   r=   rB   rY   rP   rT   rZ   r$   r$   r$   r%   rV   [   s
   
 rV   c                   @   r&   )CreateVideoResponse.	requestIdN)r   r   r   r   r]   r   r    r$   r$   r$   r%   r\   b   r)   r\   c                   @   s2   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   r_   r   r    r`   r[   r$   r$   r$   r%   r^   f   s   
 r^   c                   @   r.   )VideoCompleteUploadRequestPart.partNumeTagN)	r   r   r   r   rb   r#   r    rc   r   r$   r$   r$   r%   ra   k   r2   ra   c                   @   "   e Zd ZU edZee ed< dS )VideoCompleteUploadRequest.uploadResultsN)r   r   r   r   rf   r[   ra   r    r$   r$   r$   r%   re   p      
 re   c                   @   s"   e Zd ZU edddZeed< dS )VideoCompleteUploadResponse.zConfirmation messager   messageN)r   r   r   r   ri   r   r    r$   r$   r$   r%   rh   t   rg   rh   c                   @   rd   )VideoStatusResponseEstimates.costN)r   r   r   r   rk   r[   r#   r    r$   r$   r$   r%   rj   x   rg   rj   c                   @   r&   )VideoStatusResponseDownloadUrl.urlN)r   r   r   r   rm   r   r    r$   r$   r$   r%   rl   |   r)   rl   c                   @   sn   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,    ri   download)r   r   r   r   r+   r   r    ro   r   rj   r,   r"   ri   rq   rl   r$   r$   r$   r%   rn      s   
 rn   N)typingr   r   pydanticr   r   r   r'   r*   r/   r3   r6   r=   rB   rP   rT   rV   r\   r^   ra   re   rh   rj   rl   rn   r$   r$   r$   r%   <module>   s*    	