
    h                        S SK Jr  S SKJrJrJr  S SKJr  SSKJ	r	J
r
  SSKJrJrJr  SSKJr  SS	KJr  \(       a  S S
KJr  SS jr " S S\5      r " S S\5      r " S S\5      r " S S5      rg)    )annotations)TYPE_CHECKINGAnycast)ArgumentParser   )
get_clientprint_model   )	NOT_GIVENNotGiven
NotGivenOr)	BaseModel)BufferReader)_SubParsersActionc                "   U R                  S5      nUR                  SS[        S9  UR                  SS[        SS9  UR                  S	S
[        SS9  UR                  SS[        SSS9  UR                  S[        SS9  UR	                  [
        R                  [        S9  U R                  S5      nUR                  SS[        S9  UR                  SS[        SS9  UR                  S	S
[        SS9  UR                  SS[        SSS9  UR                  SS[        SSS9  UR                  S[        SS9  UR                  SS[        SSS9  UR	                  [
        R                  [        S9  U R                  S5      nUR                  SS[        S9  UR                  S	S
[        SS9  UR                  SS[        SSS9  UR                  SS[        SSS9  UR                  S[        SS9  UR	                  [
        R                  [        S9  g )Nzimages.generatez-mz--model)typez-pz--promptT)r   requiredz-nz--num-images   )r   defaultz-sz--size	1024x1024zSize of the output image)r   r   helpz--response-formaturl)func
args_modelzimages.editz-Iz--imagez@Image to modify. Should be a local path and a PNG encoded image.)r   r   r   z-Mz--maskFzPath to a mask image. It should be the same size as the image you're editing and a RGBA PNG image. The Alpha channel acts as the mask.zimages.create_variation)
add_parseradd_argumentstrintset_defaultsCLIImagecreateCLIImageCreateArgseditCLIImageEditArgscreate_variationCLIImageCreateVariationArgs)	subparsersubs     G/var/www/html/env/lib/python3.13/site-packages/openai/cli/_api/image.pyregisterr+      s/   


0
1CT93/T:C$?T>Q?T8#{Icd(sEB(//6HI


}
-CT93/T:C$?T>Q?O   T8#{Icd(sEB V   (--4DE


8
9CT93/T>Q?O   T8#{Icd(sEB(33@[\    c                  L    \ rS rSr% S\S'   S\S'   S\S'   S\S'   \rS\S	'   S
rg)r#   =   r   promptr   
num_imagessizeresponse_formatNotGivenOr[str]model N__name__
__module____qualname____firstlineno____annotations__r   r4   __static_attributes__r5   r,   r*   r#   r#   =   s!    KO
I&E?&r,   r#   c                  L    \ rS rSr% S\S'   S\S'   S\S'   S\S'   \rS\S	'   S
rg)r'   E   r   imager   r0   r1   r2   r3   r4   r5   Nr6   r5   r,   r*   r'   r'   E   s!    JO
I&E?&r,   r'   c                  d    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S'   \rS	\S
'   \rS	\S'   Srg)r%   M   r   r?   r   r0   r1   r2   r/   r3   maskr4   r5   N)	r7   r8   r9   r:   r;   r   rB   r4   r<   r5   r,   r*   r%   r%   M   s0    JO
IK%D/%&E?&r,   r%   c                  P    \ rS rSr\SS j5       r\SS j5       r\S	S j5       rSrg)
r!   W   c           
         [        5       R                  R                  U R                  U R                  U R
                  [        [        U R                  5      [        [        U R                  5      S9n[        U5        g )N)r4   r/   nr1   r2   )r	   imagesgenerater4   r/   r0   r   r   r1   r2   r
   )argsr?   s     r*   r"   CLIImage.createX   s^    ##,,**;;oo c499% d&:&:; - 
 	Er,   c           
        [        U R                  S5       n[        UR                  5       SS9nS S S 5        [	        5       R
                  R                  U R                  SW4U R                  [        [        U R                  5      [        [        U R                  5      S9n[        U5        g ! , (       d  f       N= f)NrbzUpload progressdescr?   )r4   r?   rF   r1   r2   )openr?   r   readr	   rG   r&   r4   r0   r   r   r1   r2   r
   )rI   file_readerbuffer_readerr?   s       r*   r&   CLIImage.create_variatione   s    $**d#{()9)9);BSTM $ ##44**M*oo c499% d&:&:; 5 
 	E $#s   B//
B=c                   [        U R                  S5       n[        UR                  5       SS9nS S S 5        [	        U R
                  [        5      (       a  [        nO7[        U R
                  S5       n[        UR                  5       SS9nS S S 5        [        5       R                  R                  U R                  U R                  SW4U R                  [	        W[        5      (       d  SU4OU[        [        U R                   5      [        [        U R"                  5      S9n[%        U5        g ! , (       d  f       GN= f! , (       d  f       N= f)NrL   zImage upload progressrM   zMask progressr?   rB   )r4   r/   r?   rF   rB   r1   r2   )rO   r?   r   rP   
isinstancerB   r   r   r	   rG   r$   r4   r/   r0   r   r   r1   r2   r
   )rI   rQ   rR   rB   r?   s        r*   r$   CLIImage.editu   s    $**d#{()9)9);BYZM $ dii**-6Ddii&+#K$4$4$6_M ' ##((**;;M*oo'1$'A'A&$t c499% d&:&:; ) 

 	E) $# '&s   D14E1
E 
Er5   N)rI   r#   returnNone)rI   r'   rW   rX   )rI   r%   rW   rX   )	r7   r8   r9   r:   staticmethodr"   r&   r$   r<   r5   r,   r*   r!   r!   W   s<    
 
    r,   r!   N)r(   z!_SubParsersAction[ArgumentParser]rW   rX   )
__future__r   typingr   r   r   argparser   _utilsr	   r
   _typesr   r   r   _modelsr   	_progressr   r   r+   r#   r'   r%   r!   r5   r,   r*   <module>ra      s[    " + + # , 5 5  $*+]\' '') ''y '4 4r,   