o
    i                     @   s   d dl mZ d dl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
eZG dd de
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 )    )Enum)Optional)	BaseModelFieldc                   @   s6   e Zd ZU edddZeed< edddZeed< dS )MinimaxBaseResponse.z?Status code. 0 indicates success, other values indicate errors.descriptionstatus_codez*Specific error details or success message.
status_msgN)	__name__
__module____qualname__r   r	   int__annotations__r
   str r   r   :/mnt/c/Users/fbmor/ComfyUI/comfy_api_nodes/apis/minimax.pyr      s   
 r   c                   @   s   e Zd ZU 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 )FileNzFile size in bytesr   bytesz4Unix timestamp when the file was created, in seconds
created_atzThe URL to download the videodownload_urlz$The backup URL to download the videobackup_download_urlzUnique identifier for the filefile_idzThe name of the filefilenamezThe purpose of using the filepurpose)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU eed< eed< dS )MinimaxFileRetrieveResponse	base_respfileN)r   r   r   r   r   r   r   r   r   r   r   "   s   
 r   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	MiniMaxModelzT2V-01-DirectorzI2V-01-DirectorzS2V-01zI2V-01zI2V-01-livezT2V-01zMiniMax-Hailuo-02N)
r   r   r   T2V_01_DirectorI2V_01_DirectorS2V_01I2V_01I2V_01_liveT2V_01	Hailuo_02r   r   r   r   r   '   s    r   c                   @   s    e Zd ZdZdZdZdZdZdS )Status6Queueing	Preparing
ProcessingSuccessFailN)r   r   r   r'   r(   r)   r*   r+   r   r   r   r   r&   1   s    r&   c                   @   sV   e Zd ZU 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 )MinimaxTaskResultResponser   NznAfter the task status changes to Success, this field returns the file ID corresponding to the generated video.r   r   .zTask status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed).statuszThe task ID being queried.task_id)r   r   r   r   r   r   r   r   r   r-   r&   r.   r   r   r   r   r,   9   s   
 r,   c                   @   s>   e Zd ZU edddZee ed< edddZee ed< dS )SubjectReferenceItemNz6URL or base64 encoding of the subject reference image.r   imagezCURL or base64 encoding of the mask for the subject reference image.mask)	r   r   r   r   r0   r   r   r   r1   r   r   r   r   r/   F   s   
 r/   c                   @   s   e Zd ZU 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d	< ed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  ed< edddZee ed< edddZee ed< dS )MinimaxVideoGenerationRequestNzROptional. URL to receive real-time status updates about the video generation task.r   callback_urlzpURL or base64 encoding of the first frame image. Required when model is I2V-01, I2V-01-Director, or I2V-01-live.first_frame_image.zeRequired. ID of model. Options: T2V-01-Director, I2V-01-Director, S2V-01, I2V-01, I2V-01-live, T2V-01modelzsDescription of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets].i  )r   
max_lengthpromptTzkIf true (default), the model will automatically optimize the prompt. Set to false for more precise control.prompt_optimizerzzOnly available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter.subject_referencez*The length of the output video in seconds.durationztThe dimensions of the video display. 1080p corresponds to 1920 x 1080 pixels, 768p corresponds to 1366 x 768 pixels.
resolution)r   r   r   r   r3   r   r   r   r4   r5   r   r7   r8   boolr9   listr/   r:   r   r;   r   r   r   r   r2   P   sD   
 r2   c                   @   s*   e Zd ZU eed< edddZeed< dS )MinimaxVideoGenerationResponser   .z7The task ID for the asynchronous video generation task.r   r.   N)r   r   r   r   r   r   r.   r   r   r   r   r   r>   t   s
   
 r>   N)enumr   typingr   pydanticr   r   r   r   r   r   r   r&   r,   r/   r2   r>   r   r   r   r   <module>   s    


$