o
    i                     @   s   d dl mZ d dlmZmZ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dS )    )	TypedDict)AliasChoices	BaseModelFieldmodel_validatorc                   @   s&   e Zd ZU eed< eed< eed< dS )InputPortraitModeportrait_modeportrait_styleportrait_beautifierN)__name__
__module____qualname__str__annotations__ r   r   ;/mnt/c/Users/fbmor/ComfyUI/comfy_api_nodes/apis/magnific.pyr         
 r   c                   @   s^   e Zd ZU eed< eed< eed< eed< eed< eed< eed< eed< eed	< eed
< dS )InputAdvancedSettingsadvanced_settingswhitesblacks
brightnesscontrast
saturationenginetransfer_light_atransfer_light_bfixed_generationN)r   r   r   r   r   intboolr   r   r   r   r      s   
 r   c                   @   s&   e Zd ZU eed< eed< eed< dS )InputSkinEnhancerModemodeskin_detailoptimized_forN)r   r   r   r   r   r   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< edZeed< edZ	edB ed< 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Zeed< dS )ImageUpscalerCreativeRequest.imagescale_factorr#   Nprompt
creativityhdrresemblance
fractalityr   )r   r   r   r   r%   r   r   r&   r#   r'   r(   r   r)   r*   r+   r   r   r   r   r   r$      s   
 r$   c                   @   sn   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Zeed< edZeed< dS )	ImageUpscalerPrecisionV2Request.r%   sharpensmart_grainultra_detailflavorr&   N)r   r   r   r   r%   r   r   r-   r   r.   r/   r0   r&   r   r   r   r   r,   +   s   
 r,   c                   @   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Z
eed< edZeed< edZeed< edZeed	< edZeed
< dS )#ImageRelightAdvancedSettingsRequest.r   r   r   r   r   r   r   r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   4   s   
 r1   c                   @   s   e Zd ZU edZeed< edZedB ed< edZedB ed< 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Zeed
< edZedB ed< dS )ImageRelightRequest.r%   Nr'   #transfer_light_from_reference_imagelight_transfer_strengthinterpolate_from_originalchange_backgroundstylepreserve_detailsr   )r   r   r   r   r%   r   r   r'   r3   r4   r   r5   r   r6   r7   r8   r   r1   r   r   r   r   r2   @   s   
 r2   c                   @   s   e Zd ZU edZeed< edZeed< edZedB ed< edZ	e
ed< edZe
ed< edZeed< edZedB ed	< edZedB ed
< edZeed< edZeed< edZeed< dS )ImageStyleTransferRequest.r%   reference_imageNr'   style_strengthstructure_strengthis_portraitr	   r
   r0   r   r   )r   r   r   r   r%   r   r   r:   r'   r;   r   r<   r=   r   r	   r
   r0   r   r   r   r   r   r   r9   L   s   
 r9   c                   @   s>   e Zd ZU edZeed< edZeed< edZ	eed< dS ) ImageSkinEnhancerCreativeRequest.r%   r-   r.   N)
r   r   r   r   r%   r   r   r-   r   r.   r   r   r   r   r>   Z   s   
 r>   c                   @   sN   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< dS ) ImageSkinEnhancerFaithfulRequest.r%   r-   r.   r"   N)r   r   r   r   r%   r   r   r-   r   r.   r"   r   r   r   r   r?   `   
   
 r?   c                   @   sN   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< dS ) ImageSkinEnhancerFlexibleRequest.r%   r-   r.   r#   N)r   r   r   r   r%   r   r   r-   r   r.   r#   r   r   r   r   rA   g   r@   rA   c                   @   sr   e Zd ZU dZedZeed< eedddZ	eed< edZ
ee dB ed< ed	d
ededefddZdS )TaskResponsezMUnified response model that handles both wrapped and unwrapped API responses..task_idstatustask_status)validation_aliasN	generatedbefore)r!   valuesreturnc                 C   s"   d|v rt |d tr|d S |S )Ndata)
isinstancedict)clsrI   r   r   r   unwrap_datau   s   zTaskResponse.unwrap_data)r   r   r   __doc__r   rC   r   r   r   rD   rG   listr   classmethodrM   rO   r   r   r   r   rB   n   s   
 rB   N)typingr   pydanticr   r   r   r   r   r   r    r$   r,   r1   r2   r9   r>   r?   rA   rB   r   r   r   r   <module>   s    	