14
14
15
15
def register (subparser : _SubParsersAction [ArgumentParser ]) -> None :
16
16
sub = subparser .add_parser ("images.generate" )
17
+ sub .add_argument ("-m" , "--model" , type = str )
17
18
sub .add_argument ("-p" , "--prompt" , type = str , required = True )
18
19
sub .add_argument ("-n" , "--num-images" , type = int , default = 1 )
19
20
sub .add_argument ("-s" , "--size" , type = str , default = "1024x1024" , help = "Size of the output image" )
20
21
sub .add_argument ("--response-format" , type = str , default = "url" )
21
22
sub .set_defaults (func = CLIImage .create , args_model = CLIImageCreateArgs )
22
23
23
24
sub = subparser .add_parser ("images.edit" )
25
+ sub .add_argument ("-m" , "--model" , type = str )
24
26
sub .add_argument ("-p" , "--prompt" , type = str , required = True )
25
27
sub .add_argument ("-n" , "--num-images" , type = int , default = 1 )
26
28
sub .add_argument (
@@ -42,6 +44,7 @@ def register(subparser: _SubParsersAction[ArgumentParser]) -> None:
42
44
sub .set_defaults (func = CLIImage .edit , args_model = CLIImageEditArgs )
43
45
44
46
sub = subparser .add_parser ("images.create_variation" )
47
+ sub .add_argument ("-m" , "--model" , type = str )
45
48
sub .add_argument ("-n" , "--num-images" , type = int , default = 1 )
46
49
sub .add_argument (
47
50
"-I" ,
@@ -60,13 +63,15 @@ class CLIImageCreateArgs(BaseModel):
60
63
num_images : int
61
64
size : str
62
65
response_format : str
66
+ model : NotGivenOr [str ] = NOT_GIVEN
63
67
64
68
65
69
class CLIImageCreateVariationArgs (BaseModel ):
66
70
image : str
67
71
num_images : int
68
72
size : str
69
73
response_format : str
74
+ model : NotGivenOr [str ] = NOT_GIVEN
70
75
71
76
72
77
class CLIImageEditArgs (BaseModel ):
@@ -76,12 +81,14 @@ class CLIImageEditArgs(BaseModel):
76
81
response_format : str
77
82
prompt : str
78
83
mask : NotGivenOr [str ] = NOT_GIVEN
84
+ model : NotGivenOr [str ] = NOT_GIVEN
79
85
80
86
81
87
class CLIImage :
82
88
@staticmethod
83
89
def create (args : CLIImageCreateArgs ) -> None :
84
90
image = get_client ().images .generate (
91
+ model = args .model ,
85
92
prompt = args .prompt ,
86
93
n = args .num_images ,
87
94
# casts required because the API is typed for enums
@@ -97,6 +104,7 @@ def create_variation(args: CLIImageCreateVariationArgs) -> None:
97
104
buffer_reader = BufferReader (file_reader .read (), desc = "Upload progress" )
98
105
99
106
image = get_client ().images .create_variation (
107
+ model = args .model ,
100
108
image = ("image" , buffer_reader ),
101
109
n = args .num_images ,
102
110
# casts required because the API is typed for enums
@@ -118,6 +126,7 @@ def edit(args: CLIImageEditArgs) -> None:
118
126
mask = BufferReader (file_reader .read (), desc = "Mask progress" )
119
127
120
128
image = get_client ().images .edit (
129
+ model = args .model ,
121
130
prompt = args .prompt ,
122
131
image = ("image" , buffer_reader ),
123
132
n = args .num_images ,
0 commit comments