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