o
    پiv                     @   s   d dl Z d dlZd dlmZ d dlmZmZ d dlmZm	Z	m
Z
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eG dd deZeG dd deZdS )    N)ABC)	dataclassfield)AnyDictListOptionalUnion)	BaseModelFieldc                   @   sN   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee ed< dS )ImageResponseDataNb64_jsonurlrevised_prompt	file_path)
__name__
__module____qualname__r   r   str__annotations__r   r   r    r   r   m/home/ubuntu/.local/lib/python3.10/site-packages/sglang/multimodal_gen/runtime/entrypoints/openai/protocol.pyr      s
   
 r   c                   @   sX   e Zd ZU eed< edd dZeed< ee	 ed< dZ
ee ed< dZee ed	< dS )
ImageResponseidc                   C      t t S Ninttimer   r   r   r   <lambda>       zImageResponse.<lambda>default_factorycreateddataNpeak_memory_mbinference_time_s)r   r   r   r   r   r   r#   r   r   r   r%   r   floatr&   r   r   r   r   r      s   
 r   c                   @   sN  e Zd ZU eed< dZee ed< dZee ed< dZ	ee ed< dZ
ee ed	< d
Zee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZeeeef  ed< dS )ImageGenerationsRequestpromptNmodel   nautoqualityr   response_format	1024x1024sizevividstyle
backgroundoutput_formatusernum_inference_stepsguidance_scaletrue_cfg_scale   seedcudagenerator_devicenegative_promptdefaultoutput_qualityoutput_compressionFenable_teacachediffusers_kwargs)r   r   r   r   r   r*   r   r,   r   r.   r/   r1   r3   r4   r5   r6   r7   r8   r'   r9   r;   r=   r>   r@   rA   rB   boolrC   r   r   r   r   r   r   r(      s,   
 r(   c                   @   s  e Zd ZU eed< dZeed< dZeed< dZeed< dZe	ed	< e
d
d dZe	ed< dZeed< dZeed< dZeed< dZee ed< dZee ed< dZee	 ed< dZee	 ed< dZeeeef  ed< dZee ed< dZee ed< dZee ed< dS )VideoResponser   videoobjectzsora-2r*   queuedstatusr   progressc                   C   r   r   r   r   r   r   r   r   ;   r    zVideoResponse.<lambda>r!   
created_at r1   4secondsstandardr.   Nr   remixed_from_video_idcompleted_at
expires_aterrorr   r%   r&   )r   r   r   r   r   rG   r*   rI   rJ   r   r   rK   r1   rN   r.   r   r   rP   rQ   rR   rS   r   r   r   r%   r'   r&   r   r   r   r   rE   5   s$   
 rE   c                   @   sN  e Zd ZU eed< dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee ed	< dZee
 ed
< dZee
 ed< dZee
 ed< dZee ed< dZee
 ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee
 ed< dZee ed< dZeeeef  ed< dS )VideoGenerationsRequestr)   Ninput_referencereference_urlr*      rN   rL   r1   fps
num_framesr:   r;   r<   r=   r7   r8   guidance_scale_2r9   r>   FrB   r?   r@   rA   output_pathrC   )r   r   r   r   r   rU   r   rV   r*   rN   r   r1   rX   rY   r;   r=   r7   r8   r'   rZ   r9   r>   rB   rD   r@   rA   r[   rC   r   r   r   r   r   r   rT   I   s,   
 rT   c                   @   s&   e Zd ZU ee ed< dZeed< dS )VideoListResponser$   listrG   N)r   r   r   r   rE   r   rG   r   r   r   r   r   r\   c   s   
 r\   c                   @   s   e Zd ZU eed< dS )VideoRemixRequestr)   N)r   r   r   r   r   r   r   r   r   r^   h   s   
 r^   c                   @   sR   e Zd ZU edddZeeeee f  e	d< edddZ
ee e	d< dd ZdS )BaseReqNT)r?   kw_onlyridhttp_worker_ipcc                 C   s>   t | jtrdd tt| jD | _| jS t j| _| jS )z(Generate a new request ID and return it.c                 S   s   g | ]}t  jqS r   )uuiduuid4hex).0_r   r   r   
<listcomp>t   s    z*BaseReq.regenerate_rid.<locals>.<listcomp>)
isinstancera   r]   rangelenrc   rd   re   )selfr   r   r   regenerate_ridq   s
   zBaseReq.regenerate_rid)r   r   r   r   ra   r   r	   r   r   r   rb   rm   r   r   r   r   r_   l   s   
 $r_   c                   @   s*   e Zd ZU ee ed< dZee ed< dS )VertexGenerateReqInput	instancesN
parameters)r   r   r   r   dictr   rp   r   r   r   r   r   rn   z   s   
 rn   )r   rc   abcr   dataclassesr   r   typingr   r   r   r   r	   pydanticr
   r   r   r   r(   rE   rT   r\   r^   r_   rn   r   r   r   r   <module>   s"    