
    +jV                     J   d dl mZmZ  G d de          Z G d de          Z G d de          Z G d d	e          Z G d
 de          Z G d de          Z G d de          Z	 G d de          Z
 G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e	e
          Z G d" d#e          Z G d$ d%e          Z G d& d'e          Z G d( d)e	e
          Zd*S )+    )	BaseModelFieldc                       e Zd ZU  edd          Zedz  ed<    edd          Zedz  ed<    edd          Zedz  ed<   dS )	Datum2NzBase64 encoded image datadescriptionb64_jsonzRevised promptrevised_promptzURL of the imageurl)	__name__
__module____qualname__r   r	   str__annotations__r
   r        ;/home/wildlama/comfy/ComfyUI/comfy_api_nodes/apis/openai.pyr   r      s~          53NOOOHcDjOOO!&t9I!J!J!JNC$JJJJeD.@AAACtAAAAAr   r   c                   \    e Zd ZU  ed          Zedz  ed<    ed          Zedz  ed<   dS )InputTokensDetailsNimage_tokenstext_tokens)r   r   r   r   r   intr   r   r   r   r   r   r   
   sJ         $uT{{L#****#eDkkKt)))))r   r   c                       e Zd ZU  ed          Zedz  ed<    ed          Zedz  ed<    ed          Z	edz  ed<    ed          Z
edz  ed<   dS )UsageNinput_tokensinput_tokens_detailsoutput_tokenstotal_tokens)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s         $uT{{L#****6;eDkk,t3AAA %dM3:+++$uT{{L#******r   r   c                   h    e Zd ZU  ed          Zee         dz  ed<    ed          Ze	dz  ed<   dS )OpenAIImageGenerationResponseNdatausage)
r   r   r   r   r!   listr   r   r"   r   r   r   r   r    r       sO          %dD$v,
+++%++E54<%%%%%r   r    c                   n   e Zd ZU  edd          Zedz  ed<    ed          Zeed<    ed          Zedz  ed<    edd          Z	e
dz  ed	<    edd
          Ze
dz  ed<    ed          Zedz  ed<    ed          Zeed<    edd          Zedz  ed<    edd          Zedz  ed<   dS )OpenAIImageEditRequestNBackground transparencyr   
background.model
moderationz The number of images to generaten*Compression level for JPEG or WebP (0-100)output_compressionoutput_formatprompt4Size of the image (e.g., 1024x1024, 1536x1024, auto)qualityzSize of the output imagesize)r   r   r   r   r'   r   r   r(   r)   r*   r   r,   r-   r.   r0   r1   r   r   r   r%   r%      s/        "U45NOOOJd
OOOsE3"U4[[Jd
(((E$,NOOOAsTzOOO%*U4=i%j%j%jd
jjj %dM3:+++%**FC%2hiiiGS4ZiiiuT/IJJJD#*JJJJJr   r%   c                      e Zd ZU  edd          Zedz  ed<    ed          Zedz  ed<    ed          Zedz  ed<    edd          Z	e
dz  ed<    edd	          Ze
dz  ed
<    ed          Zedz  ed<    ed          Zeed<    edd          Zedz  ed<    edd          Zedz  ed<    edd          Zedz  ed<   dS )OpenAIImageGenerationRequestNr&   r   r'   r(   r)   z!The number of images to generate.r*   r+   r,   r-   .r.   z"The quality of the generated imager0   r/   r1   z&Style of the image (only for dall-e-3)style)r   r   r   r   r'   r   r   r(   r)   r*   r   r,   r-   r.   r0   r1   r4   r   r   r   r3   r3   '   sf        "U45NOOOJd
OOOdE3:###"U4[[Jd
(((E7  AsTz    &+U4=i%j%j%jd
jjj %dM3:+++%**FC%2VWWWGS4ZWWWuT/efffD#*fffd0XYYYE3:YYYYYr   r3   c                      e Zd ZU  ed          Zedz  ed<    ed          Zedz  ed<    ed          Z	edz  ed<    edddd          Z
edz  ed	<    edd
dd          Zedz  ed<    edd          Zedz  ed<   dS )ModelResponsePropertiesNinstructionsmax_output_tokensr(   z#Controls randomness in the responseg        g       @)r   geletemperaturez7Controls diversity of the response via nucleus samplingg      ?top_p$Allowed values: 'auto' or 'disabled'r   
truncation)r   r   r   r   r7   r   r   r8   r   r(   r;   floatr<   r>   r   r   r   r6   r6   7   s         $uT{{L#****$)E$KKsTz///dE3:### %d8]bejm n n nKnnn%M	  E54<    #U45[\\\Jd
\\\\\r   r6   c                       e Zd ZU  ed          Zedz  ed<    ed          Zedz  ed<    ed          Z	edz  ed<    ed          Z
edz  ed<    edd          Zedz  ed	<   dS )
ResponsePropertiesNr7   r8   r(   previous_response_iddisabledr=   r   r>   )r   r   r   r   r7   r   r   r8   r   r(   rB   r>   r   r   r   rA   rA   E   s         $uT{{L#****$)E$KKsTz///dE3:###',uT{{#*222"U:;abbbJd
bbbbbr   rA   c                   P    e Zd ZU  ed          Zeed<    ed          Zeed<   dS )ResponseError.codemessageN)r   r   r   r   rF   r   r   rG   r   r   r   rE   rE   M   sB         c

D#5::GSr   rE   c                   4    e Zd ZU  edd          Zeed<   dS )OutputTokensDetails.zThe number of reasoning tokens.r   reasoning_tokensN)r   r   r   r   rJ   r   r   r   r   r   rI   rI   R   s3         !E#3TUUUcUUUUUr   rI   c                   4    e Zd ZU  edd          Zeed<   dS )CachedTokensDetails.z8The number of tokens that were retrieved from the cache.r   cached_tokensN)r   r   r   r   rM   r   r   r   r   r   rL   rL   V   sC         N  M3     r   rL   c                       e Zd ZU  edd          Zeed<    ed          Zeed<    edd          Z	eed<    ed          Z
eed<    edd	          Zeed
<   dS )ResponseUsage.zThe number of input tokens.r   r   r   zThe number of output tokens.r   output_tokens_detailsz The total number of tokens used.r   N)r   r   r   r   r   r   r   r   rL   r   rP   rI   r   r   r   r   rO   rO   ]   s         c/LMMML#MMM05c

-:::s0NOOOM3OOO16s.;;;c/QRRRL#RRRRRr   rO   c                   T    e Zd ZU  edd          Zeed<    ed          Zeed<   dS )InputTextContent.zThe text input to the model.r   text
input_texttypeN)r   r   r   r   rS   r   r   rU   r   r   r   rR   rR   e   sL         c'EFFFD#FFFl##D######r   rR   c                       e Zd ZU  edd          Zeed<    edd          Zedz  ed<    edd          Zedz  ed	<    edd
          Z	edz  ed<   dS )OutputContent.zThe type of output contentr   rU   NzThe text contentrS   zBase64-encoded audio datar!   zTranscript of the audio
transcript)
r   r   r   r   rU   r   r   rS   r!   rX   r   r   r   rW   rW   j   s         c'CDDDD#DDDuT/ABBBD#*BBBuT/JKKKD#*KKK"U45NOOOJd
OOOOOr   rW   c                       e Zd ZU  edd          Zeed<    edd          Zee	         dz  ed<    edd          Z
edz  ed	<   dS )
OutputMessage.zThe type of output itemr   rU   NzThe content of the messagecontentzThe role of the messagerole)r   r   r   r   rU   r   r   r[   r#   rW   r\   r   r   r   rZ   rZ   q   s         c'@AAAD#AAA*/%B^*_*_*_GT- 4'___uT/HIIID#*IIIIIr   rZ   c                   \   e Zd ZU  edd          Zedz  ed<    ed          Zedz  ed<    edd          Z	e
dz  ed<    edd          Ze
dz  ed	<    ed          Zee         dz  ed
<    ed          Zedz  ed<    edd          Ze
dz  ed<    ed          Zedz  ed<   dS )OpenAIResponseNz>Unix timestamp (in seconds) of when this Response was created.r   
created_aterrorz$Unique identifier for this Response.idz<The object type of this resource - always set to `response`.objectoutputTparallel_tool_callsz=One of `completed`, `failed`, `in_progress`, or `incomplete`.statusr"   )r   r   r   r   r_   r?   r   r`   rE   ra   r   rb   rc   r#   rZ   rd   boolre   r"   rO   r   r   r   r^   r^   w   s9        $uT     J    #(%++E=4---U4-STTTBd
TTTt1opppFC$Jppp).tFD$&444',uT{{222S  FC$J    #(%++E=4-----r   r^   c                       e Zd ZU  edd          Zeed<    ed          Zedz  ed<    ed          Zedz  ed<    edd          Z	eed	<   dS )
InputImageContent.z4One of `high`, `low`, or `auto`. Defaults to `auto`.r   detailNfile_id	image_urlz1The type of the input item. Always `input_image`.rU   )
r   r   r   r   ri   r   r   rj   rk   rU   r   r   r   rh   rh      s         %)_```FC```%++GS4Z%%%!E$KKIsTz'''c'Z[[[D#[[[[[r   rh   c                       e Zd ZU  ed          Zedz  ed<    ed          Zedz  ed<    edd          Zedz  ed<    edd          Z	eed	<   dS )
InputFileContentN	file_datarj   z-The name of the file to be sent to the model.r   filename.z0The type of the input item. Always `input_file`.rU   )
r   r   r   r   rn   r   r   rj   ro   rU   r   r   r   rm   rm      s         !E$KKIsTz'''%++GS4Z%%% 53bcccHcDjcccc'YZZZD#ZZZZZr   rm   c                       e Zd ZU  edd          Zeeez  ez           e	d<    ed          Z
edz  e	d<    ed          Zedz  e	d<   dS )InputMessage.zSA list of one or many input items to the model, containing different content types.r   r[   Nr\   rU   )r   r   r   r   r[   r#   rR   rh   rm   r   r\   r   rU   r   r   r   rq   rq      s         MRUiN N NGT"%669IIJ    uT{{D#*"""uT{{D#*"""""r   rq   c                      e Zd ZU  ed          Zedz  ed<    ed          Zee	         ed<    edd          Z
edz  ed<    edd	          Zedz  ed
<    ed          Zedz  ed<    ed          Zedz  ed<   dS )OpenAICreateResponseNinclude.inputTz9Whether to allow the model to run tool calls in parallel.r   rd   zJWhether to store the generated model response for later retrieval via API.storeFstreamr"   )r   r   r   r   rt   r   r   ru   r#   rq   rd   rf   rv   rw   r"   rO   r   r   r   rs   rs      s         %++GS4Z%%% %c

E4***',uU( ( (    `  E4$;     %,,FD4K&&&"'%++E=4-----r   rs   N)pydanticr   r   r   r   r   r    r%   r3   r6   rA   rE   rI   rL   rO   rR   rW   rZ   r^   rh   rm   rq   rs   r   r   r   <module>ry      s   % % % % % % % %B B B B BY B B B* * * * * * * *
+ + + + +I + + +& & & & &I & & &
	K 	K 	K 	K 	KY 	K 	K 	KZ Z Z Z Z9 Z Z Z ] ] ] ] ]i ] ] ]c c c c c c c c    I   
V V V V V) V V V    )   S S S S SI S S S$ $ $ $ $y $ $ $
P P P P PI P P PJ J J J JI J J J. . . . .,.@ . . ."\ \ \ \ \	 \ \ \[ [ [ [ [y [ [ [# # # # #9 # # #. . . . .24F . . . . .r   