forked from openai/openai-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathimage_edit_params.py
More file actions
145 lines (105 loc) · 5.25 KB
/
Copy pathimage_edit_params.py
File metadata and controls
145 lines (105 loc) · 5.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Union, Optional
from typing_extensions import Literal, Required, TypedDict
from .._types import FileTypes, SequenceNotStr
from .image_model import ImageModel
__all__ = ["ImageEditParamsBase", "ImageEditParamsNonStreaming", "ImageEditParamsStreaming"]
class ImageEditParamsBase(TypedDict, total=False):
image: Required[Union[FileTypes, SequenceNotStr[FileTypes]]]
"""The image(s) to edit. Must be a supported image file or an array of images.
For `gpt-image-1`, each image should be a `png`, `webp`, or `jpg` file less than
50MB. You can provide up to 16 images.
For `dall-e-2`, you can only provide one image, and it should be a square `png`
file less than 4MB.
"""
prompt: Required[str]
"""A text description of the desired image(s).
The maximum length is 1000 characters for `dall-e-2`, and 32000 characters for
`gpt-image-1`.
"""
background: Optional[Literal["transparent", "opaque", "auto"]]
"""
Allows to set transparency for the background of the generated image(s). This
parameter is only supported for `gpt-image-1`. Must be one of `transparent`,
`opaque` or `auto` (default value). When `auto` is used, the model will
automatically determine the best background for the image.
If `transparent`, the output format needs to support transparency, so it should
be set to either `png` (default value) or `webp`.
"""
input_fidelity: Optional[Literal["high", "low"]]
"""
Control how much effort the model will exert to match the style and features,
especially facial features, of input images. This parameter is only supported
for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and
`low`. Defaults to `low`.
"""
mask: FileTypes
"""An additional image whose fully transparent areas (e.g.
where alpha is zero) indicate where `image` should be edited. If there are
multiple images provided, the mask will be applied on the first image. Must be a
valid PNG file, less than 4MB, and have the same dimensions as `image`.
"""
model: Union[str, ImageModel, None]
"""The model to use for image generation.
Only `dall-e-2` and `gpt-image-1` are supported. Defaults to `dall-e-2` unless a
parameter specific to `gpt-image-1` is used.
"""
n: Optional[int]
"""The number of images to generate. Must be between 1 and 10."""
output_compression: Optional[int]
"""The compression level (0-100%) for the generated images.
This parameter is only supported for `gpt-image-1` with the `webp` or `jpeg`
output formats, and defaults to 100.
"""
output_format: Optional[Literal["png", "jpeg", "webp"]]
"""The format in which the generated images are returned.
This parameter is only supported for `gpt-image-1`. Must be one of `png`,
`jpeg`, or `webp`. The default value is `png`.
"""
partial_images: Optional[int]
"""The number of partial images to generate.
This parameter is used for streaming responses that return partial images. Value
must be between 0 and 3. When set to 0, the response will be a single image sent
in one streaming event.
Note that the final image may be sent before the full number of partial images
are generated if the full image is generated more quickly.
"""
quality: Optional[Literal["standard", "low", "medium", "high", "auto"]]
"""The quality of the image that will be generated.
`high`, `medium` and `low` are only supported for `gpt-image-1`. `dall-e-2` only
supports `standard` quality. Defaults to `auto`.
"""
response_format: Optional[Literal["url", "b64_json"]]
"""The format in which the generated images are returned.
Must be one of `url` or `b64_json`. URLs are only valid for 60 minutes after the
image has been generated. This parameter is only supported for `dall-e-2`, as
`gpt-image-1` will always return base64-encoded images.
"""
size: Optional[Literal["256x256", "512x512", "1024x1024", "1536x1024", "1024x1536", "auto"]]
"""The size of the generated images.
Must be one of `1024x1024`, `1536x1024` (landscape), `1024x1536` (portrait), or
`auto` (default value) for `gpt-image-1`, and one of `256x256`, `512x512`, or
`1024x1024` for `dall-e-2`.
"""
user: str
"""
A unique identifier representing your end-user, which can help OpenAI to monitor
and detect abuse.
[Learn more](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids).
"""
class ImageEditParamsNonStreaming(ImageEditParamsBase, total=False):
stream: Optional[Literal[False]]
"""Edit the image in streaming mode.
Defaults to `false`. See the
[Image generation guide](https://platform.openai.com/docs/guides/image-generation)
for more information.
"""
class ImageEditParamsStreaming(ImageEditParamsBase):
stream: Required[Literal[True]]
"""Edit the image in streaming mode.
Defaults to `false`. See the
[Image generation guide](https://platform.openai.com/docs/guides/image-generation)
for more information.
"""
ImageEditParams = Union[ImageEditParamsNonStreaming, ImageEditParamsStreaming]