o
    i[                    @  sN5  d dl mZ d dlmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZmZ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e ZG dd dee ZG dd de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%G d#d$ d$e&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e Z,G d/d0 d0ee Z-G d1d2 d2ee Z.G d3d4 d4ee Z/G d5d6 d6eZ0G d7d8 d8eZ1G d9d: d:e&eZ2G d;d< d<eZ3G d=d> d>e&eZ4G d?d@ d@eZ5G dAdB dBeZ6G dCdD dDeZ7G dEdF dFe&eZ8G dGdH dHe&eZ9G dIdJ dJeZ:G dKdL dLe&eZ;G dMdN dNe&eZ<G dOdP dPeZ=G dQdR dReZ>G dSdT dTeZ?G dUdV dVeZ@G dWdX dXe&eZAG dYdZ dZe&eZBG d[d\ d\eZCG d]d^ d^eZDG d_d` d`e&eZEG dadb dbeZFG dcdd ddeZGG dedf dfe&eZHG dgdh dhe&eZIG didj djeZJG dkdl dle&eZKG dmdn dneZLG dodp dpe&eZMG dqdr dre&eZNG dsdt dteZOG dudv dveZPG dwdx dxeZQG dydz dze&eZRG d{d| d|eZSG d}d~ d~eZTG dd de&eZUG dd deZVG dd de&eZWG dd de&eZXG dd deZYG dd de&eZZG dd deZ[G dd deZ\G dd deZ]G dd deZ^G dd deZ_G dd de&eZ`G dd deZaG dd de&eZbG dd de&eZcG dd de&eZdG dd deZeG dd deZfG dd deZgG dd deZhG dd deeefehf  ZiG dd deZjG dd deZkG dd deZlG dd deZmG dd dee& ZnG dd deZoG dd deZpG dd de&eZqG dd deZrG dd de&eZsG dd de&eZtG dd deZuG dd deZvG ddĄ deZwG ddƄ de&eZxG ddȄ de&eZyG ddʄ deZzG dd̄ de&eZ{G dd΄ de&eZ|G ddЄ de&eZ}G dd҄ deZ~G ddԄ de&eZG ddք deZG dd؄ de&eZG ddڄ de&eZG dd܄ deZG ddބ de&eZG dd de&eZG dd deZG dd de&eZG dd de&eZG dd de&eZG dd deZG dd de&eZG dd deZG dd de&eZG dd de&eZG dd de&eZG dd dee	e&  ZG dd deZG dd deZG dd deZG dd deZG dd  d e&eZG dd de&eZG dd deZG dd deZG dd de&eZG d	d
 d
e&eZG dd de&eZG dd de&eZG dd deZG dd deZG dd deZG dd de&eZG dd de&eZG dd de&eZG dd de&eZG dd de&eZG dd  d e&eZG d!d" d"ee ZG d#d$ d$e&eZG d%d& d&e&eZG d'd( d(e&eZG d)d* d*eZG d+d, d,e&eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6e&eZG d7d8 d8eZG d9d: d:e&eZG d;d< d<eZG d=d> d>eZG d?d@ d@e&eZG dAdB dBeZG dCdD dDe&eZG dEdF dFe&eZG dGdH dHe&eZG dIdJ dJeZG dKdL dLe&eZG dMdN dNeZG dOdP dPe&eZG dQdR dReZG dSdT dTeeeef  ZG dUdV dVeZG dWdX dXeZG dYdZ dZe&eZG d[d\ d\e&eZG d]d^ d^e&eZG d_d` d`e&eZG dadb dbeeee&f  ZG dcdd dde&eZG dedf dfeeee&f  ZG dgdh dheZG didj djeZG dkdl dleZG dmdn dneZG dodp dpe&eZG dqdr dreZG dsdt dte&eZG dudv dveZG dwdx dxeZG dydz dzeZG d{d| d|e&eZG d}d~ d~eZG dd de&eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd de&eZG dd deZG dd de&eZG dd deZG dd de&eZG dd deZG dd de&eZG dd de&eZG dd deZG dd de&eZG dd de&eZG dd de&eZG dd de&eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd de&eZG dd de&eZG dd deZG dd de&eZG dd de&eZG dd de&eZG dd deZG dÐdĄ de&eZG dŐdƄ de&eZG dǐdȄ de&eZG dɐdʄ deZG dːd̄ deZG d͐d΄ dee ZG dϐdЄ de&eZG dѐd҄ deZG dӐdԄ deZG dՐdք deZ G dאd؄ deeZG dِdڄ deZG dېd܄ de&eZG dݐdބ de&eZG dߐd deZG dd deZG dd de&eZG dd deZG dd deZ	G dd deeZ
G dd de&eZG dd de&eZG dd de&eZG dd de&eZG dd deZG dd de&eZG dd deZG dd deZG dd deZG dd de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&eZG dd deZG d	d
 d
e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&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&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&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&eZ+G d-d. d.e&eZ,G d/d0 d0e&eZ-G d1d2 d2eZ.G d3d4 d4e&eZ/G d5d6 d6eZ0G d7d8 d8e&eZ1G d9d: d:e&eZ2G d;d< d<eZ3G d=d> d>e&eZ4G d?d@ d@e&eZ5G dAdB dBe&eZ6G dCdD dDe&eZ7G dEdF dFe&eZ8G dGdH dHe&eZ9G dIdJ dJe&eZ:G dKdL dLeZ;G dMdN dNe&eZ<G dOdP dPe&eZ=G dQdR dReZ>G dSdT dTeZ?G dUdV dVe&eZ@G dWdX dXeZAG dYdZ dZe&eZBG d[d\ d\e&eZCG d]d^ d^e&eZDG d_d` d`e&eZEG dadb dbe&eZFG dcdd ddeZGG dedf dfeZHG dgdh dheZIG didj djeZJG dkdl dleZKG dmdn dneZLG dodp dpe&eZMG dqdr dre&eZNG dsdt dte&eZOG dudv dveZPG dwdx dxe&eZQG dydz dze&eZRG d{d| d|e&eZSG d}d~ d~eeZTG dd deZUG dd de&eZVG dd de&eZWG dd deZXG dd deee&e	eX f  ZYG dd de&eZZG dd deZ[G dd de&eZ\G dd de&eZ]G dd deZ^G dd deZ_G dd deZ`G dd de&eZaG dd deZbG dd dee ZcG dd deZdG dd dee& ZeG dd de&eZfG dd deZgG dd de&eZhG dd de&eZiG dd de&eZjG dd de&eZkG dd de&eZlG dd deZmG dd de&eZnG dd deZoG dd deZpG dd deZqG dd deZrG dd deZsG dd deZtG dd de&eZuG dd deZvG dÐdĄ deZwG dŐdƄ deZxG dǐdȄ deZyG dɐdʄ deZzG dːd̄ deZ{G d͐d΄ deZ|G dϐdЄ deZ}G dѐd҄ deZ~G dӐdԄ deZG dՐdք deZG dאd؄ deZG dِdڄ deZG dېd܄ deZG dݐdބ deZG dߐd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd dee& ZG dd dee& ZG dd dee& ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG dd deZG dd deZG dd deZG dd de&eZG d	d
 d
e&eZG dd de&eZG dd deZG dd de&eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd de&eZG dd  d eZG d!d" d"e&eZG d#d$ d$eZG d%d& d&e&eZG d'd( d(e&eZG d)d* d*eZG d+d, d,e&eZG d-d. d.eZG d/d0 d0e&eZG d1d2 d2eeZG d3d4 d4eZG d5d6 d6e&eZG d7d8 d8e&eZG d9d: d:e&eZG d;d< d<e&eZG d=d> d>e&eZG d?d@ d@e&eZG dAdB dBee ZG dCdD dDe&eZG dEdF dFe&eZG dGdH dHe&eZG dIdJ dJeeZG dKdL dLeZG dMdN dNeZG dOdP dPe&eZG dQdR dReZG dSdT dTe&eZG dUdV dVeZG dWdX dXe&eZG dYdZ dZe&eZG d[d\ d\e&eZG d]d^ d^e&eZG d_d` d`e&eZG dadb dbe&eZG dcdd dde&eZG dedf dfe&eZG dgdh dhe&eZG didj dje&eZG dkdl dle&eZG dmdn dne&eZG dodp dpeZG dqdr dreZG dsdt dteZG dudv dveZG dwdx dxeZG dydz dzeZG d{d| d|eZG d}d~ d~eZG dd deZG dd de&eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd de&eZG dd de&eZG dd deZG dd de&eZG dd de&eZG dd deZG dd de&eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZe֐ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dÐdĄ deZG dŐdƄ deZG dǐdȄ deZG dɐdʄ deZG dːd̄ deZG d͐d΄ deZG dϐdЄ deZG dѐd҄ deZG dӐdԄ deeeeef  Z G dՐdք dee	e   ZG dאd؄ deZG dِdڄ deZG dېd܄ deZG dݐdބ deZG dߐd deZG dd deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deeeef  ZG dd de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eeef  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/d0 d0eZ.G d1d2 d2ee	e.  Z/G d3d4 d4eZ0G d5d6 d6eZ1G d7d8 d8eZ2G d9d: d:eZ3G d;d< d<eZ4G d=d> d>eZ5G d?d@ d@eZ6G dAdB dBeZ7G dCdD dDeZ8G dEdF dFeZ9G dGdH dHeZ:G dIdJ dJeZ;G dKdL dLeeeAee>f  Z<G dMdN dNeeeFeLee=f  Z=G dOdP dPeZ>G dQdR dReZ?G dSdT dTeZ@G dUdV dVeZAG dWdX dXeZBG dYdZ dZeZCG d[d\ d\eZDG d]d^ d^eZEG d_d` d`eeeEe$eJe:eeOe#f  ZFG dadb dbeZGG dcdd ddeee$eJeOee:e#f  ZHG dedf dfeZIG dgdh dheZJG didj djeZKG dkdl dleZLG dmdn dneZMG dodp dpeZNG dqdr dreZOG dsdt dteZPG dudv dveZQG dwdx dxeZRG dydz dzeZSG d{d| d|eZTG d}d~ d~eee@eFf  ZUG dd deZVG dd deeOZWG dd de֐eOZXG dd deZYG dd deZZG dd deZ[G dd deZ\G dd deZ]G dd deeeZe\eYe[e]eLeMe1e2e;f
  Z^dS (      )annotations)datedatetime)Enum)AnyDictListLiteralOptionalUnion)UUID)AnyUrl	BaseModel
ConfigDictField	RootModelStrictBytesc                   @  J   e Zd ZU dZded< dZded< dZded< dZded< dZded< dS )	APIKeyNOptional[datetime]
created_atOptional[str]descriptionid
key_prefixname)	__name__
__module____qualname__r   __annotations__r   r   r   r    r    r    ;/mnt/c/Users/fbmor/ComfyUI/comfy_api_nodes/apis/__init__.pyr         
 r   c                   @  "   e Zd ZU edddZded< dS )APIKeyWithPlaintextNz,The full API key (only returned at creation)r   r   plaintext_key)r   r   r   r   r&   r   r    r    r    r!   r$         
 r$   c                   @  s^   e Zd ZU edddZded< edddZded< edd	dZded
< edddZded< dS )AuditLogNz'The date and time the event was createdr%   r   	createdAtzthe id of the eventr   event_idzthe type of the event
event_typezdata related to the eventOptional[Dict[str, Any]]params)	r   r   r   r   r)   r   r*   r+   r-   r    r    r    r!   r(      s   
 r(   c                   @  6   e Zd ZU edddZded< edddZded< dS )	BFLAsyncResponse.Idtitlestrr   zPolling Urlpolling_urlNr   r   r   r   r   r   r4   r    r    r    r!   r/   )      
 r/   c                   @  sJ   e Zd ZU edddZded< edddZded< edddZded	< d
S )BFLAsyncWebhookResponse.r0   r1   r3   r   StatusstatusWebhook Urlwebhook_urlN)r   r   r   r   r   r   r9   r;   r    r    r    r!   r7   .      
 r7   c                   @  (   e Zd ZU eddddddZded< d	S )
CannyHighThreshold.'High threshold for Canny edge detectionr     Canny High Thresholdr   geler2   introotNr   r   r   r   rF   r   r    r    r    r!   r>   4      
 r>   c                   @  r=   )
CannyLowThreshold.&Low threshold for Canny edge detectionr   r@   Canny Low ThresholdrB   rE   rF   NrG   r    r    r    r!   rI   >   rH   rI   c                   @  (   e Zd ZU eddddd dZded< dS )	Guidance.2Guidance strength for the image generation process      ?      Y@rB   floatrF   NrG   r    r    r    r!   rM   H   rH   rM   c                   @  rL   )	Steps.0Number of steps for the image generation process   2   rB   rE   rF   NrG   r    r    r    r!   rR   R   rH   rR   c                   @  $   e Zd ZU eddddZded< dS )
WebhookUrl.$URL to receive webhook notificationsr:   r   r2   r   rF   NrG   r    r    r    r!   rW   \   s   
 rW   c                   @  f   e Zd ZU edddddZded< edd	d
Zded< eddd
Zded< edddddZded< dS ) BFLFluxKontextMaxGenerateRequest   !The guidance scale for generationrO         4@r   rC   rD   Optional[float]guidance.!Base64 encoded image to be editedr%   r3   input_image4The text prompt describing what to edit on the imagepromptrU   Number of inference steps   Optional[int]stepsN	r   r   r   r   ra   r   rc   re   ri   r    r    r    r!   r[   b      
 r[   c                   @  r.   )	!BFLFluxKontextMaxGenerateResponse.Job ID for trackingr%   r3   r   URL to poll for resultsr4   Nr5   r    r    r    r!   rl   o   r6   rl   c                   @  rZ   ) BFLFluxKontextProGenerateRequestr\   r]   rO   r^   r_   r`   ra   .rb   r%   r3   rc   rd   re   rU   rf   rg   rh   ri   Nrj   r    r    r    r!   ro   t   rk   ro   c                   @  r.   )	!BFLFluxKontextProGenerateResponse.rm   r%   r3   r   rn   r4   Nr5   r    r    r    r!   rp      r6   rp   c                   @     e Zd ZdZdZdS )OutputFormatjpegpngNr   r   r   rs   rt   r    r    r    r!   rr          rr   c                   @  s   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< dS )BFLFluxPro11GenerateRequest.zHeight of the generated imager%   rE   heightNzOptional image promptr   image_promptzOutput image formatzOptional[OutputFormat]output_formatz)The main text prompt for image generationr3   re   z Whether to use prompt upsamplingOptional[bool]prompt_upsamplingzSafety tolerance levelrh   safety_tolerancezRandom seed for reproducibilityseedz,Optional webhook secret for async processingwebhook_secretz)Optional webhook URL for async processingr;   zWidth of the generated imagewidth)r   r   r   r   rx   r   ry   rz   re   r|   r}   r~   r   r;   r   r    r    r    r!   rw      s&   
 rw   c                   @  r.   )	BFLFluxPro11GenerateResponse.rm   r%   r3   r   rn   r4   Nr5   r    r    r    r!   r      r6   r   c                   @  rL   )	Bottom.5Number of pixels to expand at the bottom of the imager      rB   rE   rF   NrG   r    r    r    r!   r      rH   r   c                   @  r=   )
	Guidance2.rN   g      ?rP   rM   rB   rQ   rF   NrG   r    r    r    r!   r      rH   r   c                   @  rL   )	Left.8Number of pixels to expand on the left side of the imager   r   rB   rE   rF   NrG   r    r    r    r!   r      rH   r   c                   @  rL   )	Right.9Number of pixels to expand on the right side of the imager   r   rB   rE   rF   NrG   r    r    r    r!   r      rH   r   c                   @  s,   e Zd ZU edddgddddZded< d	S )
Steps2.rS   rU   rT   rR   r   examplesrC   rD   r2   rE   rF   NrG   r    r    r    r!   r      s   
 r   c                   @  rL   )	Top.2Number of pixels to expand at the top of the imager   r   rB   rE   rF   NrG   r    r    r    r!   r      rH   r   c                   @  s   e Zd ZU edddddZded< edd	d
ddZded< edddZded< edddddZded< edddddZ	ded< edddZ
ded< edddZded< eddd
ddZded < dS )!BFLFluxProGenerateRequestNz"The guidance scale for generation.rO   r^   r_   r`   guidance_scale.z$The height of the image to generate.@   r   rE   rx   z)The negative prompt for image generation.r%   r   negative_prompt!The number of images to generate.rg      rh   
num_imageszThe number of inference steps.d   num_inference_stepsz%The text prompt for image generation.r3   re   z#The seed value for reproducibility.r~   z#The width of the image to generate.r   )r   r   r   r   r   r   rx   r   r   r   re   r~   r   r    r    r    r!   r      s*   
 r   c                   @  r.   )	BFLFluxProGenerateResponse.z.The unique identifier for the generation task.r%   r3   r   z&URL to poll for the generation result.r4   Nr5   r    r    r    r!   r      r6   r   c                   @  rq   )BFLOutputFormatrs   rt   Nru   r    r    r    r!   r      rv   r   c                   @  J   e Zd ZU edddZded< edddZded< edd	dZded
< dS )BFLValidationError.Locationr1   List[Union[str, int]]locMessager3   msg
Error TypetypeNr   r   r   r   r   r   r   r   r    r    r    r!   r     r<   r   c                   @     e Zd ZdZdZdZdS )r8   success	not_founderrorN)r   r   r   r   r   r   r    r    r    r!   r8   	      r8   c                   @  "   e Zd ZU edddZded< dS )ClaimMyNodeRequest.z<GitHub token to verify if the user owns the repo of the noder%   r3   GH_TOKENN)r   r   r   r   r   r   r    r    r    r!   r     r'   r   c                   @  s   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< edddZ	d	ed< edddZ
ded< edddZded< edddZded< edddZded< edddZded< dS )	ComfyNodeNz>UI category where the node is listed, used for grouping nodes.r%   r   categoryzUnique identifier for the nodecomfy_node_namezKIndicates if the node is deprecated. Deprecated nodes are hidden in the UI.r{   
deprecatedz9Brief description of the node's functionality or purpose.r   zEIndicates if the node is experimental, subject to changes or removal.experimentalz5Name of the entry-point function to execute the node.functionzDefines input parametersinput_typesz3Boolean values indicating if each output is a list.zOptional[List[bool]]output_is_listz.Names of the outputs for clarity in workflows.return_namesz4Specifies the types of outputs produced by the node.return_types)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 dZded< dZded< dZded< dZded< dS )ComfyNodeCloudBuildInfoNr   build_idlocation
project_idproject_number)r   r   r   r   r   r   r   r   r    r    r    r!   r   7  
   
 r   c                   @  r   )Status1in_progress	completed
incompleteNr   r   r   r   r   r   r    r    r    r!   r   >  r   r   c                   @     e Zd ZdZdS )Typecomputer_callN)r   r   r   r   r    r    r    r!   r   D      r   c                   @  sf   e Zd ZU ded< edddZded< edddZded	< edd
dZded< edddZded< dS )ComputerToolCallDict[str, Any]action.zAAn identifier used when responding to the tool call with output.
r%   r3   call_idz#The unique ID of the computer call.r   wThe status of the item. One of `in_progress`, `completed`, or
`incomplete`. Populated when items are returned via API.
r   r9   z6The type of the computer call. Always `computer_call`.r   r   N)	r   r   r   r   r   r   r   r9   r   r    r    r    r!   r   H  s   
 r   c                   @      e Zd ZdZdZdZdZdZdS )EnvironmentwindowsmaclinuxubuntubrowserN)r   r   r   r   r   r   r   r   r    r    r    r!   r   X      r   c                   @  r   )Type1computer_use_previewN)r   r   r   r   r    r    r    r!   r   `  r   r   c                   @  s^   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< dS )ComputerUsePreviewTool.z#The height of the computer display.r%   rE   display_heightz"The width of the computer display.display_widthz,The type of computer environment to control.r   environmentzAThe type of the computer use tool. Always `computer_use_preview`.z!Literal['ComputerUsePreviewTool']r   N)	r   r   r   r   r   r   r   r   r   r    r    r    r!   r   d  s   
 r   c                   @  s"   e Zd ZU dZded< ded< dS )CreateAPIKeyRequestNr   r   r3   r   )r   r   r   r   r   r    r    r    r!   r   p  s   
 r   c                   @  s   e Zd ZU edddZded< edddZded< edd	dZd
ed< edddZded< edddZ	d
ed< edddZ
ded< edddZded< edddZded< edddZded< dS )CustomerNz&The date and time the user was createdr%   r   r)   zThe email address for this userr   emailzWhether the user has fundsr{   has_fund.zThe firebase UID of the userr3   r   zWhether the user is an adminis_adminzThe Metronome customer IDmetronome_idzThe name for this userr   zThe Stripe customer ID	stripe_idz+The date and time the user was last updated	updatedAt)r   r   r   r   r)   r   r   r   r   r   r   r   r   r   r    r    r    r!   r   u  s   
 r   c                   @  s^   e Zd ZU edddZded< edddZded< edd	dZd
ed< edddZded< dS )CustomerStorageResourceResponseNzFThe signed URL to use for downloading the file from the specified pathr%   r   download_urlz5Whether an existing file with the same hash was foundr{   existing_filezWhen the signed URL will expirer   
expires_atzBThe signed URL to use for uploading the file to the specified path
upload_url)	r   r   r   r   r   r   r   r   r   r    r    r    r!   r     s   
 r   c                   @     e Zd ZdZdZdZdZdS )Roleuser	assistantsystem	developerN)r   r   r   r   r   r   r   r    r    r    r!   r     
    r   c                   @  r   )Type2messageNr   r   r   r   r    r    r    r!   r     r   r   c                   @  6   e Zd ZU edddZded< edddZded< dS )	ErrorNzHOptional detailed information about the error or hints for resolving it.r%   Optional[List[str]]detailsz-A clear and concise description of the error.r   r   )r   r   r   r   r   r   r   r    r    r    r!   r        
 r   c                   @     e Zd ZU ded< ded< dS )ErrorResponser3   r   r   Nr   r   r   r   r    r    r    r!   r        
 r   c                   @  r   )Type3file_searchN)r   r   r   r   r    r    r    r!   r     r   r   c                   @  6   e Zd ZU edddZded< edddZded< d	S )
FileSearchTool.The type of toolr%   zLiteral['FileSearchTool']r   z!IDs of vector stores to search in	List[str]vector_store_idsN)r   r   r   r   r   r   r   r    r    r    r!   r     
   
 r   c                   @  s^   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< dS )ResultNzThe unique ID of the file.
r%   r   file_idzThe name of the file.
filenamez;The relevance score of the file - a value between 0 and 1.
r`   scorez+The text that was retrieved from the file.
text)	r   r   r   r   r  r   r  r  r  r    r    r    r!   r     s   
 r   c                   @  r   )Status2r   	searchingr   r   failedN)r   r   r   r   r  r   r   r  r    r    r    r!   r    r   r  c                   @  r   )Type4file_search_callN)r   r   r   r	  r    r    r    r!   r    r   r  c                   @  sr   e Zd ZU edddZded< edddZded< ed	d
dZded< edddZded< edddZ	ded< d	S )FileSearchToolCall.z,The unique ID of the file search tool call.
r%   r3   r   z&The queries used to search for files.
r   queriesNz*The results of the file search tool call.
zOptional[List[Result]]resultszgThe status of the file search tool call. One of `in_progress`, 
`searching`, `incomplete` or `failed`,
r  r9   zBThe type of the file search tool call. Always `file_search_call`.
r  r   )
r   r   r   r   r   r   r  r  r9   r   r    r    r    r!   r
    s    
 r
  c                   @  r   )Type5r   Nr   r   r   r   r    r    r    r!   r    r   r  c                   @  s^   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< dS )FunctionToolNz%Description of what the function doesr%   r   r   .zName of the functionr3   r   z5JSON Schema object describing the function parametersr   
parametersr   zLiteral['FunctionTool']r   )	r   r   r   r   r   r   r   r  r   r    r    r    r!   r    s   
 r  c                   @  r   )Status3r   r   r   Nr   r    r    r    r!   r    r   r  c                   @  r   )Type6function_callN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  s   e Zd ZU edddZded< edddZded< edd	dZd
ed< edddZded< edddZ	ded< edddZ
ded< dS )FunctionToolCall.z8A JSON string of the arguments to pass to the function.
r%   r3   	argumentsz@The unique ID of the function tool call generated by the model.
r   Nz)The unique ID of the function tool call.
r   r   z!The name of the function to run.
r   r   Optional[Status3]r9   z<The type of the function tool call. Always `function_call`.
r  r   )r   r   r   r   r  r   r   r   r   r9   r   r    r    r    r!   r    s&   
 r  c                   @  sb   e Zd ZU dZded< dZded< dZded< dZded	< dZded
< dZ	ded< dZ
ded< dS )GeminiCitationNr   authorsrh   endIndexr   licensezOptional[date]publicationDate
startIndexr2   uri)r   r   r   r  r   r  r  r  r  r2   r  r    r    r    r!   r    s   
 r  c                   @     e Zd ZU dZded< dS )GeminiCitationMetadataNzOptional[List[GeminiCitation]]	citations)r   r   r   r   r   r    r    r    r!   r       
 r  c                   @  rq   )Role1r   modelN)r   r   r   r   r#  r    r    r    r!   r"     rv   r"  c                   @  s6   e Zd ZU dZded< ded< edddZd	ed
< dS )GeminiFunctionDeclarationNr   r   r3   r   .z'JSON schema for the function parametersr%   r   r  )r   r   r   r   r   r   r  r    r    r    r!   r$  %  s   
 r$  c                   @  s   e Zd ZU edddgdddZded< edd	d
gdZded< dZded< edddddZded< edddgddZ	ded< edddddZ
ded< dS )GeminiGenerationConfigNzMaximum number of tokens that can be generated in the response. A token is approximately 4 characters. 100 tokens correspond to roughly 60-80 words.
r      i    r   r   rC   rD   rh   maxOutputTokensa  When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. Available for the following models:, gemini-2.5-flash-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001
r   r   r~   r   stopSequencesrg   a  The temperature is used for sampling during response generation, which occurs when topP and topK are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of 0 means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible. If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature
               @r_   r`   temperature(   a  Top-K changes how the model selects tokens for output. A top-K of 1 means the next selected token is the most probable among all tokens in the model's vocabulary. A top-K of 3 means that the next token is selected from among the 3 most probable tokens by using temperature.
)r   r   rC   topKgffffff?a  If specified, nucleus sampling is used.
Top-P changes how the model selects tokens for output. Tokens are selected from the most (see top-K) to least probable until the sum of their probabilities equals the top-P value. For example, if tokens A, B, and C have a probability of 0.3, 0.2, and 0.1 and the top-P value is 0.5, then the model will select either A or B as the next token by using temperature and excludes C as a candidate.
Specify a lower value for less random responses and a higher value for more random responses.
rO   topP)r   r   r   r   r(  r   r~   r+  r.  r0  r1  r    r    r    r!   r%  -  s@   
 r%  c                   @  L   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdS )GeminiMimeTypezapplication/pdfz
audio/mpegz	audio/mp3z	audio/wav	image/png
image/jpegz
image/webpz
text/plainz	video/movz
video/mpegz	video/mp4z	video/mpgz	video/aviz	video/wmvzvideo/mpegpsz	video/flvN)r   r   r   application_pdf
audio_mpeg	audio_mp3	audio_wav	image_png
image_jpeg
image_webp
text_plain	video_mov
video_mpeg	video_mp4	video_mpg	video_avi	video_wmvvideo_mpegps	video_flvr    r    r    r!   r3  O  "    r3  c                   @  sF   e Zd ZU edddgdddZded< eddd	gd
ddZded< dS )GeminiOffsetNzSigned fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values.
r   iɚ;r'  rh   nanoszaSigned seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
<   l s%l    s%seconds)r   r   r   r   rH  r   rJ  r    r    r    r!   rG  b  s   
 rG  c                   @  r   )GeminiSafetyCategoryHARM_CATEGORY_SEXUALLY_EXPLICITHARM_CATEGORY_HATE_SPEECHHARM_CATEGORY_HARASSMENTHARM_CATEGORY_DANGEROUS_CONTENTN)r   r   r   rL  rM  rN  rO  r    r    r    r!   rK  s  r   rK  c                   @  r   )Probability
NEGLIGIBLELOWMEDIUMHIGHUNKNOWNN)r   r   r   rQ  rR  rS  rT  rU  r    r    r    r!   rP  z  r   rP  c                   @  .   e Zd ZU dZded< edddZded< dS )GeminiSafetyRatingNzOptional[GeminiSafetyCategory]r   zGThe probability that the content violates the specified safety categoryr%   zOptional[Probability]probability)r   r   r   r   r   r   rX  r    r    r    r!   rW    s   
 rW  c                   @  r   )GeminiSafetyThresholdOFF
BLOCK_NONEBLOCK_LOW_AND_ABOVEBLOCK_MEDIUM_AND_ABOVEBLOCK_ONLY_HIGHN)r   r   r   rZ  r[  r\  r]  r^  r    r    r    r!   rY    r   rY  c                   @  s&   e Zd ZU edddgdZded< dS )GeminiTextPartNA text prompt or code snippet.zAnswer as concisely as possibler*  r   r  )r   r   r   r   r  r   r    r    r    r!   r_       
 r_  c                   @  r  )
GeminiToolNz)Optional[List[GeminiFunctionDeclaration]]functionDeclarations)r   r   r   rc  r   r    r    r    r!   rb    r!  rb  c                   @  &   e Zd ZU dZded< dZded< dS )GeminiVideoMetadataNzOptional[GeminiOffset]	endOffsetstartOffset)r   r   r   rf  r   rg  r    r    r    r!   re       
 re  c                   @  s   e Zd ZU edddZded< edddZded< edddZded	< edd
dZded< edddZ	ded< edddZ
ded< dS )GitCommitSummaryNThe author of the commitr%   r   authorz$The branch where the commit was madebranch_nameThe hash of the commitcommit_hashzThe name of the commitcommit_namez)A map of operating system to status pairszOptional[Dict[str, str]]status_summaryz&The timestamp when the commit was mader   	timestamp)r   r   r   r   rk  r   rl  rn  ro  rp  rq  r    r    r    r!   ri    s   
 ri  c                   @  s   e Zd ZU edddZded< edddZded< ed	d
dZded< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< ed	ddZded< d	S )GithubEnterprise.zURL to the enterprise avatarr%   r3   
avatar_urlzWhen the enterprise was createdr   r   NzThe enterprise descriptionr   r   zThe HTML URL of the enterprisehtml_urlzThe enterprise IDrE   r   zThe enterprise namer   zThe enterprise node IDnode_idzThe enterprise slugslugz$When the enterprise was last updated
updated_atzThe enterprise website URLwebsite_url)r   r   r   r   rs  r   r   r   rt  r   r   ru  rv  rw  rx  r    r    r    r!   rr    s   
 rr  c                   @  rq   )RepositorySelectionselectedallN)r   r   r   rz  r{  r    r    r    r!   ry    rv   ry  c                   @  s   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< edddZded< edddZded< dS )GithubOrganization.z URL to the organization's avatarr%   r3   rs  NzThe organization descriptionr   r   z(The API URL of the organization's events
events_urlz'The API URL of the organization's hooks	hooks_urlzThe organization IDrE   r   z(The API URL of the organization's issues
issues_urlzThe organization's login nameloginz)The API URL of the organization's membersmembers_urlzThe organization node IDru  z0The API URL of the organization's public memberspublic_members_urlz.The API URL of the organization's repositories	repos_urlzThe API URL of the organizationurl)r   r   r   r   rs  r   r   r}  r~  r   r  r  r  ru  r  r  r  r    r    r    r!   r|    s&   
 r|  c                   @  rq   )StateuploadedopenN)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  (   e Zd ZdZdZdZdZdZdZdZ	dS )	Action	publishedunpublishedcreatedediteddeletedprereleasedreleasedN)
r   r   r   r  r  r  r  r  r  r  r    r    r    r!   r        r  c                   @  r   )Type7BotUserOrganizationN)r   r   r   r  r  r  r    r    r    r!   r    r   r  c                   @  s   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< dS )
GithubUser.zURL to the user's avatarr%   r3   rs  NzThe user's gravatar IDr   gravatar_idzThe HTML URL of the userrt  zThe user's IDrE   r   zThe user's login namer  zThe user's node IDru  z Whether the user is a site adminbool
site_adminzThe type of userr  r   zThe API URL of the userr  )r   r   r   r   rs  r   r  rt  r   r  ru  r  r   r  r    r    r    r!   r    s   
 r  c                   @  r   )IdeogramColorPalette1.z Name of the preset color paletter%   r3   r   Nr   r   r   r   r   r   r    r    r    r!   r       
 r  c                   @  s<   e Zd ZU eddddZded< edddd	d
Zded< dS )MemberNzHexadecimal color codez^#[0-9A-Fa-f]{6}$)r   patternr   colorz#Optional weight for the color (0-1)r,  rO   r_   r`   weight)r   r   r   r   r  r   r  r    r    r    r!   r     s   
 r  c                   @  r   )IdeogramColorPalette2.z0Array of color definitions with optional weightsr%   zList[Member]membersN)r   r   r   r   r  r   r    r    r    r!   r  	  r'   r  c                   @  r   )IdeogramColorPalette.zjA color palette specification that can either use a preset name or explicit color definitions with weightsr%   z3Union[IdeogramColorPalette1, IdeogramColorPalette2]rF   NrG   r    r    r    r!   r    
   
 r  c                   @  s   e Zd ZU edddZded< edddZded< edd	dZded
< edddZded< edddZ	ded< edddddZ
ded< edddZded< edddZded< edddddZded< edddZded < dS )!ImageRequestNzOptional. The aspect ratio (e.g., 'ASPECT_16_9', 'ASPECT_1_1'). Cannot be used with resolution. Defaults to 'ASPECT_1_1' if unspecified.r%   r   aspect_ratioz8Optional. Color palette object. Only for V_2, V_2_TURBO.r,   color_palettez2Optional. MagicPrompt usage ('AUTO', 'ON', 'OFF').magic_prompt_option.z*The model used (e.g., 'V_2', 'V_2A_TURBO')r3   r#  zROptional. Description of what to exclude. Only for V_1, V_1_TURBO, V_2, V_2_TURBO.r   rg   z<Optional. Number of images to generate (1-8). Defaults to 1.   r_   rh   r   z2Required. The prompt to use to generate the image.re   zjOptional. Resolution (e.g., 'RESOLUTION_1024_1024'). Only for model V_2. Cannot be used with aspect_ratio.
resolutionz,Optional. A number between 0 and 2147483647.r   r~   zuOptional. Style type ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). Only for models V_2 and above.
style_type)r   r   r   r   r  r   r  r  r#  r   r   re   r  r~   r  r    r    r    r!   r    sN   
 r  c                   @  r   )IdeogramGenerateRequest.z(The image generation request parameters.r%   r  image_requestN)r   r   r   r   r  r   r    r    r    r!   r  A  r'   r  c                   @  s   e Zd ZU edddZded< edddZded< edd	dZded
< edddZded< edddZ	ded< edddZ
ded< dS )DatumNz/Indicates whether the image is considered safe.r%   r{   is_image_safez'The prompt used to generate this image.r   re   z:The resolution of the generated image (e.g., '1024x1024').r  z(The seed value used for this generation.rh   r~   z@The style type used for generation (e.g., 'REALISTIC', 'ANIME').r  zURL to the generated image.r  )r   r   r   r   r  r   re   r  r~   r  r  r    r    r    r!   r  G  s$   
 r  c                   @  r   )	IdeogramGenerateResponseNz*Timestamp when the generation was created.r%   r   r  z%Array of generated image information.zOptional[List[Datum]]data)r   r   r   r   r  r   r  r    r    r    r!   r  [     
 r  c                   @  r   )	StyleCode.z^[0-9A-Fa-f]{8}$)r  r3   rF   NrG   r    r    r    r!   r  d  r  r  c                   @  sV   e Zd ZU dZded< dZded< dZded< dZded< dZded	< dZ	ded
< dS )Datum1Nr{   r  r   re   r  rh   r~   r  r  )
r   r   r   r  r   re   r  r~   r  r  r    r    r    r!   r  h     
 r  c                   @  &   e Zd ZU dZded< dZded< dS )IdeogramV3IdeogramResponseNr   r  zOptional[List[Datum1]]r  )r   r   r   r  r   r  r    r    r    r!   r  q  rh  r  c                   @  r   )RenderingSpeed1TURBODEFAULTQUALITYN)r   r   r   r  r  r  r    r    r    r!   r  v  r   r  c                   @  s~   e Zd ZU dZded< dZded< eddddZd	ed
< dZded< ded< eddddZ	d	ed< dZ
ded< dZded< dS )IdeogramV3ReframeRequestNr,   r  Optional[StrictBytes]imagerg   r  rC   rD   rh   r   Optional[RenderingSpeed1]rendering_speedr3   r  r   r  r~   r   style_codesOptional[List[StrictBytes]]style_reference_images)r   r   r   r  r   r  r   r   r  r~   r  r  r    r    r    r!   r  |  s   
 r  c                   @  r   )MagicPromptAUTOONrZ  N)r   r   r   r  r  rZ  r    r    r    r!   r    r   r  c                   @  r   )	StyleTyper  GENERAL	REALISTICDESIGNN)r   r   r   r  r  r  r  r    r    r    r!   r    r   r  c                   @  s   e Zd ZU dZded< dZded< dZded< edd	d
dZded< dZ	ded< dZ
ded< edd	ddZded< ded< dZded< dZded< eddddZded< dZded< dZded< dZded < dS )!IdeogramV3RemixRequestNr   r  r,   r  r  r  rU   rg   r   r  rh   image_weightOptional[MagicPrompt]magic_promptr   r  r   r3   re   r  r  r  r   r  r~   r   r  r  r  zOptional[StyleType]r  )r   r   r   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 dZded< dZded< dZded< eddd	d
Zded< ded< dZ	ded< edddd
Z
ded< dZded< dZded< dS )"IdeogramV3ReplaceBackgroundRequestNr,   r  r  r  r  r  rg   r  r  rh   r   r3   re   r  r  r   r  r~   r   r  r  r  )r   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ddgdZded< dS )ColorPalette.zName of the color palettePASTELr*  r3   r   Nr  r    r    r    r!   r    s   
 r  c                   @  rq   )MagicPrompt2r  rZ  N)r   r   r   r  rZ  r    r    r    r!   r    rv   r  c                   @  r   )
StyleType1r  r  r  r  FICTIONN)r   r   r   r  r  r  r  r  r    r    r    r!   r    r   r  c                   @  r   )ImagenImageGenerationInstance. Text prompt for image generationr%   r3   re   N)r   r   r   r   re   r   r    r    r    r!   r    r  r  c                   @  r   )AspectRatio1:19:1616:93:44:3N)r   r   r   	field_1_1
field_9_16
field_16_9	field_3_4	field_4_3r    r    r    r!   r    r   r  c                   @  r   )PersonGeneration
dont_allowallow_adult	allow_allN)r   r   r   r  r  r  r    r    r    r!   r    r   r  c                   @  r   )SafetySetting
block_most
block_some	block_fewblock_fewestN)r   r   r   r  r  r  r  r    r    r    r!   r    r   r  c                   @  J   e Zd ZU edddZded< edddZded< edddZded	< dS )
ImagenImagePredictionNzBase64-encoded image contentr%   r   bytesBase64Encodedz MIME type of the generated imagemimeTypez8Enhanced or rewritten prompt used to generate this imagere   )r   r   r   r   r  r   r  re   r    r    r    r!   r    s   
 r  c                   @  rq   )MimeTyper4  r5  N)r   r   r   r:  r;  r    r    r    r!   r    rv   r  c                   @  s0   e Zd ZU eddddZded< dZded< dS )	ImagenOutputOptionsNr   r   r  rh   compressionQualityzOptional[MimeType]r  )r   r   r   r   r  r   r  r    r    r    r!   r    s   
 r  c                   @  r   )
Includablezfile_search_call.resultszmessage.input_image.image_urlz%computer_call_output.output.image_urlN)r   r   r   file_search_call_resultsmessage_input_image_image_url%computer_call_output_output_image_urlr    r    r    r!   r    r   r  c                   @  r   )Type8
input_fileN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  s^   e Zd ZU edddZded< edddZded< edddZded	< ed
ddZded< dS )InputFileContentNz1The content of the file to be sent to the model.
r%   r   	file_data+The ID of the file to be sent to the model.r  z-The name of the file to be sent to the model.r  .z0The type of the input item. Always `input_file`.r  r   )	r   r   r   r   r  r   r  r  r   r    r    r    r!   r    s   
 r  c                   @  r   )DetaillowhighautoN)r   r   r   r  r   r  r    r    r    r!   r  
  r   r  c                   @  r   )Type9rc   N)r   r   r   rc   r    r    r    r!   r    r   r  c                   @  s^   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< dS )InputImageContent.zkThe detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`.r%   r  detailNr  r   r  zjThe URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.	image_urlz1The type of the input item. Always `input_image`.r  r   )	r   r   r   r   r  r   r  r  r   r    r    r    r!   r    s   
 r  c                   @  r   )Role3r   r   r   N)r   r   r   r   r   r   r    r    r    r!   r  %  r   r  c                   @  r   )Type10r   Nr   r    r    r    r!   r  +  r   r  c                   @  r   )Type11
input_textN)r   r   r   r	  r    r    r    r!   r  /  r   r  c                   @  r   )
InputTextContent.zThe text input to the model.r%   r3   r  z0The type of the input item. Always `input_text`.r  r   Nr   r   r   r   r  r   r   r    r    r    r!   r
  3  r   r
  c                   @  rq   )KlingAudioUploadTypefiler  N)r   r   r   r  r  r    r    r    r!   r  :  rv   r  c                   @  s   e Zd ZU edddddZded< edddddZded	< edd
dddZded< edddddZded< edddddZ	ded< edddddZ
ded< dS )KlingCameraConfigNzmControls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right.g      $      $@r_   r`   
horizontalzControls camera's rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation.panzmControls camera's rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise.rollz}Controls camera's rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation.tiltzpControls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward.verticalz|Controls change in camera's focal length. Negative indicates narrower field of view, positive indicates wider field of view.zoom)r   r   r   r   r  r   r  r  r  r  r  r    r    r    r!   r  ?  sJ   
 r  c                   @  r   )KlingCameraControlTypesimple	down_back
forward_upright_turn_forwardleft_turn_forwardN)r   r   r   r  r  r  r  r  r    r    r    r!   r  f  r   r  c                   @  r   )KlingCharacterEffectModelNamekling-v1
kling-v1-5
kling-v1-6N)r   r   r   kling_v1
kling_v1_5
kling_v1_6r    r    r    r!   r  n  r   r  c                   @  r   )KlingDualCharacterEffectsScenehugkissheart_gestureN)r   r   r   r$  r%  r&  r    r    r    r!   r#  t  r   r#  c                   @  $   e Zd ZU eddddZded< dS )KlingDualCharacterImages.   
max_length
min_lengthr   rF   NrG   r    r    r    r!   r(  z     
 r(  c                   @  r   )KlingErrorResponse.a  - 1000: Authentication failed
- 1001: Authorization is empty
- 1002: Authorization is invalid
- 1003: Authorization is not yet valid
- 1004: Authorization has expired
- 1100: Account exception
- 1101: Account in arrears (postpaid scenario)
- 1102: Resource pack depleted or expired (prepaid scenario)
- 1103: Unauthorized access to requested resource
- 1200: Invalid request parameters
- 1201: Invalid parameters
- 1202: Invalid request method
- 1203: Requested resource does not exist
- 1300: Trigger platform strategy
- 1301: Trigger content security policy
- 1302: API request too frequent
- 1303: Concurrency/QPS exceeds limit
- 1304: Trigger IP whitelist policy
- 5000: Internal server error
- 5001: Service temporarily unavailable
- 5002: Server internal timeout
r%   rE   codezHuman-readable error messager3   r   z+Request ID for tracking and troubleshooting
request_idN)r   r   r   r   r/  r   r   r0  r    r    r    r!   r.  ~  s   
 r.  c                   @  6   e Zd ZU edddZded< edddZded< dS )
TrajectoryNzdThe horizontal coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0).r%   rh   xzbThe vertical coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0).y)r   r   r   r   r3  r   r4  r    r    r    r!   r2       
 r2  c                   @  .   e Zd ZU edddZded< dZded< dS )DynamicMaskNzDynamic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image.r%   Optional[AnyUrl]maskzOptional[List[Trajectory]]trajectories)r   r   r   r   r9  r   r:  r    r    r    r!   r7       
 r7  c                   @  r  )TaskInfoNr   external_task_id)r   r   r   r=  r   r    r    r    r!   r<    r!  r<  c                   @  ,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
KlingImageGenAspectRatior  r  r  r  r  3:22:321:9N)r   r   r   r  r  r  r  r  	field_3_2	field_2_3
field_21_9r    r    r    r!   r?        r?  c                   @  rq   )KlingImageGenImageReferenceTypesubjectfaceN)r   r   r   rH  rI  r    r    r    r!   rG    rv   rG  c                   @  s   e Zd ZU dZded< edddZded< ed	d
dddZded< edddZded< edddddZ	ded< dZ
ded< edZded< edddddZded< edd d!d"Zded#< edd$d%d"Zded&< dS )'KlingImageGenerationsRequestr  z"Optional[KlingImageGenAspectRatio]r  N!The callback notification addressr%   r8  callback_urlg?zSubject reference similarityr,  rO   r_   r`   human_fidelityz4Reference Image - Base64 encoded string or image URLr   r        ?z,Reference intensity for user-uploaded imagesimage_fidelityz)Optional[KlingImageGenImageReferenceType]image_reference.r3   
model_namerg   zNumber of generated images	   rh   nNegative text prompt   r   r+  r   Positive text promptr@   re   )r   r   r   r  r   r   rL  rM  r  rO  rP  rQ  rS  r   re   r    r    r    r!   rJ    s*   
 rJ  c                   @  r   )	KlingImageResultNzImage Number (0-9)r%   rh   indexzURL for generated imager8  r  )r   r   r   r   rY  r   r  r    r    r    r!   rX    r6   rX  c                   @  rq   )KlingLipSyncMode
text2videoaudio2videoN)r   r   r   r[  r\  r    r    r    r!   rZ    rv   rZ  c                   @  rq   )KlingLipSyncVoiceLanguagezhenN)r   r   r   r^  r_  r    r    r    r!   r]    rv   r]  c                   @  rq   )ResourcePackTypedecreasing_totalconstant_periodN)r   r   r   ra  rb  r    r    r    r!   r`    rv   r`  c                   @  r   )Status5
toBeOnlineonlineexpiredrunOutN)r   r   r   rd  re  rf  rg  r    r    r    r!   rc    r   rc  c                   @  s   e Zd ZU edddZded< edddZded< edddZded	< edd
dZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< dS )ResourcePackSubscribeInfoNz$Effective time, Unix timestamp in msr%   rh   effective_timez%Expiration time, Unix timestamp in msinvalid_timez#Purchase time, Unix timestamp in mspurchase_timez1Remaining quantity (updated with a 12-hour delay)r`   remaining_quantityzResource package IDr   resource_pack_idzResource package nameresource_pack_namez_Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity)zOptional[ResourcePackType]resource_pack_typezResource Package StatuszOptional[Status5]r9   zTotal quantitytotal_quantity)r   r   r   r   ri  r   rj  rk  rl  rm  rn  ro  r9   rp  r    r    r    r!   rh    s*   
 rh  c                   @  sJ   e Zd ZU edddZded< edddZded< edd	dZd
ed< dS )Data3NError code; 0 indicates successr%   rh   r/  Error informationr   r   zResource package listz)Optional[List[ResourcePackSubscribeInfo]]resource_pack_subscribe_infos)r   r   r   r   r/  r   r   rt  r    r    r    r!   rq    s   
 rq  c                   @  V   e Zd ZU edddZded< dZded< edddZd	ed
< edddZd	ed< dS )KlingResourcePackageResponseNrr  r%   rh   r/  zOptional[Data3]r  rs  r   r   zURequest ID, generated by the system, used to track requests and troubleshoot problemsr0  	r   r   r   r   r/  r   r  r   r0  r    r    r    r!   rv    s   
 rv  c                   @  r   )KlingSingleImageEffectDuration5N)r   r   r   field_5r    r    r    r!   rx    r   rx  c                   @  r   )KlingSingleImageEffectModelNamer  N)r   r   r   r"  r    r    r    r!   r{    r   r{  c                   @  r   )KlingSingleImageEffectsScene
bloombloom
dizzydizzy
fuzzyfuzzysquish	expansionN)r   r   r   r}  r~  r  r  r  r    r    r    r!   r|    r   r|  c                   @  r   )KlingTaskStatus	submitted
processingsucceedr  N)r   r   r   r  r  r  r  r    r    r    r!   r    r   r  c                   @  r   )KlingTextToVideoModelNamer  r  kling-v2-1-masterkling-v2-5-turboN)r   r   r   r   r"  kling_v2_1_masterkling_v2_5_turbor    r    r    r!   r  "  r   r  c                   @  r   )KlingVideoGenAspectRatior  r  r  N)r   r   r   r  r  r  r    r    r    r!   r  )  r   r  c                   @  &   e Zd ZU edddddZded< dS )	KlingVideoGenCfgScale.zFlexibility in video generation. The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt.r,  rO   r_   rQ   rF   NrG   r    r    r    r!   r  /     
 r  c                   @  rq   )KlingVideoGenDurationry  10N)r   r   r   rz  field_10r    r    r    r!   r  8  rv   r  c                   @  rq   )KlingVideoGenModestdproN)r   r   r   r  r  r    r    r    r!   r  =  rv   r  c                   @  r  )	KlingVideoGenModelNamer  r  r  kling-v2-masterz
kling-v2-1r  r  N)
r   r   r   r   r!  r"  kling_v2_master
kling_v2_1r  r  r    r    r    r!   r  B  r  r  c                   @  sJ   e Zd ZU edddZded< edddZded< edddZd	ed
< dS )KlingVideoResultNzTotal video durationr%   r   durationzGenerated video IDr   zURL for generated videor8  r  )r   r   r   r   r  r   r   r  r    r    r    r!   r  L  r<   r  c                   @  rq   )KlingVirtualTryOnModelNamekolors-virtual-try-on-v1zkolors-virtual-try-on-v1-5N)r   r   r   kolors_virtual_try_on_v1kolors_virtual_try_on_v1_5r    r    r    r!   r  R  rv   r  c                   @  sV   e Zd ZU edddZded< edddZded< ed	d
dZded< dZded< dS )KlingVirtualTryOnRequestNrK  r%   r8  rL  z=Reference clothing image - Base64 encoded string or image URLr   cloth_image.z:Reference human image - Base64 encoded string or image URLr3   human_imager  z$Optional[KlingVirtualTryOnModelName]rQ  )	r   r   r   r   rL  r   r  r  rQ  r    r    r    r!   r  W  s   
 r  c                   @  r  )TaskResult6N Optional[List[KlingImageResult]]imagesr   r   r   r  r   r    r    r    r!   r  e  r!  r  c                   @  v   e Zd ZU edddZded< edddZded< dZd	ed
< dZded< edddZ	ded< edddZ
ded< dS )Data7NTask creation timer%   rh   r   Task IDr   task_idzOptional[TaskResult6]task_resultOptional[KlingTaskStatus]task_statusTask status informationtask_status_msgTask update timerw  r   r   r   r   r   r   r  r  r  r  rw  r    r    r    r!   r  i     
 r  c                   @  ru  )KlingVirtualTryOnResponseN
Error coder%   rh   r/  zOptional[Data7]r  Error messager   r   
Request IDr0  rw  r    r    r    r!   r  r  
   
 r  c                   @  r  )	LumaAspectRatior  r  r  r  r  rB  9:21N)
r   r   r   r  r  r  r  r  rE  
field_9_21r    r    r    r!   r  y  r  r  c                   @  r  )

LumaAssetsNThe URL of the imager%   r8  r  zThe URL of the progress videoprogress_videozThe URL of the videovideo)r   r   r   r   r  r   r  r  r    r    r    r!   r       
 r  c                   @  r   )GenerationType	add_audioN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  sV   e Zd ZU edddZded< dZded< edd	dZd
ed< edddZd
ed< dS )LumaAudioGenerationRequestNzThe callback URL for the audior%   r8  rL  r  zOptional[GenerationType]generation_typez The negative prompt of the audior   r   zThe prompt of the audiore   )	r   r   r   r   rL  r   r  r   re   r    r    r    r!   r    s   
 r  c                   @  r#   )	LumaErrorNzThe error messager%   r   r  r   r   r   r   r  r   r    r    r    r!   r    r  r  c                   @  r   )Type12
generationN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  s*   e Zd ZU edddZded< ded< dS )	LumaGenerationReference.The ID of the generationr%   r   r   zLiteral['generation']r   Nr   r   r   r   r   r   r    r    r    r!   r    s   
 r  c                   @  r   )GenerationType1r  N)r   r   r   r  r    r    r    r!   r    r   r  c                   @  rq   )LumaGenerationTyper  r  N)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  r   )GenerationType2r  Nr   r   r   r  r    r    r    r!   r    r   r  c                   @  r#   )LumaImageIdentityNzThe URLs of the image identityr%   zOptional[List[AnyUrl]]r  )r   r   r   r   r  r   r    r    r    r!   r    r'   r  c                   @  rq   )LumaImageModelphoton-1zphoton-flash-1N)r   r   r   photon_1photon_flash_1r    r    r    r!   r    rv   r  c                   @  r   )	LumaImageRefNThe URL of the image referencer%   r8  r  z!The weight of the image referencer`   r  r   r   r   r   r  r   r  r    r    r    r!   r    r   r  c                   @  r   )Type13r  Nr  r    r    r    r!   r    r   r  c                   @  *   e Zd ZU ded< edddZded< dS )	LumaImageReferencezLiteral['image']r   .r  r%   r   r  N)r   r   r   r   r   r  r    r    r    r!   r       
 r  c                   @  rV   )LumaKeyframe.zEA keyframe can be either a Generation reference, an Image, or a Videor   )r   discriminatorz2Union[LumaGenerationReference, LumaImageReference]rF   NrG   r    r    r    r!   r       
 r  c                   @  rd  )LumaKeyframesNzOptional[LumaKeyframe]frame0frame1)r   r   r   r  r   r  r    r    r    r!   r    rh  r  c                   @  r   )	LumaModifyImageRefNr  r%   r8  r  z(The weight of the modify image referencer`   r  r  r    r    r    r!   r    r   r  c                   @  r   )	LumaStatequeueddreamingr   r  N)r   r   r   r  r  r   r  r    r    r    r!   r    r   r  c                   @  r   )GenerationType3upscale_videoN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  r   )LumaVideoModelzray-2zray-flash-2zray-1-6N)r   r   r   ray_2ray_flash_2ray_1_6r    r    r    r!   r    r   r  c                   @  rq   )LumaVideoModelOutputDuration15s9sN)r   r   r   field_5sfield_9sr    r    r    r!   r    rv   r  c                   @     e Zd ZU ded< dS )LumaVideoModelOutputDurationz)Union[LumaVideoModelOutputDuration1, str]rF   Nr   r    r    r    r!   r       
 r  c                   @  r   )LumaVideoModelOutputResolution1540p720p1080p4kN)r   r   r   
field_540p
field_720pfield_1080pfield_4kr    r    r    r!   r    r   r  c                   @  r  )LumaVideoModelOutputResolutionz+Union[LumaVideoModelOutputResolution1, str]rF   Nr   r    r    r    r!   r    r  r  c                   @  s   e Zd ZU edddZded< edddZded< edddZded	< edd
dZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< edddZded< dS )MachineStatsNzTotal CPU on the machine.r%   r   cpu_capacityz#Total disk capacity on the machine.disk_capacityz"The GPU type. eg. NVIDIA Tesla K80gpu_typez,Initial CPU available before the job starts.initial_cpuz-Initial disk available before the job starts.initial_diskz,Initial RAM available before the job starts.initial_ramzName of the machine.machine_namezTotal memory on the machine.memory_capacityz4The operating system version. eg. Ubuntu Linux 20.04
os_versionzThe pip freeze output
pip_freezezTime series of VRAM usage.r,   vram_time_series)r   r   r   r   r  r   r  r   r  r  r  r  r  r  r  r  r    r    r    r!   r    s8   
 r  c                   @  r   )
MinimaxBaseResponse.z?Status code. 0 indicates success, other values indicate errors.r%   rE   status_codez*Specific error details or success message.r3   
status_msgN)r   r   r   r   r
  r   r  r    r    r    r!   r	  *  r   r	  c                   @  s   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< edddZ	d	ed< edddZ
d	ed< dS )FileNzFile size in bytesr%   rh   bytesz4Unix timestamp when the file was created, in secondsr   zThe URL to download the videor   r   zUnique identifier for the filer  zThe name of the filer  zThe purpose of using the filepurpose)r   r   r   r   r  r   r   r   r  r  r  r    r    r    r!   r  4  s   
 r  c                   @     e Zd ZU ded< ded< dS )MinimaxFileRetrieveResponser	  	base_respr  r  Nr   r    r    r    r!   r  A  r   r  c                   @  r   )Status6Queueing	Preparing
ProcessingSuccessFailN)r   r   r   r  r  r  r  r  r    r    r    r!   r  F  r   r  c                   @  sR   e Zd ZU ded< edddZded< edd	dZd
ed< edddZded< dS )MinimaxTaskResultResponser	  r  NznAfter the task status changes to Success, this field returns the file ID corresponding to the generated video.r%   r   r  .zTask status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed).r  r9   zThe task ID being queried.r3   r  )r   r   r   r   r   r  r9   r  r    r    r    r!   r  N  s   
 r  c                   @  r  )	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  [  r  r  c                   @  r1  )SubjectReferenceItemNz6URL or base64 encoding of the subject reference image.r%   r   r  zCURL or base64 encoding of the mask for the subject reference image.r9  )r   r   r   r   r  r   r9  r    r    r    r!   r!  e  s   
 r!  c                   @  s   e Zd ZU edddZded< edddZded< edd	dZd
ed< eddddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< dS )MinimaxVideoGenerationRequestNzROptional. URL to receive real-time status updates about the video generation task.r%   r   rL  zpURL 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-01r  r#  zsDescription of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets].  rV  re   TzkIf true (default), the model will automatically optimize the prompt. Set to false for more precise control.r{   prompt_optimizerzzOnly available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter.z$Optional[List[SubjectReferenceItem]]subject_referencez*The length of the output video in seconds.rh   r  ztThe dimensions of the video display. 1080p corresponds to 1920 x 1080 pixels, 768p corresponds to 1366 x 768 pixels.r  )r   r   r   r   rL  r   r#  r#  re   r%  r&  r  r  r    r    r    r!   r"  o  sD   
 r"  c                   @  r  )	MinimaxVideoGenerationResponser	  r  .z7The task ID for the asynchronous video generation task.r%   r3   r  N)r   r   r   r   r   r  r    r    r    r!   r'    
   
 r'  c                   @  $   e Zd ZdZdZdZdZdZdZdS )ModalityMODALITY_UNSPECIFIEDTEXTIMAGEVIDEOAUDIODOCUMENTN)	r   r   r   r+  r,  r-  r.  r/  r0  r    r    r    r!   r*        r*  c                   @  rV  )ModalityTokenCountNzOptional[Modality]modalityz(Number of tokens for the given modality.r%   rh   
tokenCount)r   r   r   r3  r   r   r4  r    r    r    r!   r2    s
   
 r2  c                   @  rq   )
Truncationdisabledr  N)r   r   r   r6  r  r    r    r    r!   r5    rv   r5  c                   @  s   e Zd ZU edddZded< edddZded< edd	dZded
< edddddZded< edddddZ	ded< edddZ
ded< dS )ModelResponsePropertiesNz:Instructions for the model on how to generate the responser%   r   instructionsz$Maximum number of tokens to generaterh   max_output_tokensz'The model used to generate the responser#  rg   z#Controls randomness in the responser,  r-  r_   r`   r.  z7Controls diversity of the response via nucleus samplingrO   top_pr6  z(How to handle truncation of the responsezOptional[Truncation]
truncation)r   r   r   r   r8  r   r9  r#  r.  r:  r;  r    r    r    r!   r7    s,   
 r7  c                   @  r  )	KeyframesNr   r  )r   r   r   r  r   r    r    r    r!   r<    r!  r<  c                   @  sz   e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	ded	< dZ
ded
< dZded< dZded< dS )MoonvalleyPromptResponseNr,   r   frame_conditioningr   r   inference_paramsmetamodel_params
output_urlprompt_textr9   )r   r   r   r   r   r>  r   r?  r@  rA  rB  rC  r9   r    r    r    r!   r=       
 r=  c                   @  s  e Zd ZU edddZded< edddZded	< ed
ddZded< ed
ddZded< ed
ddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded < ed!d"dZd#ed$< ed%d&dZded'< ed!d(dZded)< ed
d*dZded+< ed,d-dZded.< edd/dZded0< ed1d2dZded3< edd4dZded5< edd6dZded7< ed8d9dZded:< d!S );$MoonvalleyTextToVideoInferenceParamsTWhether to add quality guidancer%   r{   add_quality_guidance333333?$Caching coefficient for optimizationr`   caching_coefficientr\    Number of caching cooldown stepsrh   caching_cooldownNumber of caching warmup stepscaching_warmup!CLIP value for generation control
clip_valuer   Index of the conditioning frameconditioning_frame_indexK   9Number of cooldown steps (calculated based on num_frames)cooldown_steps   z(Frames per second of the generated videofps
   %Guidance scale for generation controlr   i8  z'Height of the generated video in pixelsrx   NNegative prompt textr   r   r   zNumber of frames to generate
num_frames,Random seed for generation (default: random)r~   "Shift value for generation controlshift_valueP   Number of denoising stepsri   "Whether to use guidance schedulinguse_guidance_scheduleFWhether to use negative promptsuse_negative_prompts&Whether to use timestep transformationuse_timestep_transform7Number of warmup steps (calculated based on num_frames)warmup_stepsi  z&Width of the generated video in pixelsr   )r   r   r   r   rG  r   rJ  rL  rN  rP  rR  rU  rW  r   rx   r   r[  r~   r^  ri   rb  rd  rf  rh  r   r    r    r    r!   rE    sn   
 rE  c                   @  >   e Zd ZU dZded< dZded< dZded< dZded< dS )MoonvalleyTextToVideoRequestNr   r  .Optional[MoonvalleyTextToVideoInferenceParams]r?  rC  r;   r   r   r   r  r   r?  rC  r;   r    r    r    r!   rj    r   rj  c                   @  r  )MoonvalleyUploadFileRequestNr  r  )r   r   r   r  r   r    r    r    r!   rm    r!  rm  c                   @  r  )MoonvalleyUploadFileResponseNr   
access_url)r   r   r   ro  r   r    r    r    r!   rn    r!  rn  c                   @  sN  e Zd ZU edddZded< edddZded	< ed
ddZded< ed
ddZded< ed
ddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded < ed
d!dZded"< ed#d$dZded%< edd&dZded'< ed(d)dZded*< edd+dZded,< ed-d.dZded/< dS )0%MoonvalleyVideoToVideoInferenceParamsTrF  r%   r{   rG  rH  rI  r`   rJ  r\   rK  rh   rL  rM  rN  rO  rP  r   rQ  rR  $   rT  rU  rT   rY  r   NrZ  r   r   r\  r~   r]  r^  r_  r`  ri   ra  rb  Frc  rd  re  rf  rV  rg  rh  )r   r   r   r   rG  r   rJ  rL  rN  rP  rR  rU  r   r   r~   r^  ri   rb  rd  rf  rh  r    r    r    r!   rp    sZ   
 rp  c                   @  rq   )ControlTypemotion_controlpose_controlN)r   r   r   rs  rt  r    r    r    r!   rr  N  rv   rr  c                   @  sj   e Zd ZU edddZded< dZded< edd	dZd
ed< edddZd
ed< edddZ	ded< dS )MoonvalleyVideoToVideoRequest.z!Supported types for video controlr%   rr  control_typeNz/Optional[MoonvalleyVideoToVideoInferenceParams]r?  zDescribes the video to generater3   rC  zUrl to control video	video_urlz&Optional webhook URL for notificationsr   r;   )
r   r   r   r   rv  r   r?  rC  rw  r;   r    r    r    r!   ru  S  s   
 ru  c                   @  r   )
NodeStatusNodeStatusActiveNodeStatusDeletedNodeStatusBannedN)r   r   r   ry  rz  r{  r    r    r    r!   rx  _  r   rx  c                   @  r.   )	NodeVersionIdentifier.z!The unique identifier of the noder%   r3   ru  zThe version of the nodeversionN)r   r   r   r   ru  r   r}  r    r    r    r!   r|  e  r6   r|  c                   @  r   )NodeVersionStatusNodeVersionStatusActiveNodeVersionStatusDeletedNodeVersionStatusBannedNodeVersionStatusPendingNodeVersionStatusFlaggedN)r   r   r   r  r  r  r  r  r    r    r    r!   r~  j  r   r~  c                   @  r   )	NodeVersionUpdateRequestNz-The changelog describing the version changes.r%   r   	changelogz"Whether the version is deprecated.r{   r   )r   r   r   r   r  r   r   r    r    r    r!   r  r  r  r  c                   @  rq   )
Moderationr  r  N)r   r   r   r  r  r    r    r    r!   r  {  rv   r  c                   @  r   )OutputFormat1rt   webprs   N)r   r   r   rt   r  rs   r    r    r    r!   r    r   r  c                   @  s   e Zd ZU edddgdZded< eddd	gdZd
ed< edddgdZded< edddgdZded< edddgdZ	ded< edddgdZ
ded< edddgdZd
ed< edddgdZded < edd!d"gdZded#< edd$d%gdZded&< dS )'OpenAIImageEditRequestNBackground transparencyopaquer*  r   
background.z"The model to use for image editingzgpt-image-1r3   r#  Content moderation settingr  Optional[Moderation]
moderation The number of images to generaterg   rh   rS  *Compression level for JPEG or WebP (0-100)r   output_compressionFormat of the output imagert   Optional[OutputFormat1]rz   z&A text description of the desired editz$Give the rocketship rainbow coloringre   zThe quality of the edited imager  qualityzSize of the output image	1024x1024size+A unique identifier for end-user monitoring	user-1234r   )r   r   r   r   r  r   r#  r  rS  r  rz   re   r  r  r   r    r    r    r!   r    sF   
 r  c                   @  rq   )
Backgroundtransparentr  N)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  r   )Qualityr  mediumr   standardhdN)r   r   r   r  r  r   r  r  r    r    r    r!   r    r   r  c                   @  rq   )ResponseFormatr  b64_jsonNr   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  rq   )StylevividnaturalN)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  s.  e Zd ZU edddgdZded< edddgdZd	ed
< edddgdZded< edddgdZded< edddgdZ	ded< edddgdZ
ded< edddgdZded< eddd gdZd!ed"< edd#d$gdZd%ed&< edd'd(gdZd	ed)< edd*d+gdZd,ed-< edd.d/gdZd	ed0< dS )1OpenAIImageGenerationRequestNr  r  r*  zOptional[Background]r  z%The model to use for image generationzdall-e-3r   r#  r  r  r  r  zGThe number of images to generate (1-10). Only 1 supported for dall-e-3.rg   rh   rS  r  r   r  r  rt   r  rz   .z'A text description of the desired imagez3Draw a rocket in front of a blackhole in deep spacer3   re   z"The quality of the generated imager   zOptional[Quality]r  zResponse format of image datar  zOptional[ResponseFormat]response_formatz4Size of the image (e.g., 1024x1024, 1536x1024, auto)	1024x1536r  z&Style of the image (only for dall-e-3)r  zOptional[Style]styler  r  r   )r   r   r   r   r  r   r#  r  rS  r  rz   re   r  r  r  r  r   r    r    r    r!   r    sZ   
 r  c                   @  r  )
Datum2NzBase64 encoded image datar%   r   r  zRevised promptrevised_promptzURL of the imager  )r   r   r   r   r  r   r  r  r    r    r    r!   r    r<   r  c                   @  rd  )InputTokensDetailsNrh   image_tokenstext_tokens)r   r   r   r  r   r  r    r    r    r!   r    rh  r  c                   @  ri  )UsageNrh   input_tokenszOptional[InputTokensDetails]input_tokens_detailsoutput_tokenstotal_tokens)r   r   r   r  r   r  r  r  r    r    r    r!   r    r   r  c                   @  r  )OpenAIImageGenerationResponseNzOptional[List[Datum2]]r  zOptional[Usage]usage)r   r   r   r  r   r  r    r    r    r!   r    rh  r  c                   @  s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:S );OpenAIModelszgpt-4z
gpt-4-0314z
gpt-4-0613z	gpt-4-32kzgpt-4-32k-0314zgpt-4-32k-0613zgpt-4-0125-previewzgpt-4-turbozgpt-4-turbo-2024-04-09zgpt-4-turbo-previewzgpt-4-1106-previewzgpt-4-vision-previewzgpt-3.5-turbozgpt-3.5-turbo-16kzgpt-3.5-turbo-0301zgpt-3.5-turbo-0613zgpt-3.5-turbo-1106zgpt-3.5-turbo-0125zgpt-3.5-turbo-16k-0613zgpt-4.1zgpt-4.1-minizgpt-4.1-nanozgpt-4.1-2025-04-14zgpt-4.1-mini-2025-04-14zgpt-4.1-nano-2025-04-14o1zo1-miniz
o1-previewzo1-prozo1-2024-12-17zo1-preview-2024-09-12zo1-mini-2024-09-12zo1-pro-2025-03-19o3zo3-minizo3-2025-04-16zo3-mini-2025-01-31zo4-minizo4-mini-2025-04-16zgpt-4ozgpt-4o-minizgpt-4o-2024-11-20zgpt-4o-2024-08-06zgpt-4o-2024-05-13zgpt-4o-mini-2024-07-18zgpt-4o-audio-previewzgpt-4o-audio-preview-2024-10-01zgpt-4o-audio-preview-2024-12-17zgpt-4o-mini-audio-previewz$gpt-4o-mini-audio-preview-2024-12-17zgpt-4o-search-previewzgpt-4o-mini-search-previewz gpt-4o-search-preview-2025-03-11z%gpt-4o-mini-search-preview-2025-03-11zcomputer-use-previewzcomputer-use-preview-2025-03-11zchatgpt-4o-latestN)<r   r   r   gpt_4
gpt_4_0314
gpt_4_0613	gpt_4_32kgpt_4_32k_0314gpt_4_32k_0613gpt_4_0125_previewgpt_4_turbogpt_4_turbo_2024_04_09gpt_4_turbo_previewgpt_4_1106_previewgpt_4_vision_previewgpt_3_5_turbogpt_3_5_turbo_16kgpt_3_5_turbo_0301gpt_3_5_turbo_0613gpt_3_5_turbo_1106gpt_3_5_turbo_0125gpt_3_5_turbo_16k_0613gpt_4_1gpt_4_1_minigpt_4_1_nanogpt_4_1_2025_04_14gpt_4_1_mini_2025_04_14gpt_4_1_nano_2025_04_14r  o1_mini
o1_previewo1_proo1_2024_12_17o1_preview_2024_09_12o1_mini_2024_09_12o1_pro_2025_03_19r  o3_minio3_2025_04_16o3_mini_2025_01_31o4_minio4_mini_2025_04_16gpt_4ogpt_4o_minigpt_4o_2024_11_20gpt_4o_2024_08_06gpt_4o_2024_05_13gpt_4o_mini_2024_07_18gpt_4o_audio_previewgpt_4o_audio_preview_2024_10_01gpt_4o_audio_preview_2024_12_17gpt_4o_mini_audio_preview$gpt_4o_mini_audio_preview_2024_12_17gpt_4o_search_previewgpt_4o_mini_search_preview gpt_4o_search_preview_2025_03_11%gpt_4o_mini_search_preview_2025_03_11r   computer_use_preview_2025_03_11chatgpt_4o_latestr    r    r    r!   r    st    r  c                   @  rq   )Reasonr9  content_filterN)r   r   r   r9  r  r    r    r    r!   r  D  rv   r  c                   @  r#   )IncompleteDetailsNz*The reason why the response is incomplete.r%   zOptional[Reason]reason)r   r   r   r   r  r   r    r    r    r!   r  I  r'   r  c                   @  r   )ObjectresponseN)r   r   r   r  r    r    r    r!   r  O  r   r  c                   @  r   )Status7r   r  r   r   N)r   r   r   r   r  r   r   r    r    r    r!   r  S  r   r  c                   @  r   )Type14output_audioN)r   r   r   r  r    r    r    r!   r  Z  r   r  c                   @  J   e Zd ZU edddZded< edddZded< edddZd	ed
< dS )OutputAudioContent.zBase64-encoded audio datar%   r3   r  zTranscript of the audio
transcriptThe type of output contentr  r   N)r   r   r   r   r  r   r  r   r    r    r    r!   r  ^  r<   r  c                   @  r   )Role4r   N)r   r   r   r   r    r    r    r!   r  d  r   r  c                   @  r   )Type15r   Nr   r    r    r    r!   r  h  r   r  c                   @  r   )Type16output_textN)r   r   r   r  r    r    r    r!   r  l  r   r  c                   @  r   )
OutputTextContent.zThe text contentr%   r3   r  r  r  r   Nr  r    r    r    r!   r   p  r6   r   c                   @  sr   e Zd ZU edddZded< edddZded< edd	dZd
ed< edddZded< edddZ	ded< dS )PersonalAccessTokenNz5[Output Only]The date and time the token was created.r%   r   r)   zBOptional. A more detailed description of the token's intended use.r   r   z#Unique identifier for the GitCommitOptional[UUID]r   z=Required. The name of the token. Can be a simple description.r   zH[Output Only]. The personal access token. Only returned during creation.token)
r   r   r   r   r)   r   r   r   r   r  r    r    r    r!   r  u  s"   
 r  c                   @  r=   )
AspectRatio1.Aspect ratio (width / height)皙?      @AspectratiorB   rQ   rF   NrG   r    r    r    r!   r    rH   r  c                   @  rq   )IngredientsModecreativepreciseN)r   r   r   r
  r  r    r    r    r!   r	    rv   r	  c                   @  s   e Zd ZU eddddZded< eddd	Zd
ed< eddd	Zded< eddd	Zded< eddd	Z	ded< eddd	Z
ded< eddd	Zded< eddd	Zd
ed< dS )-PikaBodyGenerate22C2vGenerate22PikascenesPostNr  r  rY   zOptional[AspectRatio1]aspectRatio   Durationr1   rh   r  Imagesr  r  .Ingredientsmoder	  ingredientsModeNegativepromptr   negativePrompt
Prompttext
promptTextr  
Resolutionr  Seedr~   )r   r   r   r   r  r   r  r  r  r  r  r  r~   r    r    r    r!   r    s   
 r  c                   @  sr   e Zd ZU edddZded< edddZded< edd	dZded
< edddZded< edddZ	ded< dS )4PikaBodyGeneratePikadditionsGeneratePikadditionsPostNImager1   r  r  r  r   r  r  r  r  rh   r~   Videor  )
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dddZded< eddddZded	< edd
ddZded< edddZded< edddZ	ded< edddZ
ded< edddZded< dS ).PikaBodyGeneratePikaswapsGeneratePikaswapsPostNr  r1   r  r  zeA mask image that specifies the region to modify, where the mask is white and the background is blackModifyregionmaskrY   modifyRegionMaskz6Plaintext description of the object / region to modifyModifyregionroir   modifyRegionRoir  r  r  r  r  rh   r~   r  r  )r   r   r   r   r  r   r  r   r  r  r~   r  r    r    r    r!   r    s    
 r  c                   @  rq   )PikaDurationEnumr  rX  Nr   r   r   	integer_5
integer_10r    r    r    r!   r!    rv   r!  c                   @  r   )PikaGenerateResponse.zVideo Idr1   r3   video_idN)r   r   r   r   r&  r   r    r    r    r!   r%    r  r%  c                   @  rq   )PikaResolutionEnumr  r  N)r   r   r   r  r  r    r    r    r!   r'    rv   r'  c                   @  r   )PikaStatusEnumr  startedfinishedN)r   r   r   r  r)  r*  r    r    r    r!   r(    r   r(  c                   @  r   )PikaValidationError.r   r1   r   r   r   r3   r   r   r   Nr   r    r    r    r!   r+    r<   r+  c                   @  sR   e Zd ZU edddZded< edddZded	< d
ed< edddZded< dS )PikaVideoResponse.r0   r1   r3   r   NProgressrh   progressr(  r9   Urlr   r  )r   r   r   r   r   r   r.  r  r    r    r    r!   r,    s
   
 r,  c                   @  r2  )	PikaffectzCake-ifyCrumbleCrush
DecapitateDeflateDissolveExplodezEye-popInflateLevitateMeltPeelPokeSquishzTa-daTearN)r   r   r   Cake_ifyr1  r2  r3  r4  r5  r6  Eye_popr7  r8  r9  r:  r;  r<  Ta_dar=  r    r    r    r!   r0    rF  r0  c                   @  r  )RespNrh   img_id)r   r   r   rB  r   r    r    r    r!   rA    r!  rA  c                   @  s:   e Zd ZU dZded< dZded< edddZded	< dS )
PixverseImageUploadResponseNrh   ErrCoder   ErrMsgrA  aliaszOptional[Resp]Resp_1)r   r   r   rD  r   rE  r   rH  r    r    r    r!   rC    s   
 rC  c                   @  rq   )r  r  r  N)r   r   r   r#  	integer_8r    r    r    r!   r    rv   r  c                   @  r   )Model1zv3.5N)r   r   r   v3_5r    r    r    r!   rJ  	  r   rJ  c                   @  rq   )
MotionModenormalfastN)r   r   r   rM  rN  r    r    r    r!   rL  	  rv   rL  c                   @  r   )Quality1360pr  r  r  N)r   r   r   
field_360pr  r  r  r    r    r    r!   rO  
	  r   rO  c                   @  r   )Style1anime3d_animationclaycomic	cyberpunkN)r   r   r   rS  field_3d_animationrU  rV  rW  r    r    r    r!   rR  	  r   rR  c                   @  sr   e Zd ZU ded< ded< ded< dZded	< d
ed< ded< dZded< dZded< dZded< dZded< dS )PixverseImageVideoRequestr  r  rE   rB  rJ  r#  NOptional[MotionMode]motion_moder3   re   rO  r  rh   r~   Optional[Style1]r  template_idr{   
water_mark)	r   r   r   r   r[  r~   r  r]  r^  r    r    r    r!   rY  	  s   
 rY  c                   @  r   )AspectRatio2r  r  r  r  r  N)r   r   r   r  r  r  r  r  r    r    r    r!   r_  &	  r   r_  c                   @  s~   e Zd ZU ded< ded< ded< dZded	< dZd
ed< ded< ded< dZded< dZded< dZded< dZ	ded< dS )PixverseTextVideoRequestr_  r  r  r  rJ  r#  NrZ  r[  r   r   r3   re   rO  r  rh   r~   r\  r  r]  r{   r^  )
r   r   r   r   r[  r   r~   r  r]  r^  r    r    r    r!   r`  .	  s   
 r`  c                   @  sr   e Zd ZU ded< ded< ded< ded< ded	< d
ed< ded< ded< dZded< dZded< dZded< dS )PixverseTransitionVideoRequestr  r  rE   first_frame_imglast_frame_imgrJ  r#  rL  r[  r3   re   rO  r  r~   Nr\  r  rh   r]  r{   r^  )r   r   r   r   r  r]  r^  r    r    r    r!   ra  <	  s   
 ra  c                   @  r  )Resp1Nrh   r&  )r   r   r   r&  r   r    r    r    r!   rd  J	  r!  rd  c                   @  2   e Zd ZU dZded< dZded< dZded< dS )PixverseVideoResponseNrh   rD  r   rE  zOptional[Resp1]rA  r   r   r   rD  r   rE  rA  r    r    r    r!   rf  N	     
 rf  c                   @  r   )Status8rg   r        r  N)r   r   r   	integer_1r#  	integer_6	integer_7rI  r    r    r    r!   ri  T	  r   ri  c                   @  s   e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	ded	< dZ
ded
< dZded< dZded< dZded< edddZded< dZded< dZded< dS )Resp2Nr   create_timerh   r   modify_timer   outputHeightoutputWidthre   resolution_ratior~   r  zVideo generation status codes:
* 1 - Generation successful
* 5 - Generating
* 6 - Deleted
* 7 - Contents moderation failed
* 8 - Generation failed
r%   zOptional[Status8]r9   r  r  )r   r   r   rp  r   r   rq  r   rr  rs  re   rt  r~   r  r   r9   r  r  r    r    r    r!   ro  \	  s"   
 ro  c                   @  re  )PixverseVideoResultResponseNrh   rD  r   rE  zOptional[Resp2]rA  rg  r    r    r    r!   ru  o	  rh  ru  c                   @  rq   )PublisherStatusPublisherStatusActivePublisherStatusBannedN)r   r   r   rw  rx  r    r    r    r!   rv  u	  rv   rv  c                   @  r  )
PublisherUserN The email address for this user.r%   r   r   The unique id for this user.r   The name for this user.r   )r   r   r   r   r   r   r   r   r    r    r    r!   ry  z	  r<   ry  c                   @  rV   )RgbItem.r      r  rE   rF   NrG   r    r    r    r!   r}  	  r-  r}  c                   @  r'  )RGBColor.r\   r*  zList[RgbItem]rgbN)r   r   r   r   r  r   r    r    r    r!   r  	  r-  r  c                   @  r   )GenerateSummaryr  concisedetailedNr   r   r   r  r  r  r    r    r    r!   r  	  r   r  c                   @  r   )Summaryr  r  r  Nr  r    r    r    r!   r  	  r   r  c                   @  r   )ReasoningEffortr  r  r   Nr   r   r   r  r  r   r    r    r    r!   r  	  r   r  c                   @  r   )Status9r   r   r   Nr   r    r    r    r!   r  	  r   r  c                   @  r   )Type17summary_textN)r   r   r   r  r    r    r    r!   r  	  r   r  c                   @  r   )
SummaryItem.zQA short summary of the reasoning used by the model when generating
the response.
r%   r3   r  z/The type of the object. Always `summary_text`.
r  r   Nr  r    r    r    r!   r  	  r   r  c                   @  r   )Type18	reasoningN)r   r   r   r  r    r    r    r!   r  	  r   r  c                   @  s^   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< dS )ReasoningItem.z0The unique identifier of the reasoning content.
r%   r3   r   Nr   zOptional[Status9]r9   zReasoning text contents.
zList[SummaryItem]summaryz,The type of the object. Always `reasoning`.
r  r   )	r   r   r   r   r   r   r9   r  r   r    r    r    r!   r  	  s   
 r  c                   @  re  )RecraftImageColorNOptional[List[int]]r  zOptional[List[float]]r  r`   r  )r   r   r   r  r   r  r  r    r    r    r!   r  	  rh  r  c                   @  r  )RecraftImageFeaturesNr`   
nsfw_score)r   r   r   r  r   r    r    r    r!   r  	  r!  r  c                   @  rq   )RecraftImageFormatr  rt   N)r   r   r   r  rt   r    r    r    r!   r  	  rv   r  c                   @  sZ   e Zd ZU edddddZded< dZded	< edd
dZded< edddZded< dS )ControlsNzDefines artistic tone of your image. At a simple level, the person looks straight at the camera in a static and clean style. Dynamic and eccentric levels introduce movement and creativity.r   r  r_   rh   artistic_levelzOptional[RGBColor]background_colorzAn array of preferable colorsr%   zOptional[List[RGBColor]]colorszDo not embed text layoutsr{   no_text)	r   r   r   r   r  r   r  r  r  r    r    r    r!   r  	  s   
 r  c                   @  s   e Zd ZU edddZded< edddZded	< edd
dddZded< edddZded< edddZ	ded< edddZ
ded< edddZded< dS )RecraftImageGenerationRequestNz$The controls for the generated imager%   zOptional[Controls]controls.z3The model to use for generation (e.g., "recraftv3")r3   r#  r  rg   r   r_   rE   rS  z0The text prompt describing the image to generatere   z3The size of the generated image (e.g., "1024x1024")r  zHThe style to apply to the generated image (e.g., "digital_illustration")r   r  zThe style ID to apply to the generated image (e.g., "123e4567-e89b-12d3-a456-426614174000"). If style_id is provided, style should not be provided.style_id)r   r   r   r   r  r   r#  rS  re   r  r  r  r    r    r    r!   r  	  s,   
 r  c                   @  r1  )Datum3Nz)Unique identifier for the generated imager%   r   image_idz!URL to access the generated imager  )r   r   r   r   r  r   r  r    r    r    r!   r  	  
   
 r  c                   @  r  )RecraftImageGenerationResponse.z.Unix timestamp when the generation was createdr%   rE   r  z)Number of credits used for the generationcreditsz$Array of generated image informationzList[Datum3]r  N)r   r   r   r   r  r   r  r  r    r    r    r!   r  	     
 r  c                   @  r   )RecraftImageStyledigital_illustrationiconrealistic_imagevector_illustrationN)r   r   r   r  r  r  r  r    r    r    r!   r  
  r   r  c                   @  s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/d,Z0d-Z1d.Z2d/S )0RecraftImageSubStyle2d_art_poster3d80sglowgrain
hand_drawninfantile_sketchkawaii	pixel_artpsychedelicseamlessvoxel
watercolorbroken_linecolored_outlinecolored_shapescolored_shapes_gradientdoodle_filldoodle_offset_filloffset_filloutlineoutline_gradientuneven_fill70scartoondoodle_line_art	engravingflat_2line_artlinocutb_and_w
enterprise
hard_flashhdrmotion_blurnatural_lightstudio_portraitline_circuit2d_art_poster_2engraving_colorflat_air_arthand_drawn_outlinehandmade_3dstickers_drawingsplastic	pictogramN)3r   r   r   field_2d_art_posterfield_3d	field_80sr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  	field_70sr  r  r  r  kawaii_1r  r  
seamless_1r  r  r  r  r  r  r  r  field_2d_art_poster_2r  r  r  r  r  r  r  r    r    r    r!   r  
  sb    r  c                   @  rq   )RecraftResponseFormatr  r  Nr  r    r    r    r!   r  >
  rv   r  c                   @  r  )RecraftTextLayoutItemzList[List[float]]bboxr3   r  Nr   r    r    r    r!   r  C
  r   r  c                   @  r>  )
RecraftTransformModelrefm1
recraft20b	recraftv2	recraftv3
flux1_1proflux1devimagen3hidream_i1_devN)r   r   r   r  r  r  r  r  r  r  r  r    r    r    r!   r  H
  rF  r  c                   @  >   e Zd ZU dZded< dZded< dZded< dZded	< dS )
RecraftUserControlsNrh   r  zOptional[RecraftImageColor]r  z!Optional[List[RecraftImageColor]]r  r{   r  )r   r   r   r  r   r  r  r  r    r    r    r!   r  S
  r   r  c                   @  r   )	Attentionr  r  r   Nr  r    r    r    r!   r  Z
  r   r  c                   @  r   )Projectcomfyuicomfyui_frontenddesktopN)r   r   r   r  r  r  r    r    r    r!   r  `
  r   r  c                   @  s   e Zd ZU edddZded< edddZded< edd	dZd
ed< edddZded< edddZ	ded< edddZ
ded< dS )ReleaseNote.z$The attention level for this releaser%   r  	attentionz2The content of the release note in markdown formatr3   contentz&Unique identifier for the release noterE   r   z(The project this release note belongs tor  projectz#When the release note was publishedr   published_atzThe version of the releaser}  N)r   r   r   r   r  r   r  r   r  r  r}  r    r    r    r!   r  f
  s   
 r  c                   @  r   )RenderingSpeedr  r  r  N)r   r   r   r  r  r  r    r    r    r!   r  w
  r   r  c                   @  r   )Type19zresponse.completedN)r   r   r   response_completedr    r    r    r!   r  }
  r   r  c                   @  r   )Type20zresponse.content_part.addedN)r   r   r   response_content_part_addedr    r    r    r!   r  
  r   r  c                   @  r   )Type21zresponse.content_part.doneN)r   r   r   response_content_part_doner    r    r    r!   r  
  r   r  c                   @  r   )Type22zresponse.createdN)r   r   r   response_createdr    r    r    r!   r  
  r   r  c                   @  sT   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdS )ResponseErrorCodeserver_errorrate_limit_exceededinvalid_promptvector_store_timeoutinvalid_imageinvalid_image_formatinvalid_base64_imageinvalid_image_urlimage_too_largeimage_too_smallimage_parse_errorimage_content_policy_violationinvalid_image_modeimage_file_too_largeunsupported_image_media_typeempty_image_filefailed_to_download_imageimage_file_not_foundN)r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r    r    r    r!   r  
  s&    r  c                   @  r   )Type23r   N)r   r   r   r   r    r    r    r!   r  
  r   r  c                   @  s^   e Zd ZU edddZded< edddZded< edddZded	< edd
dZded< dS )ResponseErrorEvent.zThe error code.
r%   r3   r/  zThe error message.
r   zThe error parameter.
paramz'The type of the event. Always `error`.
r  r   N)	r   r   r   r   r/  r   r   r  r   r    r    r    r!   r  
  s
   
 r  c                   @  r   )Type24zresponse.failedN)r   r   r   response_failedr    r    r    r!   r  
  r   r  c                   @  r   )Type25json_objectN)r   r   r   r  r    r    r    r!   r  
  r   r  c                   @  r   )ResponseFormatJsonObject.z@The type of response format being defined. Always `json_object`.r%   r  r   Nr   r   r   r   r   r   r    r    r    r!   r  
  
   
 r  c                   @  s   e Zd Z	 eddZdS )ResponseFormatJsonSchemaSchemaallow)extraN)r   r   r   r   model_configr    r    r    r!   r  
  s
    
r  c                   @  r   )Type26r  N)r   r   r   r  r    r    r    r!   r   
  r   r   c                   @  r   )ResponseFormatText.z9The type of response format being defined. Always `text`.r%   r   r   Nr  r    r    r    r!   r!  
  r'   r!  c                   @  r   )Type27zresponse.in_progressN)r   r   r   response_in_progressr    r    r    r!   r"  
  r   r"  c                   @  r   )Type28zresponse.incompleteN)r   r   r   response_incompleter    r    r    r!   r$  
  r   r$  c                   @  r   )Type29zresponse.output_item.addedN)r   r   r   response_output_item_addedr    r    r    r!   r&  
  r   r&  c                   @  r   )Type30zresponse.output_item.doneN)r   r   r   response_output_item_doner    r    r    r!   r(  
  r   r(  c                   @  rq   )Truncation1r  r6  N)r   r   r   r  r6  r    r    r    r!   r*  
  rv   r*  c                   @  r   )InputTokensDetails1.zqThe number of tokens that were retrieved from the cache. 
[More on prompt caching](/docs/guides/prompt-caching).
r%   rE   cached_tokensN)r   r   r   r   r,  r   r    r    r    r!   r+  
  r  r+  c                   @  r   )OutputTokensDetails.zThe number of reasoning tokens.r%   rE   reasoning_tokensN)r   r   r   r   r.  r   r    r    r    r!   r-  
  r  r-  c                   @  sr   e Zd ZU edddZded< edddZded< edd	dZded
< edddZded< edddZ	ded< dS )ResponseUsage.zThe number of input tokens.r%   rE   r  z)A detailed breakdown of the input tokens.r+  r  zThe number of output tokens.r  z*A detailed breakdown of the output tokens.r-  output_tokens_detailsz The total number of tokens used.r  N)
r   r   r   r   r  r   r  r  r0  r  r    r    r    r!   r/  
  s   
 r/  c                   @  r   )Rodin3DCheckStatusRequest.z#subscription from generate endpointr%   r3   subscription_keyN)r   r   r   r   r2  r   r    r    r    r!   r1  
  r'   r1  c                   @  r   )Rodin3DDownloadRequest.	Task UUIDr%   r3   	task_uuidN)r   r   r   r   r5  r   r    r    r    r!   r3  
  r  r3  c                   @  r   )	RodinGenerateJobsDataNzSubscription Key.r%   r   r2  zsubjobs uuid.r   uuids)r   r   r   r   r2  r   r7  r    r    r    r!   r6    r6   r6  c                   @  rq   )RodinMaterialTypePBRShadedN)r   r   r   r9  r:  r    r    r    r!   r8    rv   r8  c                   @  rq   )RodinMeshModeTypeQuadRawN)r   r   r   r<  r=  r    r    r    r!   r;    rv   r;  c                   @  r   )RodinQualityTypez	extra-lowr  r  r   N)r   r   r   	extra_lowr  r  r   r    r    r    r!   r>    r   r>  c                   @  r1  )RodinResourceItemNz	File namer%   r   r   zDownload urlr  )r   r   r   r   r   r   r  r    r    r    r!   r@    r6   r@  c                   @  r   )RodinStatusOptionsDoneFailed
GeneratingWaitingN)r   r   r   rB  rC  rD  rE  r    r    r    r!   rA    r   rA  c                   @  r   )RodinTierTypeRegularSketchr  SmoothN)r   r   r   rG  rH  r  rI  r    r    r    r!   rF  %  r   rF  c                   @  r>  )
RunwayAspectRatioEnumz1280:720z720:1280z1104:832z832:1104z960:960z1584:672z1280:768z768:1280N)r   r   r   field_1280_720field_720_1280field_1104_832field_832_1104field_960_960field_1584_672field_1280_768field_768_1280r    r    r    r!   rJ  ,  rF  rJ  c                   @  rq   )RunwayDurationEnumr  rX  Nr"  r    r    r    r!   rS  7  rv   rS  c                   @  r#   )RunwayImageToVideoResponseNr  r%   r   r   r  r    r    r    r!   rT  <  r  rT  c                   @  rq   )RunwayModelEnum
gen4_turbogen3a_turboN)r   r   r   rV  rW  r    r    r    r!   rU  @  rv   rU  c                   @  rq   )PositionfirstlastN)r   r   r   rY  rZ  r    r    r    r!   rX  E  rv   rX  c                   @  r   )
RunwayPromptImageDetailedObject.zbThe position of the image in the output video. 'last' is currently supported for gen3a_turbo only.r%   rX  positionz4A HTTPS URL or data URI containing an encoded image.r3   r  N)r   r   r   r   r\  r   r  r    r    r    r!   r[  J  r   r[  c                   @  r   )RunwayPromptImageObject.zjImage(s) to use for the video generation. Can be a single URI or an array of image objects with positions.r%   z1Union[str, List[RunwayPromptImageDetailedObject]]rF   NrG   r    r    r    r!   r]  T  r  r]  c                   @  r)  )RunwayTaskStatusEnum	SUCCEEDEDRUNNINGFAILEDPENDING	CANCELLED	THROTTLEDN)	r   r   r   r_  r`  ra  rb  rc  rd  r    r    r    r!   r^  ]  r1  r^  c                   @  sj   e Zd ZU edddZded< edddZded< ed	d
dZded< ed	ddddZded< ded< d	S )RunwayTaskStatusResponse.zTask creation timestampr%   r   r)   r  r3   r   NzArray of output video URLsr   outputzgFloat value between 0 and 1 representing the progress of the task. Only available if status is RUNNING.r,  rO   r_   r`   r.  r^  r9   )	r   r   r   r   r)   r   r   rf  r.  r    r    r    r!   re  f  s   
 re  c                   @  4   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS ) RunwayTextToImageAspectRatioEnumz	1920:1080z	1080:1920z	1024:1024z1360:768z	1080:1080z1168:880z	1440:1080z	1080:1440z1808:768z2112:912N)r   r   r   field_1920_1080field_1080_1920field_1024_1024field_1360_768field_1080_1080field_1168_880field_1440_1080field_1080_1440field_1808_768field_2112_912r    r    r    r!   rh  s      rh  c                   @  r   )Model4
gen4_imageN)r   r   r   ru  r    r    r    r!   rt    r   rt  c                   @  r#   )ReferenceImageNz3A HTTPS URL or data URI containing an encoded imager%   r   r  )r   r   r   r   r  r   r    r    r    r!   rv    r'   rv  c                   @  sT   e Zd ZU edddZded< eddddZd	ed
< ded< edddZded< dS )RunwayTextToImageRequest.zModel to use for generationr%   rt  r#  z$Text prompt for the image generation  rV  r3   r  rh  ratioNz1Array of reference images to guide the generationzOptional[List[ReferenceImage]]referenceImages)r   r   r   r   r#  r   r  rz  r    r    r    r!   rw    s   
 rw  c                   @  r#   )RunwayTextToImageResponseNr  r%   r   r   r  r    r    r    r!   r{    r  r{  c                   @  r   )Namecontent_moderationN)r   r   r   r}  r    r    r    r!   r|    r   r|  c                   @  sX   e Zd ZU edddggddZded< eddd	gddZd
ed< edddZded< dS )"StabilityContentModerationResponse.6One or more error messages indicating what went wrong.some-field: is requiredrg   r   r   r,  r   errorszA unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem. a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4r3   r   a  Our content moderation system has flagged some part of your request and subsequently denied it.  You were not charged for this request.  While this may at times be frustrating, it is necessary to maintain the integrity of our platform and ensure a safe experience for all users. If you would like to provide feedback, please use the [Support Form](https://kb.stability.ai/knowledge-base/kb-tickets/new).r%   r|  r   Nr   r   r   r   r  r   r   r   r    r    r    r!   r~    s"   
 r~  c                   @  r  )	StabilityCreativity.zaControls the likelihood of creating additional details not heavily conditioned by the init image.g?rN  r_   rQ   rF   NrG   r    r    r    r!   r    r  r  c                   @  sb   e Zd ZU eddddiggddZded< edd	d
gddZded< edddgddZded< dS )StabilityError.r  z
some-fieldzis requiredrg   r  r   r  zA unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new) you file, as it will greatly assist us in diagnosing the root cause of the problem.
r  r3   r   aShort-hand name for an error, useful for discriminating between errors with the same status code.bad_requestr   Nr  r    r    r    r!   r    s&   
 
r  c                   @  s*   e Zd ZU edddgdddZded< dS )	StabilityGenerationID.zThe `id` of a generation, typically used for async generations, that can be used to check the status of the generation or retrieve the result.@a6dc6c6e20acda010fe14d71f180658f2896ed9b4ec25aa99a6ff06c796987c4r   )r   r   r+  r,  r3   rF   NrG   r    r    r    r!   r    s   
 r  c                   @  r   )Status10zin-progressN)r   r   r   r   r    r    r    r!   r    r   r  c                   @  s2   e Zd ZU edddgdZded< dZded< dS )	StabilityGetResultResponse202Nz The ID of the generation result.iIr*  r   r   zOptional[Status10]r9   )r   r   r   r   r   r   r9   r    r    r    r!   r    s
   
 r  c                   @  0   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )AspectRatio3rB  r  r@  z5:4r  z4:5rA  r  r  N)r   r   r   rE  r  rC  	field_5_4r  	field_4_5rD  r  r  r    r    r    r!   r        r  c                   @  rq   )Modetext-to-imagezimage-to-imageN)r   r   r   text_to_imageimage_to_imager    r    r    r!   r    rv   r  c                   @  r   )Model5sd3.5-largezsd3.5-large-turbozsd3.5-mediumN)r   r   r   sd3_5_largesd3_5_large_turbosd3_5_mediumr    r    r    r!   r    r   r  c                   @  rq   )OutputFormat3rt   rs   N)r   r   r   rt   rs   r    r    r    r!   r    rv   r  c                   @  sP   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdS )StylePresetenhancerS  photographiczdigital-artz
comic-bookzfantasy-artzline-artzanalog-filmz	neon-punk	isometriczlow-polyorigamizmodeling-compound	cinematicz3d-modelz	pixel-artztile-textureN)r   r   r   r  rS  r  digital_art
comic_bookfantasy_artr  analog_film	neon_punkr  low_polyr  modeling_compoundr  field_3d_modelr  tile_texturer    r    r    r!   r    s$    r  c                   @  s   e Zd ZU edddZded< edddd	d
Zded< edddZded< eddddZded< edddZ	ded< eddddZ
ded< edd dZd!ed"< ed#d$dd%d&Zd'ed(< ed)d*d+d,d
Zded-< edd.d+dd
Zded/< edd0dZd1ed2< dS )3"StabilityImageGenerationSD3Requestr  zControls the aspect ratio of the generated image. Defaults to 1:1.

> **Important:** This parameter is only valid for **text-to-image** requests.r%   zOptional[AspectRatio3]r  NzHow strictly the diffusion process adheres to the prompt text (higher values keep your image closer to your prompt). The _Large_ and _Medium_ models use a default of `4`. The _Turbo_ model uses a default of `1`.rO   r  r_   r`   	cfg_scalezThe image to use as the starting point for the generation.

Supported formats:



  - jpeg
  - png
  - webp

Supported dimensions:



  - Every side must be at least 64 pixels

> **Important:** This parameter is only valid for **image-to-image** requests.r  r  r  zControls whether this is a text-to-image or image-to-image generation, which affects which parameters are required:
- **text-to-image** requires only the `prompt` parameter
- **image-to-image** requires the `prompt`, `image`, and `strength` parametersGenerationModerY   zOptional[Mode]moder  aa  The model to use for generation.

- `sd3.5-large` requires 6.5 credits per generation
- `sd3.5-large-turbo` requires 4 credits per generation
- `sd3.5-medium` requires 3.5 credits per generation
- As of the April 17, 2025, `sd3-large`, `sd3-large-turbo` and `sd3-medium`



  are re-routed to their `sd3.5-[model version]` equivalent, at the same price.zOptional[Model5]r#  z]Keywords of what you **do not** wish to see in the output image.
This is an advanced feature.'  rV  r   r   rt   3Dictates the `content-type` of the generated image.zOptional[OutputFormat3]rz   .zWhat you wish to see in the output image. A strong, descriptive prompt that clearly defines
elements, colors, and subjects will lead to better results.rg   r   r+  r,  r3   re   r   A specific value that is used to guide the 'randomness' of the generation. (Omit this parameter or pass `0` to use a random seed.)r,    Ar~   aQ  Sometimes referred to as _denoising_, this parameter controls how much influence the
`image` parameter has on the generated image.  A value of 0 would yield an image that
is identical to the input.  A value of 1 would be as if you passed in no image at all.

> **Important:** This parameter is only valid for **image-to-image** requests.strength2Guides the image model towards a particular style.Optional[StylePreset]style_preset)r   r   r   r   r  r   r  r  r  r#  r   rz   re   r~   r  r  r    r    r    r!   r    sj   
 r  c                   @  rq   )FinishReasonSUCCESSCONTENT_FILTEREDN)r   r   r   r  r  r    r    r    r!   r  J  rv   r  c                   @  Z   e Zd ZU edddgdZded< edddgdZd	ed
< edddgdddZded< dS )%StabilityImageGenrationSD3Response200.The reason the generation finished.

- `SUCCESS` = successful generation.
- `CONTENT_FILTERED` = successful generation, however the output violated our content moderation
policy and has been blurred as a result.r  r*  r  finish_reason'The generated image, encoded to base64.*AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1...r3   r  r   2The seed used as random noise for this generation.r)  r,  r  r'  r`   r~   Nr   r   r   r   r  r   r  r~   r    r    r    r!   r  O  $   
 r  c                   @  ^   e Zd ZU edddggddZded< eddd	gddZd
ed< edddgddZd
ed< dS )%StabilityImageGenrationSD3Response400.r  r  rg   r  r   r  A unique identifier associated with this error. Please include this in any [support tickets](https://kb.stability.ai/knowledge-base/kb-tickets/new)
you file, as it will greatly assist us in diagnosing the root cause of the problem.r  r3   r   r  r  r   Nr  r    r    r    r!   r  c  &   
 r  c                   @  r  )%StabilityImageGenrationSD3Response413.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  x  r  r  c                   @  r  )%StabilityImageGenrationSD3Response422.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )%StabilityImageGenrationSD3Response429.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )%StabilityImageGenrationSD3Response500.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r   )OutputFormat4rs   rt   r  N)r   r   r   rs   rt   r  r    r    r    r!   r    r   r  c                   @  s   e Zd ZU edd dZded< edddgd	Zd
ed< eddddZded< edddZded< edddddZ	ded< eddddd Z
d!ed"< dS )#1StabilityImageGenrationUpscaleConservativeRequestc                   C  
   t dS )Ngffffff?)r  model_validater    r    r    r!   <lambda>     
 z:StabilityImageGenrationUpscaleConservativeRequest.<lambda>default_factoryzOptional[StabilityCreativity]
creativity.zThe image you wish to upscale.

Supported Formats:
- jpeg
- png
- webp

Validation Rules:
- Every side must be at least 64 pixels
- Total pixel count must be between 4,096 and 9,437,184 pixels
- The aspect ratio must be between 1:2.5 and 2.5:1./some/image.pngr*  r   r  NlA blurb of text describing what you **do not** wish to see in the output image.
This is an advanced feature.r  rV  r   r   rt   r  r%   Optional[OutputFormat4]rz     What you wish to see in the output image. A strong, descriptive prompt that clearly defines
elements, colors, and subjects will lead to better results.

To control the weight of a given word use the format `(word:weight)`,
where `word` is the word you'd like to control the weight of and `weight`
is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)`
would convey a sky that was blue and green, but more green than blue.rg   r  r3   re   r   r  r,  r  r_   r`   r~   )r   r   r   r   r  r   r  r   rz   re   r~   r    r    r    r!   r    s:   
 r  c                   @  r  )5StabilityImageGenrationUpscaleConservativeResponse200.r  r  r*  r  r  r  r  r3   r  r   r  r)  r,  r  r'  r`   r~   Nr  r    r    r    r!   r    r  r  c                   @  r  )5StabilityImageGenrationUpscaleConservativeResponse400.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )5StabilityImageGenrationUpscaleConservativeResponse413.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )5StabilityImageGenrationUpscaleConservativeResponse422.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  /  r  r  c                   @  r  )5StabilityImageGenrationUpscaleConservativeResponse429.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  D  r  r  c                   @  r  )5StabilityImageGenrationUpscaleConservativeResponse500.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  Y  r  r  c                   @  s   e Zd ZU edddddZded< edd	d
gdZded< eddddZded< edddZded< edddddZ	ded< eddd d!dZ
ded"< edd#dZd$ed%< dS )&-StabilityImageGenrationUpscaleCreativeRequestrH  zIndicates how creative the model should be when upscaling an image.
Higher values will result in more details being added to the image during upscaling.g?rN  r_   r`   r  .zThe image you wish to upscale.

Supported Formats:
- jpeg
- png
- webp

Validation Rules:
- Every side must be at least 64 pixels
- Total pixel count must be between 4,096 and 1,048,576 pixelsr  r*  r   r  Nr  r  rV  r   r   rt   r  r%   r  rz   r  rg   r  r3   re   r   r  r,  r  r~   r  r  r  )r   r   r   r   r  r   r  r   rz   re   r~   r  r    r    r    r!   r  n  sF   
 r  c                   @  r  )1StabilityImageGenrationUpscaleCreativeResponse200r  r   Nr   r    r    r    r!   r       
 r  c                   @  r  )1StabilityImageGenrationUpscaleCreativeResponse400.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )1StabilityImageGenrationUpscaleCreativeResponse413.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )1StabilityImageGenrationUpscaleCreativeResponse422.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )1StabilityImageGenrationUpscaleCreativeResponse429.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )1StabilityImageGenrationUpscaleCreativeResponse500.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  s:   e Zd ZU edddgdZded< eddd	Zd
ed< dS ))StabilityImageGenrationUpscaleFastRequest.zThe image you wish to upscale.

Supported Formats:
- jpeg
- png
- webp

Validation Rules:
- Width must be between 32 and 1,536 pixels
- Height must be between 32 and 1,536 pixels
- Total pixel count must be between 1,024 and 1,048,576 pixelsr  r*  r   r  rt   r  r%   r  rz   N)r   r   r   r   r  r   rz   r    r    r    r!   r     s   
 r  c                   @  r  )-StabilityImageGenrationUpscaleFastResponse200.r  r  r*  r  r  r  r  r3   r  r   r  r)  r,  r  r'  r`   r~   Nr  r    r    r    r!   r    r  r  c                   @  r  )-StabilityImageGenrationUpscaleFastResponse400.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )-StabilityImageGenrationUpscaleFastResponse413.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  4  r  r  c                   @  r  )-StabilityImageGenrationUpscaleFastResponse422.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  I  r  r  c                   @  r  )-StabilityImageGenrationUpscaleFastResponse429.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  ^  r  r  c                   @  r  )-StabilityImageGenrationUpscaleFastResponse500.r  r  rg   r  r   r  r  r  r3   r   r  r  r   Nr  r    r    r    r!   r  s  r  r  c                   @  (   e Zd ZU edddgddZded< dS )	StabilityStabilityClientID.zmThe name of your application, used to help us communicate app-specific debugging or moderation issues to you.zmy-awesome-app   r   r   r+  r3   rF   NrG   r    r    r    r!   r       
 r  c                   @  r  )	StabilityStabilityClientUserID.zA unique identifier for your end user. Used to help us communicate user-specific debugging or moderation issues to you. Feel free to obfuscate this value to protect user privacy.zDiscordUser#9999r  r  r3   rF   NrG   r    r    r    r!   r    r  r  c                   @  r  )	StabilityStabilityClientVersion.ztThe version of your application, used to help us communicate version-specific debugging or moderation issues to you.z1.2.1r  r  r3   rF   NrG   r    r    r    r!   r    r  r  c                   @  sJ   e Zd ZU edddZded< edddZded< edd	dZded
< dS )StorageFileNzPath to the file in storager%   r   	file_pathz&Unique identifier for the storage filer  r   z
Public URL
public_url)r   r   r   r   r  r   r   r  r    r    r    r!   r    r  r  c                   @  sV   e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	ded< dS )	StripeAddressNr   citycountryline1line2postal_codestate)
r   r   r   r  r   r  r  r  r  r  r    r    r    r!   r    r  r  c                   @  r  )StripeAmountDetailsNr,   tip)r   r   r   r   r   r    r    r    r!   r    r!  r  c                   @  sJ   e Zd ZU dZded< dZded< dZded< dZded< dZded	< dS )
StripeBillingDetailsNOptional[StripeAddress]addressr   r   r   phoneOptional[Any]tax_id)	r   r   r   r  r   r   r   r  r  r    r    r    r!   r    r"   r  c                   @  2   e Zd ZU dZded< dZded< dZded< dS )ChecksNr  address_line1_checkaddress_postal_code_checkr   	cvc_check)r   r   r   r	  r   r
  r  r    r    r    r!   r    rh  r  c                   @  r  )ExtendedAuthorizationNr   r9   r   r   r   r9   r   r    r    r    r!   r    r!  r  c                   @  r  )IncrementalAuthorizationNr   r9   r  r    r    r    r!   r    r!  r  c                   @  r  )MulticaptureNr   r9   r  r    r    r    r!   r    r!  r  c                   @  r  )NetworkTokenNr{   used)r   r   r   r  r   r    r    r    r!   r    r!  r  c                   @  r  )OvercaptureNrh   maximum_amount_capturabler   r9   )r   r   r   r  r   r9   r    r    r    r!   r    rh  r  c                   @  s  e Zd ZU dZded< dZded< dZded< dZded	< dZded
< dZ	ded< dZ
ded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded < dS )!StripeCardDetailsNrh   amount_authorizedr  authorization_coder   brandzOptional[Checks]checksr  	exp_monthexp_yearzOptional[ExtendedAuthorization]extended_authorizationfingerprintfundingz"Optional[IncrementalAuthorization]incremental_authorizationinstallmentslast4mandatezOptional[Multicapture]multicapturenetworkzOptional[NetworkToken]network_tokennetwork_transaction_idzOptional[Overcapture]overcaptureregulated_statusthree_d_securewallet)r   r   r   r  r   r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r    r    r    r!   r    s.   
 r  c                   @  r   )Object1chargeN)r   r   r   r+  r    r    r    r!   r*    r   r*  c                   @  r   )Object2eventN)r   r   r   r-  r    r    r    r!   r,    r   r,  c                   @  r   )Type31zpayment_intent.succeededN)r   r   r   payment_intent_succeededr    r    r    r!   r.    r   r.  c                   @  sz   e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	ded	< dZ
d
ed< dZded< dZded< dS )StripeOutcomeNr  advice_codenetwork_advice_codenetwork_decline_coder   network_statusr  
risk_levelrh   
risk_scoreseller_messager   )r   r   r   r1  r   r2  r3  r4  r  r5  r6  r7  r   r    r    r    r!   r0     rD  r0  c                   @  r   )Object3payment_intentN)r   r   r   r9  r    r    r    r!   r8    r   r8  c                   @  r  )StripePaymentMethodDetailsNzOptional[StripeCardDetails]cardr   r   )r   r   r   r;  r   r   r    r    r    r!   r:    rh  r:  c                   @  s>   e Zd ZU dZded< dZded< dZded< dZded< dS )CardNr  r  mandate_optionsr#  r   request_three_d_secure)r   r   r   r  r   r=  r#  r>  r    r    r    r!   r<    r   r<  c                   @  r  )StripePaymentMethodOptionsNzOptional[Card]r;  )r   r   r   r;  r   r    r    r    r!   r?    r!  r?  c                   @  J   e Zd ZU dZded< dZded< dZded< dZded	< dZded
< dS )StripeRefundListNzOptional[List[Dict[str, Any]]]r  r{   has_morer   objectrh   total_countr  	r   r   r   r  r   rB  rC  rD  r  r    r    r    r!   rA     r"   rA  c                   @  rd  )StripeRequestInfoNr   r   idempotency_key)r   r   r   r   r   rG  r    r    r    r!   rF  (  rh  rF  c                   @  r   )	StripeShippingNr  r  r   carrierr   r  tracking_number)	r   r   r   r  r   rI  r   r  rJ  r    r    r    r!   rH  -  r"   rH  c                   @  r   )Type32json_schemaN)r   r   r   rL  r    r    r    r!   rK  5  r   rK  c                   @  sr   e Zd ZU edddZded< edddZded	< edd
dZded< edddZded< edddZ	ded< dS )TextResponseFormatJsonSchemaNzoA description of what the response format is for, used by the model to
determine how to respond in the format.
r%   r   r   .zxThe name of the response format. Must be a-z, A-Z, 0-9, or contain
underscores and dashes, with a maximum length of 64.
r3   r   schemarF  r  schema_Fa;  Whether to enable strict schema adherence when generating the output.
If set to true, the model will always follow the exact schema defined
in the `schema` field. Only a subset of JSON Schema is supported when
`strict` is `true`. To learn more, read the [Structured Outputs
guide](/docs/guides/structured-outputs).
r{   strictz@The type of response format being defined. Always `json_schema`.rK  r   )
r   r   r   r   r   r   r   rO  rP  r   r    r    r    r!   rM  9  s$   
 rM  c                   @  r   )Type33r   Nr  r    r    r    r!   rQ  M  r   rQ  c                   @  r   )
ToolChoiceFunction.z!The name of the function to call.r%   r3   r   z4For function calling, the type is always `function`.rQ  r   N)r   r   r   r   r   r   r   r    r    r    r!   rR  Q  r   rR  c                   @  r   )ToolChoiceOptionsnoner  requiredN)r   r   r   rT  r  rU  r    r    r    r!   rS  X  r   rS  c                   @  r   )Type34r   web_search_previewr   web_search_preview_2025_03_11N)r   r   r   r   rW  r   rX  r    r    r    r!   rV  ^  r   rV  c                   @  r   )ToolChoiceTypes.zThe type of hosted tool the model should to use. Learn more about
[built-in tools](/docs/guides/tools).

Allowed values are:
- `file_search`
- `web_search_preview`
- `computer_use_preview`
r%   rV  r   Nr  r    r    r    r!   rY  e  r  rY  c                   @  rg  )TripoAnimationzpreset:idlezpreset:walkzpreset:climbzpreset:jumpz
preset:runzpreset:slashzpreset:shootzpreset:hurtzpreset:fallzpreset:turnN)r   r   r   preset_idlepreset_walkpreset_climbpreset_jump
preset_runpreset_slashpreset_shootpreset_hurtpreset_fallpreset_turnr    r    r    r!   rZ  l  rs  rZ  c                   @  r   )TripoBalancerQ   balancefrozenNr   r    r    r    r!   re  y  r   re  c                   @  r)  )TripoConvertFormatGLTFUSDZFBXOBJSTL3MFN)	r   r   r   ri  rj  rk  rl  rm  	field_3MFr    r    r    r!   rh  ~  r1  rh  c                   @  rg  )Codei  r$  i  i  i  i  i  i  i  i  N)r   r   r   integer_1001integer_2000integer_2001integer_2002integer_2003integer_2004integer_2006integer_2007integer_2008integer_2010r    r    r    r!   rp    rs  rp  c                   @  s&   e Zd ZU ded< ded< ded< dS )TripoErrorResponserp  r/  r3   r   
suggestionNr   r    r    r    r!   r{       
 r{  c                   @  r   )TripoImageToModelimage_to_modelN)r   r   r   r  r    r    r    r!   r~    r   r~  c                   @  r>  )
TripoModelStylezperson:person2cartoonzanimal:venomzobject:clayzobject:steampunkzobject:christmaszobject:barbiegoldancient_bronzeN)r   r   r   person_person2cartoonanimal_venomobject_clayobject_steampunkobject_christmasobject_barbier  r  r    r    r    r!   r    rF  r  c                   @  r   )TripoModelVersionzv2.5-20250123zv2.0-20240919zv1.4-20240625N)r   r   r   v2_5_20250123v2_0_20240919v1_4_20240625r    r    r    r!   r    r   r  c                   @  rq   )TripoMultiviewModeLEFTRIGHTN)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  r   )TripoMultiviewToModelmultiview_to_modelN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  rq   )TripoOrientationalign_imagedefaultN)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  r  )TripoResponseSuccessCode.zGStandard success code for Tripo API responses. Typically 0 for success.r   r*  rE   rF   NrG   r    r    r    r!   r    ra  r  c                   @  rq   )	TripoSpecmixamotripoN)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  rq   )TripoStandardFormatglbfbxN)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  r   )TripoStylizeOptionslegor  voronoi	minecraftN)r   r   r   r  r  r  r  r    r    r    r!   r    r   r  c                   @  r   )Code1r   N)r   r   r   	integer_0r    r    r    r!   r    r   r  c                   @  r   )Data9.zused for getTaskr%   r3   r  N)r   r   r   r   r  r   r    r    r    r!   r    r  r  c                   @  r  )TripoSuccessTaskr  r/  r  r  Nr   r    r    r    r!   r    r   r  c                   @  rq   )TopologybipquadNr   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  sV   e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	d	ed
< dS )OutputNr   
base_modelr#  	pbr_modelrendered_imager{   riggablezOptional[Topology]topology)
r   r   r   r  r   r#  r  r  r  r  r    r    r    r!   r    r  r  c                   @  r>  )
Status11r  runningr   r  	cancelledunknownbannedrf  N)r   r   r   r  r  r   r  r  r  r  rf  r    r    r    r!   r    rF  r  c                   @  sT   e Zd ZU ded< ded< ded< eddd	d
Zded< ded< ded< ded< dS )	TripoTaskrE   rp  r   inputr  rf  .r   r   r  r.  r  r9   r3   r  r   N)r   r   r   r   r   r.  r    r    r    r!   r    s   
 r  c                   @  r   )TripoTextToModeltext_to_modelN)r   r   r   r  r    r    r    r!   r    r   r  c                   @  rq   )TripoTextureAlignmentoriginal_imagegeometryN)r   r   r   r  r  r    r    r    r!   r  
  rv   r  c                   @  r  )TripoTextureFormatBMPDPXHDRJPEGOPEN_EXRPNGTARGATIFFWEBPN)r   r   r   r  r  r  r  r  r  r  r  r  r    r    r    r!   r    r  r  c                   @  rq   )TripoTextureQualityr  r  N)r   r   r   r  r  r    r    r    r!   r    rv   r  c                   @  rq   )TripoTopologyr  r  Nr  r    r    r    r!   r     rv   r  c                   @  r   )TripoTypeAnimatePrerigcheckanimate_prerigcheckN)r   r   r   r  r    r    r    r!   r  %  r   r  c                   @  r   )TripoTypeAnimateRetargetanimate_retargetN)r   r   r   r  r    r    r    r!   r  )  r   r  c                   @  r   )TripoTypeAnimateRiganimate_rigN)r   r   r   r  r    r    r    r!   r  -  r   r  c                   @  r   )TripoTypeConvertModelconvert_modelN)r   r   r   r  r    r    r    r!   r  1  r   r  c                   @  r   )TripoTypeRefineModelrefine_modelN)r   r   r   r  r    r    r    r!   r  5  r   r  c                   @  r   )TripoTypeStylizeModelstylize_modelN)r   r   r   r  r    r    r    r!   r  9  r   r  c                   @  r   )TripoTypeTextureModeltexture_modelN)r   r   r   r  r    r    r    r!   r  =  r   r  c                   @  sr   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZd	ed< edddZ	ded< dS )r  Nrz  r%   r   r   r{  r   z+Indicates if the user has admin privileges.r{   isAdminz"Indicates if the user is approved.
isApprovedr|  r   )
r   r   r   r   r   r   r   r  r  r   r    r    r    r!   r  A  s   
 r  c                   @  r  )Veo2GenVidPollRequest.+Full operation name (from predict response)cprojects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_IDr*  r3   operationNameNr   r   r   r   r  r   r    r    r    r!   r  M     
 r  c                   @  r   )	Error1Nr  r%   rh   r/  r  r   r   )r   r   r   r   r/  r   r   r    r    r    r!   r  W  r6   r  c                   @  r  )
r  NzBase64-encoded video contentr%   r   r  zCloud Storage URI of the videogcsUrizVideo MIME typer  )r   r   r   r   r  r   r  r  r    r    r    r!   r  \  r  r  c                   @  Z   e Zd ZU edddgdZded< edddZd	ed
< edddZded< dZded< dS )ResponseN@typeFtype.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponserG  r   r   
field_type2Count of media filtered by responsible AI policiesr%   rh   raiMediaFilteredCount9Reasons why media was filtered by responsible AI policiesr   raiMediaFilteredReasonsOptional[List[Video]]videos	r   r   r   r   r  r   r  r  r  r    r    r    r!   r  d     
 r  c                   @  N   e Zd ZU dZded< edddZded< dZded	< edd
dZded< dS )Veo2GenVidPollResponseNr{   done!Error details if operation failedr%   Optional[Error1]r   r   r   .The actual prediction response if done is truezOptional[Response]r  	r   r   r   r  r   r   r   r   r  r    r    r    r!   r  u     
 r  c                   @  .   e Zd ZU ded< dZded< dZded< dS )r  r3   r  Nr   r  r  r   r   r   r   r  r  r    r    r    r!   r       
 r  c                   @  .   e Zd ZU dZded< ded< dZded< dS )Image1Nr   r  r3   r  r  r   r   r   r  r   r  r    r    r    r!   r       
 r  c                   @  6   e Zd ZU edddZded< edddZded	< dS )
InstanceN(Optional image to guide video generationr%   zOptional[Union[Image, Image1]]r  .Text description of the videor3   re   r   r   r   r   r  r   re   r    r    r    r!   r    r  r  c                   @  rq   )PersonGeneration1ALLOWBLOCKN)r   r   r   r  r  r    r    r    r!   r     rv   r   c                   @  s   e Zd ZU eddgdZded< dZded< dZded	< dZded
< dZ	ded< dZ
ded< dZded< edddZded< dS )
ParametersNr  r   r   r  rh   durationSecondsr{   enhancePromptr  Optional[PersonGeneration1]personGenerationsampleCountr~   .Optional Cloud Storage URI to upload the videor%   
storageUri)r   r   r   r   r  r   r  r  r  r  r	  r~   r  r    r    r    r!   r    s   
 r  c                   @  r  )Veo2GenVidRequestNzOptional[List[Instance]]	instanceszOptional[Parameters]r  r   r   r   r  r   r  r    r    r    r!   r    rh  r  c                   @  r  )Veo2GenVidResponse.Operation resource name{projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8r*  r3   r   Nr  r    r    r    r!   r    r  r  c                   @  r  )VeoGenVidPollRequest.r  r  r*  r3   r  Nr  r    r    r    r!   r    r  r  c                   @  r  )	Response1Nr  r  r  r   r  r  r%   rh   r  r  r   r  r  r  r  r    r    r    r!   r    r  r  c                   @  r  )VeoGenVidPollResponseNr{   r  r  r%   r  r   r   r   r  zOptional[Response1]r  r  r    r    r    r!   r    r  r  c                   @  r  )Image2r3   r  Nr   r  r  r  r    r    r    r!   r    r  r  c                   @  r  )Image3Nr   r  r3   r  r  r  r    r    r    r!   r    r  r  c                   @  r  )
	Instance1Nr  r%   zOptional[Union[Image2, Image3]]r  .r  r3   re   r  r    r    r    r!   r    r  r  c                   @  s   e Zd ZU eddgdZded< dZded< dZded	< edd
dZded< dZ	ded< dZ
ded< dZded< dZded< edddZded< dS )Parameters1Nr  r  r   r  rh   r  r{   r  z=Generate audio for the video. Only supported by veo 3 models.r%   generateAudior  r  r  r	  r~   r
  r  )r   r   r   r   r  r   r  r  r  r  r  r	  r~   r  r    r    r    r!   r    s   
 r  c                   @  r  )VeoGenVidRequestNzOptional[List[Instance1]]r  zOptional[Parameters1]r  r  r    r    r    r!   r    rh  r  c                   @  r  )VeoGenVidResponse.r  r  r*  r3   r   Nr  r    r    r    r!   r    r  r  c                   @  r   )SearchContextSizer  r  r   Nr  r    r    r    r!   r    r   r  c                   @  rq   )Type35rW  rX  N)r   r   r   rW  rX  r    r    r    r!   r    rv   r  c                   @  r  )
WebSearchPreviewToolNzHigh level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default.r%   zOptional[SearchContextSize]search_context_size.z`The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`.zLiteral['WebSearchPreviewTool']r   )r   r   r   r   r  r   r   r    r    r    r!   r    r5  r  c                   @  r   )Status12r   r  r   r  N)r   r   r   r   r  r   r  r    r    r    r!   r   #  r   r   c                   @  r   )Type36web_search_callN)r   r   r   r"  r    r    r    r!   r!  *  r   r!  c                   @  J   e Zd ZU edddZded< edddZded< edd	dZd
ed< dS )WebSearchToolCall.z+The unique ID of the web search tool call.
r%   r3   r   z(The status of the web search tool call.
r   r9   z@The type of the web search tool call. Always `web_search_call`.
r!  r   N)r   r   r   r   r   r   r9   r   r    r    r    r!   r$  .  s   
 r$  c                   @  r   )WorkflowRunStatusWorkflowRunStatusStartedWorkflowRunStatusFailedWorkflowRunStatusCompletedN)r   r   r   r&  r'  r(  r    r    r    r!   r%  9  r   r%  c                   @  s  e Zd ZU edddZded< edddZded< edddZded	< edd
dZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< edddZded< edddZded< edddZded< edddZd ed!< edd"dZded#< dZd$ed%< edd&dZded'< edd(dZded)< edd*dZded+< edd,dZded-< edd,dZded.< edd/dZded0< dZd1ed2< dZd3ed4< edd5dZded6< dS )7ActionJobResultNz,Identifier of the job this result belongs tor%   r   action_job_idz,Identifier of the run this result belongs toaction_run_idrj  rk  z The average VRAM used by the jobrh   avg_vramzName of the relevant git branchrl  z&The comfy run flags. E.g. `--low-vram`comfy_run_flagsrm  rn  zThe ID of the commit	commit_idzThe message of the commitcommit_messagez+The Unix timestamp when the commit was madecommit_timezCUDA version usedcuda_versionz,The end time of the job as a Unix timestamp.end_timezThe repository namegit_repoz$Unique identifier for the job resultr  r   zThe user who triggered the job.job_trigger_userzOptional[MachineStats]machine_statszOperating system usedoperating_systemzThe peak VRAM used by the job	peak_vramzThe pull request number	pr_numberzPyTorch version usedpython_versionpytorch_versionz.The start time of the job as a Unix timestamp.
start_timezOptional[WorkflowRunStatus]r9   zOptional[StorageFile]storage_filezName of the workflowworkflow_name)r   r   r   r   r*  r   r+  rk  r,  rl  r-  rn  r.  r/  r0  r1  r2  r3  r   r4  r5  r6  r7  r8  r9  r:  r;  r9   r<  r=  r    r    r    r!   r)  ?  sX   
 r)  c                   @  sF  e Zd ZU edd dddZded< edd d	d
dZded< eddddZded< edd dddZded< edddZ	ded< eddddZ
ded< ed d!d"gd#d$Zd%ed&< ed'd(d)dZd*ed+< ed,d-d.d/d0d1Zd2ed3< edd4d5gd6d$Zd2ed7< ed8d d9d:dZd;ed<< edd=d>dZded?< edd@dAdZdBedC< dS )DBFLCannyInputsc                   C  r  )NrU  )r>   r  r    r    r    r!   r  o  r  zBFLCannyInputs.<lambda>r?   rA   r  r   r2   zOptional[CannyHighThreshold]canny_high_thresholdc                   C  r  NrU   )rI   r  r    r    r    r!   r  t  r  rJ   rK   zOptional[CannyLowThreshold]canny_low_thresholdNzQBase64 encoded image to use as control input if no preprocessed image is providedControl ImagerY   r   control_imagec                   C  r  )N   rM   r  r    r    r    r!   r  ~  r  rN   rM   Optional[Guidance]ra   rs   >Output format for the generated image. Can be 'jpeg' or 'png'.r%   Optional[BFLOutputFormat]rz   LOptional pre-processed image that will bypass the control preprocessing stepPreprocessed Imagepreprocessed_image.r  ein fantastisches bildPromptr   r   r2   r3   re   F+Whether to perform upsampling on the promptPrompt Upsamplingr{   r|   r)  lTolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict.r   rj  Safety TolerancerB   rh   r}   !Optional seed for reproducibility*   r  r~   c                   C  r  rA  rR   r  r    r    r    r!   r    r  rS   rR   Optional[Steps]ri   2Optional secret for webhook signature verificationWebhook Secretr   rX   r:   Optional[WebhookUrl]r;   )r   r   r   r   r@  r   rB  rD  ra   rz   rL  re   r|   r}   r~   ri   r   r;   r    r    r    r!   r>  m  s   
 r>  c                   @  s  e Zd ZU eddddZded< edd d	d
dZded< edddZded< eddddZded< edddgddZ	ded< eddddZ
d ed!< ed"d#d$d%d&d'Zd(ed)< edd*d+gd,dZd(ed-< ed.d d/d0dZd1ed2< edd3d4dZded5< edd6d7dZd8ed9< dS ):BFLDepthInputsNz,Base64 encoded image to use as control inputrC  rY   r   rD  c                   C  r  )NrT   rF  r    r    r    r!   r    r  zBFLDepthInputs.<lambda>rN   rM   r?  rG  ra   rs   rH  r%   rI  rz   rJ  rK  rL  .r  rM  rN  rO  r3   re   FrP  rQ  r{   r|   r)  rR  r   rj  rS  rB   rh   r}   rT  rU  r  r~   c                   C  r  rA  rV  r    r    r    r!   r    r  rS   rR   rW  ri   rX  rY  r   rX   r:   rZ  r;   )r   r   r   r   rD  r   ra   rz   rL  re   r|   r}   r~   ri   r   r;   r    r    r    r!   r[    sr   
 r[  c                   @  sX  e Zd ZU eddddZded< edd d	d
dZded< eddddZded< eddddZded< edddZ	ded< edddgdd Z
d!ed"< ed#d$d%dZd&ed'< edd(d)dZd*ed+< ed,d-d,gdd.d/d0Zd1ed2< ed3d4d5dZd1ed6< ed7d d8d9gd:d;Zd<ed=< edd>d?dZd@edA< ed3dBdCdZd!edD< ed3dEdFdZdGedH< d3S )IBFLFluxProExpandInputsr   r   r   rY   zOptional[Bottom]bottomc                   C  r  NrI  r   r  r    r    r    r!   r    r  zBFLFluxProExpandInputs.<lambda>rN   rM   r?  Optional[Guidance2]ra   .zBA Base64-encoded string representing the image you wish to expand.r  r3   r  r   r   zOptional[Left]leftrs   rH  r%   rI  rz    zThe description of the changes you want to make. This text guides the expansion process, allowing you to specify features, styles, or modifications for the expanded areas.rM  rN  rO  r   re   FvWhether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generationrQ  r{   r|   r   r   zOptional[Right]rightr)  rR  rj  rS  r   rh   r}   NrT  r  r~   c                   C  r  rA  r   r  r    r    r    r!   r  "  r  rS   rU   rR   r  r   r   r2   Optional[Steps2]ri   r   r   zOptional[Top]toprX  rY  r   rX   r:   rZ  r;   )r   r   r   r   r]  r   ra   r  ra  rz   re   r|   rd  r}   r~   ri   rh  r   r;   r    r    r    r!   r\    s   
 r\  c                   @  s  e Zd ZU edd dddZded< edd	d
dZded< eddddZded< edddZded< edddgddZ	ded< eddd dZ
d!ed"< ed#d$d#gd%d&d'd(Zd)ed*< edd+d,dZd)ed-< ed.d d/d0gd1d2Zd3ed4< edd5d6dZded7< edd8d9dZd:ed;< dS )<BFLFluxProFillInputsc                   C  r  r^  r_  r    r    r    r!   r  6  r  zBFLFluxProFillInputs.<lambda>rN   rM   r?  r`  ra   .zeA Base64-encoded string representing the image you wish to modify. Can contain alpha mask if desired.r  rY   r3   r  Na  A Base64-encoded string representing a mask for the areas you want to modify in the image. The mask should be the same dimensions as the image and in black and white. Black areas (0%) indicate no modification, while white areas (100%) specify areas for inpainting. Optional if you provide an alpha mask in the original image. Validation: The endpoint verifies that the dimensions of the mask match the original image.Maskr   r9  rs   rH  r%   rI  rz   rb  zThe description of the changes you want to make. This text guides the inpainting process, allowing you to specify features, styles, or modifications for the masked area.rM  rN  rO  re   Frc  rQ  r{   r|   r)  rR  r   rj  rS  r   rh   r}   rT  r  r~   c                   C  r  rA  re  r    r    r    r!   r  _  r  rS   rU   rR   rf  rg  ri   rX  rY  r   rX   r:   rZ  r;   )r   r   r   r   ra   r   r  r9  rz   re   r|   r}   r~   ri   r   r;   r    r    r    r!   ri  4  sp   
 ri  c                   @  r#   )BFLHTTPValidationErrorNr  r1   z"Optional[List[BFLValidationError]]r  r  r    r    r    r!   rk  n  r  rk  c                   @  r   )BulkNodeVersionsRequest.z-List of node ID and version pairs to retriever%   zList[NodeVersionIdentifier]node_versionsNr   r   r   r   rm  r   r    r    r    r!   rl  r  r'   rl  c                   @  r6  )GeminiInlineDataNzThe base64 encoding of the image, PDF, or video to include inline in the prompt. When including media inline, you must also specify the media type (mimeType) of the data. Size limit: 20MB
r%   r   r  zOptional[GeminiMimeType]r  )r   r   r   r   r  r   r  r    r    r    r!   ro  {  r;  ro  c                   @  s2   e Zd ZU dZded< edddgdZded< dS )	
GeminiPartNzOptional[GeminiInlineData]
inlineDatar`  z-Write a story about a robot learning to paintr*  r   r  )r   r   r   rq  r   r   r  r    r    r    r!   rp    s   
 rp  c                   @  r  )GeminiPromptFeedbackNr   blockReasonblockReasonMessage"Optional[List[GeminiSafetyRating]]safetyRatings)r   r   r   rs  r   rt  rv  r    r    r    r!   rr    rh  rr  c                   @  r  )GeminiSafetySettingrK  r   rY  	thresholdNr   r    r    r    r!   rw    r   rw  c                   @  s:   e Zd ZU edddZded< edddgdZd	ed
< dS )GeminiSystemInstructionContent.zA list of ordered parts that make up a single message. Different parts may have different IANA MIME types. For limits on the inputs, such as the maximum number of tokens or the number of images, see the model specifications on the Google models page.
r%   zList[GeminiTextPart]partsa  The identity of the entity that creates the message. The following values are supported: user: This indicates that the message is sent by a real person, typically a user-generated message. model: This indicates that the message is generated by the model. The model value is used to insert messages from the model into the conversation during multi-turn conversations. For non-multi-turn conversations, this field can be left blank or unset.
r   r*  r"  roleN)r   r   r   r   rz  r   r{  r    r    r    r!   ry    s   
 ry  c                   @  s   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< edddZ	d	ed< edddZ
ded< edddZded< dS )GeminiUsageMetadataNzSOutput only. Number of tokens in the cached part in the input (the cached content).r%   rh   cachedContentTokenCountz$Number of tokens in the response(s).candidatesTokenCountz*Breakdown of candidate tokens by modality.z"Optional[List[ModalityTokenCount]]candidatesTokensDetailszNumber of tokens in the request. When cachedContent is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content.promptTokenCountz'Breakdown of prompt tokens by modality.promptTokensDetailsz,Number of tokens present in thoughts output.thoughtsTokenCountz/Number of tokens present in tool-use prompt(s).toolUsePromptTokenCount)r   r   r   r   r}  r   r~  r  r  r  r  r  r    r    r    r!   r|    s0   
 r|  c                   @  s  e Zd ZU edddZded< ded< edddZd	ed
< edddZded< edddZded< edddZ	ded< edddZ
d	ed< edddZded< edddZded< edddZded< edddZded < edd!dZd	ed"< edd#dZded$< edd%dZded&< dS )'GithubInstallation.zThe API URL for access tokensr%   r3   access_tokens_urlr  accountzThe GitHub App IDrE   app_idz!When the installation was createdr   r   z)The events the installation subscribes tor   eventsz The HTML URL of the installationrt  zThe installation IDr   zThe installation permissionsr   permissionszThe API URL for repositoriesrepositories_urlz)Repository selection for the installationry  repository_selectionNz"The single file name if applicabler   single_file_namezThe target ID	target_idzThe target typetarget_typez&When the installation was last updatedrw  )r   r   r   r   r  r   r  r   r  rt  r   r  r  r  r  r  r  rw  r    r    r    r!   r    s.   
 r  c                   @  s   e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< edddZd	ed< ded < dS )!GithubReleaseAsset.zThe browser download URLr%   r3   browser_download_urlzThe content type of the assetcontent_typezWhen the asset was createdr   r   zThe number of downloadsrE   download_countzThe asset IDr   NzThe label of the assetr   labelzThe name of the assetr   zThe asset node IDru  zThe size of the asset in bytesr  zThe state of the assetr  r  zWhen the asset was last updatedrw  r  uploader)r   r   r   r   r  r   r  r   r  r   r  r   ru  r  r  rw  r    r    r    r!   r    s   
 r  c                   @  sj  e Zd ZU edddZded< edddZded	< d
ed< edddZded< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< edd dZd!ed"< edd#dZded$< edd%dZded&< edd'dZded(< edd)dZded*< edd+dZded,< edd-dZded.< dS )/Release.zArray of release assetsr%   zList[GithubReleaseAsset]assetsNzThe URL to the release assetsr   
assets_urlr  rk  zThe release notes/bodybodyzWhen the release was createdr   r   zWhether the release is a draftr  draftzThe HTML URL of the releaser3   rt  zThe ID of the releaserE   r   zThe name of the releaser   zThe node ID of the releaseru  z#Whether the release is a prerelease
prereleasezWhen the release was publishedr   r  zThe tag name of the releasetag_namezURL to the tarballtarball_urlz1The branch or commit the release was created fromtarget_commitishz The URL to upload release assetsr   zThe API URL of the releaser  zURL to the zipballzipball_url)r   r   r   r   r  r   r  r  r   r  rt  r   r   ru  r  r  r  r  r  r   r  r  r    r    r    r!   r    s2   
 r  c                   @  sV  e Zd ZU edddZded< edddZded< edd	dZded
< edddZded< edddZ	ded< edddZ
ded< edddZded< edddZded< edddZded< edddZded< edddZded< ded < edd!dZded"< edd#dZded$< edd%dZded&< edd'dZded(< edd)dZded*< dS )+GithubRepository.zThe clone URL of the repositoryr%   r3   	clone_urlzWhen the repository was createdr   r   z$The default branch of the repositorydefault_branchNzThe repository descriptionr   r   z Whether the repository is a forkr  forkz,The full name of the repository (owner/repo)	full_namezThe git URL of the repositorygit_urlzThe HTML URL of the repositoryrt  zThe repository IDrE   r   zThe name of the repositoryr   zThe repository node IDru  r  ownerz!Whether the repository is privateprivatez&When the repository was last pushed to	pushed_atzThe SSH URL of the repositoryssh_urlz$When the repository was last updatedrw  zThe API URL of the repositoryr  )r   r   r   r   r  r   r   r  r   r  r  r  rt  r   r   ru  r  r  r  rw  r  r    r    r    r!   r     s0   
 r  c                   @  s   e Zd ZU dZded< edddZded< edddZd	ed
< edddZded< edddZ	ded< edddZ
ded< ded< edddZded< edddZded< edddZded< edddZded < edd!dZded"< dS )#IdeogramV3EditRequestNzOptional[IdeogramColorPalette]r  zcThe image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time.r%   r  r  zIDetermine if MagicPrompt should be used in generating the request or not.r   r  zA black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time.r9  r   rh   r   .z.The prompt used to describe the edited result.r3   re   r  r  z-Random seed. Set for reproducible generation.r~   zA list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.Optional[List[StyleCode]]r  zA set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format.r  r  %  Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format.r   character_reference_images  Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format.character_reference_images_mask)r   r   r   r  r   r   r  r  r9  r   re   r~   r  r  r  r  r    r    r    r!   r    sP   
 r  c                   @  s  e Zd ZU edddgdZded< dZded< edd	d
Zded< eddd
Zded< eddddZ	ded< eddd
Z
ded< ded< edddgdZded< eddd
Zded< eddd
Zd ed!< edd"d
Zd#ed$< edd%d
Zd&ed'< edd(d
Zd#ed)< edd*d
Zd#ed+< dS ),IdeogramV3RequestNzAspect ratio in format WxH1x3r*  r   r  zOptional[ColorPalette]r  z*Whether to enable magic prompt enhancementr%   zOptional[MagicPrompt2]r  z6Text prompt specifying what to avoid in the generationr   zNumber of images to generaterg   )r   rC   rh   r   .z$The text prompt for image generationr3   re   r  r  zImage resolution in format WxH1280x800r  z&Seed value for reproducible generationr~   z*Array of style codes in hexadecimal formatr  r  z,Array of reference image URLs or identifiersr   r  zThe type of style to applyzOptional[StyleType1]r  r  r  r  r  )r   r   r   r   r  r   r  r  r   r   re   r  r~   r  r  r  r  r  r    r    r    r!   r  D  sN   
 r  c                   @  r  )ImagenGenerateImageResponseNz%Optional[List[ImagenImagePrediction]]predictions)r   r   r   r  r   r    r    r    r!   r  m  r!  r  c                   @  s   e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	d	ed
< dZ
ded< dZded< eddddZded< dZded< dZded< dS )ImagenImageGenerationParametersNr{   addWatermarkzOptional[AspectRatio]r  r  includeRaiReasonincludeSafetyAttributeszOptional[ImagenOutputOptions]outputOptionszOptional[PersonGeneration]r  zOptional[SafetySetting]safetySettingrg   r   r  rh   r	  r~   r8  r  )r   r   r   r  r   r  r  r  r  r  r  r  r   r	  r~   r  r    r    r    r!   r  q  s   
 r  c                   @  r  )InputContentz<Union[InputTextContent, InputImageContent, InputFileContent]rF   Nr   r    r    r    r!   r    r  r  c                   @  rV   )InputMessageContentList.zUA list of one or many input items to the model, containing different content 
types.
zInput item content listrY   zList[InputContent]rF   NrG   r    r    r    r!   r    r  r  c                   @  r  )KlingCameraControlNzOptional[KlingCameraConfig]configz Optional[KlingCameraControlType]r   )r   r   r   r  r   r   r    r    r    r!   r    rh  r  c                   @  s6   e Zd ZU ded< ded< dZded< dZd	ed
< dS )KlingDualCharacterEffectInputr  r  r(  r  r  Optional[KlingVideoGenMode]r  r  z'Optional[KlingCharacterEffectModelName]rQ  N)r   r   r   r   r  rQ  r    r    r    r!   r    s
   
 r  c                   @  s  e Zd ZU dZded< edddZded< dZd	ed
< edd dZded< dZ	ded< edddZ
ded< edddZded< edddZded< edddZded< dZded< d Zd!ed"< edd#d$d%Zded&< edd'd$d%Zded(< edd)dZded*< dS )+KlingImage2VideoRequestr  "Optional[KlingVideoGenAspectRatio]r  NSThe callback notification address. Server will notify when the task status changes.r%   r8  rL  Optional[KlingCameraControl]camera_controlc                   C  r  NrN  r  r  r    r    r    r!   r    r  z KlingImage2VideoRequest.<lambda>r  Optional[KlingVideoGenCfgScale]r  ry  Optional[KlingVideoGenDuration]r  zyDynamic Brush Configuration List (up to 6 groups). For 5-second videos, trajectory length must not exceed 77 coordinates.zOptional[List[DynamicMask]]dynamic_masks@Customized Task ID. Must be unique within a single user account.r   r=  zReference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1. Base64 should not include data:image prefix.r  zReference Image - End frame control. URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px. Base64 should not include data:image prefix.
image_tailr  r  r  r  z Optional[KlingVideoGenModelName]rQ  rT  	  rV  r   rW  re   zStatic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image.static_mask)r   r   r   r  r   r   rL  r  r  r  r  r=  r  r  r  rQ  r   re   r  r    r    r    r!   r    sN   
 r  c                   @  r  )
TaskResultN Optional[List[KlingVideoResult]]r  r   r   r   r  r   r    r    r    r!   r    r!  r  c                   @  n   e Zd ZU edddZded< edddZded< dZd	ed
< dZded< dZ	ded< edddZ
ded< dS )DataNr  r%   rh   r   r  r   r  Optional[TaskInfo]	task_infozOptional[TaskResult]r  r  r  r  rw  r   r   r   r   r   r   r  r  r  r  rw  r    r    r    r!   r       
 r  c                   @  ru  )KlingImage2VideoResponseNr  r%   rh   r/  zOptional[Data]r  r  r   r   r  r0  rw  r    r    r    r!   r    r  r  c                   @  r  )TaskResult1Nr  r  r  r    r    r    r!   r    r!  r  c                   @  r  )Data1Nr  r%   rh   r   r  r   r  zOptional[TaskResult1]r  r  r  r  r  r  rw  r  r    r    r    r!   r    r  r  c                   @  ru  )KlingImageGenerationsResponseNr  r%   rh   r/  zOptional[Data1]r  r  r   r   r  r0  rw  r    r    r    r!   r    r  r  c                   @  s   e Zd ZU edddZded< dZded< edddZded	< d
ed< edddZded< edddZ	ded< edddZ
ded< edddZded< dZded< edddddZded< dS )KlingLipSyncInputObjectNzhLocal Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code.r%   r   
audio_filezOptional[KlingAudioUploadType]
audio_typezZAudio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB.	audio_urlrZ  r  zoText Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters.r  zyThe ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days.r&  zxGet link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s.rw  zhVoice ID. Required when mode is text2video. The system offers a variety of voice options to choose from.voice_idr_  z#Optional[KlingLipSyncVoiceLanguage]voice_languagerg   zASpeech Rate. Valid range: 0.8~2.0, accurate to one decimal place.g?r-  r_   r`   voice_speed)r   r   r   r   r  r   r  r  r  r&  rw  r  r  r  r    r    r    r!   r    sD   
 r  c                   @  s*   e Zd ZU edddZded< ded< dS )KlingLipSyncRequestNr  r%   r8  rL  r  r  )r   r   r   r   rL  r   r    r    r    r!   r    s   
 r  c                   @  r  )TaskResult2Nr  r  r  r    r    r    r!   r    r!  r  c                   @  r  )Data2Nr  r%   rh   r   r  r   r  r  r  Optional[TaskResult2]r  r  r  r  rw  r  r    r    r    r!   r    r  r  c                   @  ru  )KlingLipSyncResponseNr  r%   rh   r/  zOptional[Data2]r  r  r   r   r  r0  rw  r    r    r    r!   r  #  r  r  c                   @  s2   e Zd ZU ded< edddZded< ded	< d
S )KlingSingleImageEffectInputrx  r  .zReference Image. URL or Base64 encoded string (without data:image prefix). File size cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1.r%   r3   r  r{  rQ  N)r   r   r   r   r   r  r    r    r    r!   r  *  s   
 r  c                   @  s   e Zd ZU dZded< edddZded< dZd	ed
< edd dZded< dZ	ded< edddZ
ded< dZded< dZded< eddddZded< edd ddZded!< dS )"KlingText2VideoRequestr  r  r  NrK  r%   r8  rL  r  r  c                   C  r  r  r  r    r    r    r!   r  :  r  zKlingText2VideoRequest.<lambda>r  r  r  ry  r  r  zCustomized Task IDr   r=  r  r  r  r  z#Optional[KlingTextToVideoModelName]rQ  rT  r  rV  r   rW  re   )r   r   r   r  r   r   rL  r  r  r  r=  r  rQ  r   re   r    r    r    r!   r  3  s&   
 r  c                   @  r  )Data4Nr  r%   rh   r   r  r   r  r  r  r  r  r  r  r  rw  r  r    r    r    r!   r  H  r  r  c                   @  ru  )KlingText2VideoResponseNr  r%   rh   r/  zOptional[Data4]r  r  r   r   r  r0  rw  r    r    r    r!   r  Q  r  r  c                   @  r  )KlingVideoEffectsInputzAUnion[KlingSingleImageEffectInput, KlingDualCharacterEffectInput]rF   Nr   r    r    r    r!   r  X  r  r  c                   @  sF   e Zd ZU edddZded< ded< edddZd	ed
< ded< dS )KlingVideoEffectsRequestNz>The callback notification address for the result of this task.r%   r8  rL  zCUnion[KlingDualCharacterEffectsScene, KlingSingleImageEffectsScene]effect_scener  r   r=  r  r  )r   r   r   r   rL  r   r=  r    r    r    r!   r  ^  s   
 r  c                   @  r  )Data5Nr  r%   rh   r   r  r   r  r  r  r  r  r  r  r  rw  r  r    r    r    r!   r  k  r  r  c                   @  ru  )KlingVideoEffectsResponseNr  r%   rh   r/  zOptional[Data5]r  r  r   r   r  r0  rw  r    r    r    r!   r  t  r  r  c                   @  sx   e Zd ZU edddZded< edd dZd	ed
< eddddZded< eddddZded< edddZ	ded< dS )KlingVideoExtendRequestNr  r%   r8  rL  c                   C  r  r  r  r    r    r    r!   r    r  z KlingVideoExtendRequest.<lambda>r  r  r  z@Negative text prompt for elements to avoid in the extended videor  rV  r   r   z4Positive text prompt for guiding the video extensionre   zThe ID of the video to be extended. Supports videos generated by text-to-video, image-to-video, and previous video extension operations. Cannot exceed 3 minutes total duration after extension.r&  )
r   r   r   r   rL  r   r  r   re   r&  r    r    r    r!   r  {  s,   
 r  c                   @  r  )Data6Nr  r%   rh   r   r  r   r  r  r  r  r  r  r  r  rw  r  r    r    r    r!   r    r  r  c                   @  ru  )KlingVideoExtendResponseNr  r%   rh   r/  zOptional[Data6]r  r  r   r   r  r0  rw  r    r    r    r!   r    r  r  c                   @  s   e Zd ZU ded< edddZded< ded	< d
Zded< dZded< edddZded< ded< edddZ	ded< ded< dS )LumaGenerationRequestr  r  NzThe callback URL of the generation, a POST request with Generation object will be sent to the callback URL when the generation is dreaming, completed, or failedr%   r8  rL  r  r  r  zOptional[GenerationType1]r  zOptional[LumaKeyframes]	keyframeszWhether to loop the videor{   loopr  r#  .The prompt of the generationr3   re   r  r  )
r   r   r   r   r   rL  r  r  r  re   r    r    r    r!   r    s   
 r  c                   @  r  )CharacterRefNzOptional[LumaImageIdentity]	identity0)r   r   r   r  r   r    r    r    r!   r    r!  r  c                   @  s   e Zd ZU dZded< edddZded< dZd	ed
< dZded< dZ	ded< dZ
ded< dZded< edddZded< dZded< dS )LumaImageGenerationRequestr  zOptional[LumaAspectRatio]r  Nz#The callback URL for the generationr%   r8  rL  zOptional[CharacterRef]character_refr  zOptional[GenerationType2]r  zOptional[List[LumaImageRef]]	image_refr  zOptional[LumaImageModel]r#  zOptional[LumaModifyImageRef]modify_image_refr  r   re   	style_ref)r   r   r   r  r   r   rL  r  r  r  r#  r  re   r  r    r    r    r!   r    s   
 r  c                   @  s:   e Zd ZU edddZded< dZded< dZd	ed
< dS )!LumaUpscaleVideoGenerationRequestNz The callback URL for the upscaler%   r8  rL  r  zOptional[GenerationType3]r  z(Optional[LumaVideoModelOutputResolution]r  )r   r   r   r   rL  r   r  r  r    r    r    r!   r    s   
 r  c                   @  r  )MoonvalleyImageToVideoRequestNzOptional[Dict[str, Keyframes]]r  )r   r   r   r  r   r    r    r    r!   r    r!  r  c                   @  sP   e Zd ZU eddddZded< eddddZded< eddddZded< dS )MoonvalleyResizeVideoRequestNr)  r*  r  frame_positionframe_resolutionscale)r   r   r   r   r  r   r  r  r    r    r    r!   r     s   
 r   c                   @  ri  )MoonvalleyTextToImageRequestNr   r  rk  r?  rC  r;   rl  r    r    r    r!   r    r   r  c                   @  s*  e Zd ZU edddZded< edddZded< edddZd	ed
< edddZded< edddZ	ded< edddZ
ded< dZded< edddZded< dZded< edddZded< edddZded< edddZded< edddZded< edd dZded!< edd"dZded#< dS )$NodeVersionNz'Summary of changes made in this versionr%   r   r  z,The status of comfy node extraction process.comfy_node_extract_statusz*The date and time the version was created.r   r)   z0A list of pip dependencies required by the node.r   dependenciesz(Indicates if this version is deprecated.r{   r   z6[Output Only] URL to download this version of the nodedownloadUrlr   "The unique identifier of the node.ru  zOptional[NodeVersionStatus]r9   z!The reason for the status change.status_reasonHList of accelerators (e.g. CUDA, DirectML, ROCm) that this node supportssupported_accelerators&Supported versions of ComfyUI frontend"supported_comfyui_frontend_versionSupported versions of ComfyUIsupported_comfyui_version1List of operating systems that this node supportssupported_oszSThe version identifier, following semantic versioning. Must be unique for the node.r}  )r   r   r   r   r  r   r  r)   r  r   r  r   ru  r9   r
  r  r  r  r  r}  r    r    r    r!   r    sX   
 r  c                   @  r  )OutputContentz,Union[OutputTextContent, OutputAudioContent]rF   Nr   r    r    r    r!   r    r  r  c                   @  r#  )OutputMessage.zThe content of the messager%   zList[OutputContent]r  zThe role of the messager  r{  zThe type of output itemr  r   Nr   r   r   r   r  r   r{  r   r    r    r    r!   r    r<   r  c                   @  sv   e Zd ZU dZded< edddZded< edd	dZd
ed< edddZd
ed< dZ	ded< edddZ
ded< dS )&PikaBodyGenerate22I2vGenerate22I2vPostr  Optional[PikaDurationEnum]r  Nr  r1   r  r  r  r   r  r  r  r  Optional[PikaResolutionEnum]r  r  rh   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dddddZded< eddd	d
Zded< edddZded< edddZded< dZ	ded< edddZ
ded< dS )2PikaBodyGenerate22KeyframeGenerate22PikaframesPostNr  rX  r  )rC   rD   r2   rh   r  zArray of keyframe imagesr<  rY   r  	keyFramesr  r1   r   r  .r  r3   r  r  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ddddddZded< d	Zd
ed< edddZded< edddZded< dZ	ded< edddZ
ded< dS )&PikaBodyGenerate22T2vGenerate22T2vPostgqq?r  r  r  r  rB   r`   r  r  r  r  Nr  r1   r   r  .r  r3   r  r  r  r  r  rh   r~   )r   r   r   r   r  r   r  r  r  r  r~   r    r    r    r!   r  )  s   
 r  c                   @  sj   e Zd ZU edddZded< edddZded< dZd	ed
< edddZded< edddZ	ded< dS )0PikaBodyGeneratePikaffectsGeneratePikaffectsPostNr  r1   r  r  r  r   r  zOptional[Pikaffect]	pikaffectr  r  r  rh   r~   )
r   r   r   r   r  r   r  r  r  r~   r    r    r    r!   r  8  s   
 r  c                   @  r#   )PikaHTTPValidationErrorNr  r1   z#Optional[List[PikaValidationError]]r  r  r    r    r    r!   r  @  r  r  c                   @  sB   e Zd ZU edddZded< edddZded< dZded	< dS )
PublisherMemberNz/The unique identifier for the publisher member.r%   r   r   z&The role of the user in the publisher.r{  zOptional[PublisherUser]r   )r   r   r   r   r   r   r{  r   r    r    r    r!   r  D  s   
 r  c                   @  sB   e Zd ZU dZded< edddZded< edd	dZd
ed< dS )	Reasoningr  zOptional[ReasoningEffort]effortNz**Deprecated:** use `summary` instead.

A summary of the reasoning performed by the model. This can be
useful for debugging and understanding the model's reasoning process.
One of `auto`, `concise`, or `detailed`.
r%   zOptional[GenerateSummary]generate_summaryzA summary of the reasoning performed by the model. This can be
useful for debugging and understanding the model's reasoning process.
One of `auto`, `concise`, or `detailed`.
zOptional[Summary]r  )r   r   r   r!  r   r   r"  r  r    r    r    r!   r   N  s   
 r   c                   @  sF   e Zd ZU dZded< dZded< ded< dZded< dZded	< dS )
RecraftImageNr   r  zOptional[RecraftImageFeatures]featuresr   r  r  r  )r   r   r   r  r   r$  r  r  r    r    r    r!   r#  Z  s   
 r#  c                   @  s.   e Zd ZU ded< dZded< dZded< dS )RecraftProcessImageRequestr   r  NOptional[RecraftImageFormat]image_formatOptional[RecraftResponseFormat]r  )r   r   r   r   r'  r  r    r    r    r!   r%  b  r  r%  c                   @  &   e Zd ZU ded< ded< ded< dS )RecraftProcessImageResponserE   r  r  r#  r  Nr   r    r    r    r!   r*  h  r}  r*  c                   @  r  )RecraftTextLayoutzList[RecraftTextLayoutItem]rF   Nr   r    r    r    r!   r+  n  r  r+  c                   @  s   e Zd ZU dZded< dZded< ded< dZded< ded	< dZd
ed< dZded< dZ	ded< ded< dZ
ded< dZded< dZded< dZded< dZded< dS )$RecraftTransformImageWithMaskRequestNr{   
block_nsfwcalculate_featuresr   r  r&  r'  r9  Optional[RecraftTransformModel]r#  rh   rS  r   r   r3   re   r(  r  Optional[RecraftImageStyle]r  r  r  Optional[RecraftImageSubStyle]substyleOptional[RecraftTextLayout]text_layout)r   r   r   r-  r   r.  r'  r#  rS  r   r  r  r  r2  r4  r    r    r    r!   r,  r  s   
 r,  c                   @  f   e Zd ZU edddZded< edddZded< edd	dZded
< ded< edddZded< dS )ResponseContentPartAddedEvent.z-The index of the content part that was added.r%   rE   content_index=The ID of the output item that the content part was added to.r3   item_id@The index of the output item that the content part was added to.output_indexr  partz<The type of the event. Always `response.content_part.added`.r  r   N	r   r   r   r   r7  r   r9  r;  r   r    r    r    r!   r6       
 r6  c                   @  r5  )ResponseContentPartDoneEvent.z+The index of the content part that is done.r%   rE   r7  r8  r3   r9  r:  r;  r  r<  z;The type of the event. Always `response.content_part.done`.r  r   Nr=  r    r    r    r!   r?    r>  r?  c                   @  r  )	ResponseErrorr  r/  .z*A human-readable description of the error.r%   r3   r   N)r   r   r   r   r   r   r    r    r    r!   r@    r  r@  c                   @  r  )Rodin3DDownloadResponseNz!Optional[List[RodinResourceItem]]list)r   r   r   rB  r   r    r    r    r!   rA    r!  rA  c                   @  sf   e Zd ZU edddZded< dZded< dZd	ed
< dZded< edddZ	ded< dZ
ded< dS )Rodin3DGenerateRequest.z+The reference images to generate 3D Assets.r%   r3   r  NzOptional[RodinMaterialType]materialzOptional[RodinMeshModeType]	mesh_modezOptional[RodinQualityType]r  zSeed.rh   r~   zOptional[RodinTierType]tier)r   r   r   r   r  r   rD  rE  r  r~   rF  r    r    r    r!   rC    s   
 rC  c                   @  sj   e Zd ZU dZded< edddZded< edddZded< edddZded	< edd
dZ	ded< dS )Rodin3DGenerateResponseNzOptional[RodinGenerateJobsData]jobsr   r%   r   re   Timesubmit_timer4  uuid)
r   r   r   rH  r   r   r   re   rJ  rK  r    r    r    r!   rG    s   
 rG  c                   @  rV  )RodinCheckStatusJobItemNzOptional[RodinStatusOptions]r9   zsub uuidr%   r   rK  )r   r   r   r9   r   r   rK  r    r    r    r!   rL    s   
 rL  c                   @  s\   e Zd ZU ded< ded< ded< eddd	d
Zded< ded< edddddZded< dS )RunwayImageToVideoRequestrS  r  rU  r#  r]  promptImageNzText prompt for the generationrx  rV  r   r  rJ  ry  .zRandom seed for generationr   l    r_   rE   r~   )r   r   r   r   r   r  r~   r    r    r    r!   rM    s   
 rM  c                   @  sN  e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	ded	< dZ
ded
< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded < dZd!ed"< dZded#< dZded$< dZ d%ed&< dZ!ded'< dZ"ded(< dZ#ded)< dZ$d*ed+< dZ%ded,< dZ&ded-< dZ'ded.< dZ(ded/< dZ)ded0< dZ*d1ed2< dZ+ded3< dZ,d4ed5< dZ-ded6< dZ.ded7< dZ/ded8< dZ0ded9< dZ1ded:< dZ2ded;< dZ3ded<< dS )=StripeChargeNrh   amountamount_capturedamount_refundedr   applicationapplication_feeapplication_fee_amountbalance_transactionzOptional[StripeBillingDetails]billing_detailscalculated_statement_descriptorr{   capturedr  currencycustomerr   r  destinationdisputedisputedfailure_balance_transactionfailure_codefailure_messager,   fraud_detailsr   invoicelivemodemetadatazOptional[Object1]rC  on_behalf_oforderzOptional[StripeOutcome]outcomepaidr9  payment_methodz$Optional[StripePaymentMethodDetails]payment_method_detailsradar_optionsreceipt_emailreceipt_numberreceipt_urlrefundedzOptional[StripeRefundList]refundsreviewOptional[StripeShipping]shippingsourcesource_transferstatement_descriptorstatement_descriptor_suffixr9   transfer_datatransfer_group)4r   r   r   rP  r   rQ  rR  rS  rT  rU  rV  rW  rX  rY  r  rZ  r[  r   r\  r]  r^  r_  r`  ra  rb  r   rc  rd  re  rC  rf  rg  rh  ri  r9  rj  rk  rl  rm  rn  ro  rp  rq  rr  rt  ru  rv  rw  rx  r9   ry  rz  r    r    r    r!   rO    sb   
 rO  c                   @  r@  )StripeChargeListNzOptional[List[StripeCharge]]r  r{   rB  r   rC  rh   rD  r  rE  r    r    r    r!   r{    r"   r{  c                   @  s  e Zd ZU dZded< dZded< dZded< dZded< dZded	< dZ	ded
< dZ
ded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded < dZd!ed"< dZded#< dZded$< dZded%< dZ d&ed'< dZ!d(ed)< dZ"ded*< dZ#ded+< dZ$ded,< dZ%ded-< dZ&d.ed/< dZ'ded0< dZ(ded1< dZ)ded2< dZ*ded3< dZ+ded4< dZ,ded5< dS )6StripePaymentIntentNrh   rP  amount_capturablezOptional[StripeAmountDetails]amount_detailsamount_receivedr   rS  rU  r  automatic_payment_methodscanceled_atcancellation_reasoncapture_methodzOptional[StripeChargeList]chargesclient_secretconfirmation_methodr  rZ  r[  r   r   rc  last_payment_errorlatest_charger{   rd  r,   re  next_actionzOptional[Object3]rC  rf  rj  $payment_method_configuration_detailsz$Optional[StripePaymentMethodOptions]payment_method_optionsr   payment_method_typesr  rm  rr  setup_future_usagers  rt  ru  rw  rx  r9   ry  rz  )-r   r   r   rP  r   r}  r~  r  rS  rU  r  r  r  r  r  r  r  r  rZ  r[  r   r   rc  r  r  rd  re  r  rC  rf  rj  r  r  r  r  rm  rr  r  rt  ru  rw  rx  r9   ry  rz  r    r    r    r!   r|    sT   
 r|  c                   @  r   )TextResponseFormatConfiguration.aI  An object specifying the format that the model must output.

Configuring `{ "type": "json_schema" }` enables Structured Outputs, 
which ensures the model will match your supplied JSON schema. Learn more in the 
[Structured Outputs guide](/docs/guides/structured-outputs).

The default format is `{ "type": "text" }` with no additional options.

**Not recommended for gpt-4o and newer models:**

Setting to `{ "type": "json_object" }` enables the older JSON mode, which
ensures the message the model generates is valid JSON. Using `json_schema`
is preferred for models that support it.
r%   zQUnion[ResponseFormatText, TextResponseFormatJsonSchema, ResponseFormatJsonObject]rF   NrG   r    r    r    r!   r  8  s   
 	r  c                   @  r   )Tool.r   )r  zQUnion[FileSearchTool, FunctionTool, WebSearchPreviewTool, ComputerUsePreviewTool]rF   NrG   r    r    r    r!   r  G  s   
 
	r  c                   @  sJ   e Zd ZU edddZded< ded< dZded	< ed
ddZded< dS )BulkNodeVersionResultNzCError message if retrieval failed (only present if status is error)r%   r   error_messager|  
identifierOptional[NodeVersion]node_version.z!Status of the retrieval operationr8   r9   )r   r   r   r   r  r   r  r9   r    r    r    r!   r  S  s   
 r  c                   @  r   )BulkNodeVersionsResponse.z1List of retrieved node versions with their statusr%   zList[BulkNodeVersionResult]rm  Nrn  r    r    r    r!   r  ]  r'   r  c                   @  sJ   e Zd ZU edddZded< edddZded< ed	d
dZded< d	S )EasyInputMessage.zvText, image, or audio input to the model, used to generate a response.
Can also contain previous assistant responses.
r%   z#Union[str, InputMessageContentList]r  zUThe role of the message input. One of `user`, `assistant`, `system`, or
`developer`.
r   r{  Nz1The type of the message input. Always `message`.
zOptional[Type2]r   r  r    r    r    r!   r  c  s   
 r  c                   @  s,   e Zd ZU ded< eddgdZded< dS )	GeminiContentzList[GeminiPart]rz  .r   r  r"  r{  N)r   r   r   r   r   r{  r    r    r    r!   r  q  s   
 r  c                   @  sR   e Zd ZU ded< dZded< dZded< dZded	< dZd
ed< dZded< dS )GeminiGenerateContentRequestzList[GeminiContent]contentsNz Optional[GeminiGenerationConfig]generationConfigz#Optional[List[GeminiSafetySetting]]safetySettingsz(Optional[GeminiSystemInstructionContent]systemInstructionzOptional[List[GeminiTool]]toolszOptional[GeminiVideoMetadata]videoMetadata)	r   r   r   r   r  r  r  r  r  r    r    r    r!   r  v  s   
 r  c                   @  sj   e Zd ZU edddZded< dZded< dZd	ed
< dZded< edddZ	ded< ded< ded< dS )GithubReleaseWebhook.z#The action performed on the releaser%   r  r   NzOptional[GithubEnterprise]r  zOptional[GithubInstallation]installationzOptional[GithubOrganization]organizationzThe release objectr  releaser  
repositoryr  sender)
r   r   r   r   r   r   r  r  r  r  r    r    r    r!   r    s   
 r  c                   @  r  )ImagenGenerateImageRequestz#List[ImagenImageGenerationInstance]r  r  r  Nr   r    r    r    r!   r    r   r  c                   @  r  )
InputMessageNz!Optional[InputMessageContentList]r  zOptional[Role3]r{  r  r9   zOptional[Type10]r   )r   r   r   r  r   r{  r9   r   r    r    r    r!   r    r   r  c                   @  r   )Item.z*Content item used to generate a response.
r%   z|Union[InputMessage, OutputMessage, FileSearchToolCall, ComputerToolCall, WebSearchToolCall, FunctionToolCall, ReasoningItem]rF   NrG   r    r    r    r!   r    s   
 
r  c                   @  s   e Zd ZU dZded< edddZded< edddZd	ed
< dZded< edddZ	ded< edddZ
d	ed< edddZded< dZded< dS )LumaGenerationNzOptional[LumaAssets]r  z1The date and time when the generation was createdr%   r   r   z*The reason for the state of the generationr   failure_reasonzOptional[LumaGenerationType]r  r  r  r   z!The model used for the generationr#  zThe request of the generationzOptional[Union[LumaGenerationRequest, LumaImageGenerationRequest, LumaUpscaleVideoGenerationRequest, LumaAudioGenerationRequest]]requestzOptional[LumaState]r  )r   r   r   r  r   r   r   r  r  r   r#  r  r  r    r    r    r!   r    s   
 

r  c                   @  r  )
OutputItemznUnion[OutputMessage, FileSearchToolCall, FunctionToolCall, WebSearchToolCall, ComputerToolCall, ReasoningItem]rF   Nr   r    r    r    r!   r    s   
 r  c                   @  s   e Zd ZU edddZded< dZded< edddZded	< edd
dZded< edddZ	ded< dZ
ded< dZded< dZded< dZded< dZded< dS )	PublisherNz,The date and time the publisher was created.r%   r   r)   r   r   zVThe unique identifier for the publisher. It's akin to a username. Should be lowercase.r   zURL to the publisher's logo.logoz#A list of members in the publisher.zOptional[List[PublisherMember]]r  r   source_code_repozOptional[PublisherStatus]r9   supportwebsite)r   r   r   r   r)   r   r   r   r  r  r   r  r9   r  r  r    r    r    r!   r    s$   
 r  c                   @  r)  )RecraftGenerateImageResponserE   r  r  zList[RecraftImage]r  Nr   r    r    r    r!   r    r}  r  c                   @  s   e Zd ZU dZded< dZded< dZded< ded< dZd	ed
< dZded< dZ	ded< dZ
ded< ded< dZded< ded< dZded< dZded< dZded< dZded< dS )RecraftImageToImageRequestNr{   r-  r.  zOptional[RecraftUserControls]r  r   r  r&  r'  r/  r#  rh   rS  r   r   r3   re   r(  r  rQ   r  r0  r  r  r  r1  r2  r3  r4  )r   r   r   r-  r   r.  r  r'  r#  rS  r   r  r  r  r2  r4  r    r    r    r!   r    s    
 r  c                   @  >   e Zd ZU ded< edddZded< edddZd	ed
< dS )ResponseOutputItemAddedEventr  item.z-The index of the output item that was added.
r%   rE   r;  z<The type of the event. Always `response.output_item.added`.
r&  r   Nr   r   r   r   r   r;  r   r    r    r    r!   r       
 r  c                   @  r  )ResponseOutputItemDoneEventr  r  .z3The index of the output item that was marked done.
r%   rE   r;  z;The type of the event. Always `response.output_item.done`.
r(  r   Nr  r    r    r    r!   r    r  r  c                   @  r  )TextNz)Optional[TextResponseFormatConfiguration]format)r   r   r   r  r   r    r    r    r!   r    r!  r  c                   @  s   e Zd ZU edddZded< edddZded< dZd	ed
< edddZded< dZ	ded< dZ
ded< edddZded< dZded< edddZded< dS )ResponsePropertiesNa,  Inserts a system (or developer) message as the first item in the model's context.

When using along with `previous_response_id`, the instructions from a previous
response will not be carried over to the next response. This makes it simple
to swap out system (or developer) messages in new responses.
r%   r   r8  zAn upper bound for the number of tokens that can be generated for a response, including visible output tokens and [reasoning tokens](/docs/guides/reasoning).
rh   r9  zOptional[OpenAIModels]r#  zThe unique ID of the previous response to the model. Use this to
create multi-turn conversations. Learn more about 
[conversation state](/docs/guides/conversation-state).
previous_response_idzOptional[Reasoning]r  zOptional[Text]r  zHow the model should select which tool (or tools) to use when generating
a response. See the `tools` parameter to see how to specify which tools
the model can call.
zGOptional[Union[ToolChoiceOptions, ToolChoiceTypes, ToolChoiceFunction]]tool_choicezOptional[List[Tool]]r  r6  a  The truncation strategy to use for the model response.
- `auto`: If the context of this response and previous ones exceeds
  the model's context window size, the model will truncate the 
  response to fit the context window by dropping input items in the
  middle of the conversation. 
- `disabled` (default): If a model response will exceed the context window 
  size for a model, the request will fail with a 400 error.
zOptional[Truncation1]r;  )r   r   r   r   r8  r   r9  r#  r  r  r  r  r  r;  r    r    r    r!   r    s4   
 
r  c                   @  r#   )Rodin3DCheckStatusResponseNz"Details for the generation status.r%   z'Optional[List[RodinCheckStatusJobItem]]rH  )r   r   r   r   rH  r   r    r    r    r!   r  :  r'   r  c                   @  r  )Data8NzOptional[StripePaymentIntent]rC  )r   r   r   rC  r   r    r    r    r!   r  @  r!  r  c                   @  sj   e Zd ZU dZded< dZded< ded< ded	< dZd
ed< ded< dZded< dZded< ded< dS )StripeEventNr   api_versionrh   r  r  r  r3   r   r{   rd  r,  rC  pending_webhookszOptional[StripeRequestInfo]r  r.  r   )	r   r   r   r  r   r  rd  r  r  r    r    r    r!   r  D  s   
 r  c                   @  r  )
GeminiCandidateNz Optional[GeminiCitationMetadata]citationMetadatazOptional[GeminiContent]r  r   finishReasonru  rv  )r   r   r   r  r   r  r  rv  r    r    r    r!   r  P  r   r  c                   @  re  )GeminiGenerateContentResponseNzOptional[List[GeminiCandidate]]
candidateszOptional[GeminiPromptFeedback]promptFeedbackzOptional[GeminiUsageMetadata]usageMetadata)r   r   r   r  r   r  r  r    r    r    r!   r  W  rh  r  c                   @  r  )	InputItemzUnion[EasyInputMessage, Item]rF   Nr   r    r    r    r!   r  ]  r  r  c                   @  s  e Zd ZU dZded< edddZded< edddZded< edd	dZd
ed< dZ	ded< edddZ
ded< edddZded< edddZded< edddZded< dZded< edddZded< edddZded< edddZded< dZded < edd!dZd"ed#< edd$dZded%< edd&dZded'< dZd(ed)< edd*dZded+< edd,dZded-< edd.dZded/< edd0dZded1< edd2dZded3< dZded4< edd5dZd6ed7< dS )8NodeNr   rk  zURL to the node's banner.r%   
banner_urlzThe category of the node.r   z+The date and time when the node was createdr   r   r   z$The number of downloads of the node.rh   	downloadsz)Number of stars on the GitHub repository.github_starszURL to the node's icon.r  r	  r   r  latest_versionz6The path to the LICENSE file in the node's repository.r  zThe display name of the node.r   z;A list of Comfy node names that are preempted by this node.r   preempted_comfy_node_nameszOptional[Publisher]	publisherzThe average rating of the node.r`   ratingzURL to the node's repository.r  zZA numerical value representing the node's search ranking, used for sorting search results.search_rankingzOptional[NodeStatus]r9   zThe status detail of the node.status_detailr  r  r  r  r  r  r  r  tagsz5Translations of node metadata in different languages.z#Optional[Dict[str, Dict[str, Any]]]translations)r   r   r   rk  r   r   r  r   r   r   r  r  r  r   r  r  r   r  r  r  r  r  r9   r  r  r  r  r  r  r  r    r    r    r!   r  a  sh   
 r  c                   @  s~   e Zd ZU edddZded< edddZded	< ed
ddZded< ed
ddZded< edddZ	ded< dZ
ded< dS )OpenAICreateResponseNae  Specify additional output data to include in the model response. Currently
supported values are:
- `file_search_call.results`: Include the search results of
  the file search tool call.
- `message.input_image.image_url`: Include image urls from the input message.
- `computer_call_output.output.image_url`: Include image urls from the computer call output.
r%   zOptional[List[Includable]]include.a=  Text, image, or file inputs to the model, used to generate a response.

Learn more:
- [Text inputs and outputs](/docs/guides/text)
- [Image inputs](/docs/guides/images)
- [File inputs](/docs/guides/pdf-files)
- [Conversation state](/docs/guides/conversation-state)
- [Function calling](/docs/guides/function-calling)
zUnion[str, List[InputItem]]r  T:Whether to allow the model to run tool calls in parallel.
r{   parallel_tool_callszKWhether to store the generated model response for later retrieval via
API.
storeFaI  If set to true, the model response data will be streamed to the client
as it is generated using [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format).
See the [Streaming section below](/docs/api-reference/responses-streaming)
for more information.
streamOptional[ResponseUsage]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dddZded< dZded< edddZd	ed
< edddZded< edddZ	ded< edddZ
ded< edddZd	ed< edddZded< edddZded< dZded< dS )OpenAIResponseNz>Unix timestamp (in seconds) of when this Response was created.r%   r`   r   zOptional[ResponseError]r   z$Unique identifier for this Response.r   r   z.Details about why the response is incomplete.
zOptional[IncompleteDetails]incomplete_detailsz<The object type of this resource - always set to `response`.zOptional[Object]rC  at  An array of content items generated by the model.

- The length and order of items in the `output` array is dependent
  on the model's response.
- Rather than accessing the first item in the `output` array and 
  assuming it's an `assistant` message with the content generated by
  the model, you might consider using the `output_text` property where
  supported in SDKs.
zOptional[List[OutputItem]]rf  zSDK-only convenience property that contains the aggregated text output 
from all `output_text` items in the `output` array, if any are present. 
Supported in the Python and JavaScript SDKs.
r  Tr  r{   r  zdThe status of the response generation. One of `completed`, `failed`, `in_progress`, or `incomplete`.zOptional[Status7]r9   r  r  )r   r   r   r   r   r   r   r   r  rC  rf  r  r  r9   r  r    r    r    r!   r    s:   
 r  c                   @  r  )	ResponseCompletedEventr  r  .z3The type of the event. Always `response.completed`.r%   r  r   Nr   r   r   r   r   r   r    r    r    r!   r    r(  r  c                   @  r  )	ResponseCreatedEventr  r  .z1The type of the event. Always `response.created`.r%   r  r   Nr  r    r    r    r!   r    r(  r  c                   @  r  )	ResponseFailedEventr  r  .z1The type of the event. Always `response.failed`.
r%   r  r   Nr  r    r    r    r!   r    r(  r  c                   @  r  )	ResponseInProgressEventr  r  .z6The type of the event. Always `response.in_progress`.
r%   r"  r   Nr  r    r    r    r!   r    r(  r  c                   @  r  )	ResponseIncompleteEventr  r  .z5The type of the event. Always `response.incomplete`.
r%   r$  r   Nr  r    r    r    r!   r    r(  r  c                   @  r   )OpenAIResponseStreamEvent.z4Events that can be emitted during response streamingr%   a  Union[ResponseCreatedEvent, ResponseInProgressEvent, ResponseCompletedEvent, ResponseFailedEvent, ResponseIncompleteEvent, ResponseOutputItemAddedEvent, ResponseOutputItemDoneEvent, ResponseContentPartAddedEvent, ResponseContentPartDoneEvent, ResponseErrorEvent]rF   NrG   r    r    r    r!   r    s   
 
r  N(_  
__future__r   r   r   enumr   typingr   r   r   r	   r
   r   rK  r   pydanticr   r   r   r   r   r   r   r$   r(   r/   r7   rE   r>   rI   rQ   rM   rR   rW   r[   rl   ro   rp   r3   rr   rw   r   r   r   r   r   r   r   r   r   r   r   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r  r  r  r"  r$  r%  r3  rG  rK  rP  rW  rY  r_  rb  re  ri  rr  ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r#  r(  r.  r2  r7  r<  r?  rG  rJ  rX  rZ  r]  r`  rc  rh  rq  rv  rx  r{  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r!  r"  r'  r*  r2  r5  r7  r<  r=  rE  rj  rm  rn  rp  rr  ru  rx  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r	  r  r  r  r!  r%  r'  r(  r+  r,  r0  rA  rC  r  rJ  rL  rO  rR  rY  r_  r`  ra  rd  rf  ri  ro  ru  rv  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r$  r&  r(  r*  r+  r-  r/  r1  r3  r6  r8  r;  r>  r@  rA  rF  rJ  rS  rT  rU  rX  r[  r]  r^  re  rh  rt  rv  rw  r{  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r*  r,  r.  r0  r8  r:  r<  r?  rA  rF  rH  rK  rM  rQ  rR  rS  rV  rY  rZ  re  rh  rp  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r$  r%  r)  r>  r[  r\  ri  rk  rl  CreateModelResponsePropertiesro  rp  rr  rw  ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r   r#  r%  r*  r+  r,  r6  r?  r@  rA  rC  rG  rL  rM  rO  r{  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r    r    r    r!   <module>   s    








"

"
	
	)		'
	
	
"


$	9/	%/<

3
			
7%						




.E;G:	*)")		$					$.	
"	3,
	


(6