Class ImageGenerationRequest
Creates an image given a prompt.
public sealed class ImageGenerationRequest
- Inheritance
-
ImageGenerationRequest
- Inherited Members
Constructors
ImageGenerationRequest(string, Model, int?, string, ImageResponseFormat, string, int?, string, string, string, string, string)
Constructor.
public ImageGenerationRequest(string prompt, Model model = null, int? numberOfResults = null, string quality = null, ImageResponseFormat responseFormat = (ImageResponseFormat)0, string outputFormat = null, int? outputCompression = null, string size = null, string moderation = null, string background = null, string style = null, string user = null)
Parameters
prompt
stringA text description of the desired image(s). The maximum length is 32000 characters for
gpt-image-1
, 1000 characters fordall-e-2
and 4000 characters fordall-e-3
.model
ModelThe model to use for image generation. One of
dall-e-2
,dall-e-3
, orgpt-image-1
. Defaults todall-e-2
unless a parameter specific togpt-image-1
is used.numberOfResults
int?The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.
quality
stringThe quality of the image that will be generated.
auto
(default value) will automatically select the best quality for the given model.high
,medium
andlow
are supported forgpt-image-1
.hd
andstandard
are supported fordall-e-3
.standard
is the only option fordall-e-2
.
responseFormat
ImageResponseFormatThe format in which generated images with
dall-e-2
anddall-e-3
are returned. Must be one ofurl
orb64_json
. URLs are only valid for 60 minutes after the image has been generated.gpt-image-1
does not support urls and only supports base64-encoded images.outputFormat
stringThe format in which the generated images are returned. Must be one of
png
,jpeg
, orwebp
.
This parameter is only supported forgpt-image-1
.outputCompression
int?The compression level (0-100%) for the generated images.
This parameter is only supported for thewebp
orjpeg
output formats, and defaults to 100.
This parameter is only supported forgpt-image-1
.size
stringThe size of the generated images. Must be one of
1024x1024
,1536x1024
(landscape),1024x1536
(portrait), orauto
(default value) forgpt-image-1
, one of256x256
,512x512
, or1024x1024
fordall-e-2
, and one of1024x1024
,1792x1024
, or1024x1792
fordall-e-3
.moderation
stringControl the content-moderation level for images generated by
gpt-image-1
. Must be eitherlow
for less restrictive filtering orauto
(default value).
This parameter is only supported forgpt-image-1
.background
stringAllows to set transparency for the background of the generated image(s). Must be one of
transparent
,opaque
orauto
(default value). Whenauto
is used, the model will automatically determine the best background for the image. Iftransparent
, the output format needs to support transparency, so it should be set to eitherpng
(default value) orwebp
.
This parameter is only supported forgpt-image-1
.style
stringThe style of the generated images. Must be one of
vivid
ornatural
. Vivid causes the model to lean towards generating hyper-real and dramatic images. Natural causes the model to produce more natural, less hyper-real looking images.
This parameter is only supported fordall-e-3
.user
stringA unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.
Properties
Background
Allows to set transparency for the background of the generated image(s).
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
.
[JsonPropertyName("background")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[FunctionProperty("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`.", false, null, new object[] { "transparent", "opaque", "auto" })]
public string Background { get; }
Property Value
Remarks
This parameter is only supported for gpt-image-1
Model
The model to use for image generation. One of dall-e-2
, dall-e-3
, or gpt-image-1
.
Defaults to dall-e-2
unless a parameter specific to gpt-image-1
is used.
[JsonPropertyName("model")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[FunctionProperty("The model to use for image generation. One of `dall-e-2`, `dall-e-3`, or `gpt-image-1`. Defaults to `dall-e-2` unless a parameter specific to `gpt-image-1` is used.", true, null, new object[] { "dall-e-2", "dall-e-3", "gpt-image-1" })]
public string Model { get; }
Property Value
Moderation
Control the content-moderation level for images generated by gpt-image-1
. Must be either low
for less restrictive filtering or auto
(default value).
[JsonPropertyName("moderation")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[FunctionProperty("Control the content-moderation level for images generated by `gpt-image-1`. Must be either `low` for less restrictive filtering or `auto` (default value).", false, null, new object[] { "auto", "low" })]
public string Moderation { get; }
Property Value
Remarks
This parameter is only supported for gpt-image-1
Number
The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.
[JsonPropertyName("n")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[FunctionProperty("The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.", true, 1, new object[] { })]
public int? Number { get; }
Property Value
- int?
OutputCompression
The compression level (0-100%) for the generated images.
This parameter is only supported the webp
or jpeg
output formats, and defaults to 100.
[JsonPropertyName("output_compression")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[FunctionProperty("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.", false, null, new object[] { })]
public int? OutputCompression { get; }
Property Value
- int?
Remarks
This parameter is only supported for gpt-image-1
OutputFormat
The format in which the generated images are returned.
Must be one of png
, jpeg
, or webp
.
[JsonPropertyName("output_format")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[FunctionProperty("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`.", false, "png", new object[] { "png", "jpeg", "webp" })]
public string OutputFormat { get; }
Property Value
Remarks
This parameter is only supported for gpt-image-1
.
Prompt
A text description of the desired image(s).
The maximum length is 32000 characters for gpt-image-1
, 1000 characters for dall-e-2
and 4000 characters for dall-e-3
.
[JsonPropertyName("prompt")]
[FunctionProperty("A text description of the desired image(s). The maximum length is 32000 characters for `gpt-image-1`, 1000 characters for `dall-e-2` and 4000 characters for `dall-e-3`.", true, null, new object[] { })]
public string Prompt { get; }
Property Value
Quality
The quality of the image that will be generated.
auto
(default value) will automatically select the best quality for the given model.high
,medium
andlow
are supported forgpt-image-1
.hd
andstandard
are supported fordall-e-3
.standard
is the only option fordall-e-2
.
[JsonPropertyName("quality")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[FunctionProperty("The quality of the image that will be generated.\n- `auto` (default value) will automatically select the best quality for the given model.\n- `high`, `medium` and `low` are supported for `gpt-image-1`.\n- `hd` and `standard` are supported for `dall-e-3`.\n- `standard` is the only option for `dall-e-2`.", false, null, new object[] { "auto", "high", "hd", "standard" })]
public string Quality { get; }
Property Value
ResponseFormat
The format in which generated images with dall-e-2
and dall-e-3
are returned. Must be one of url
or b64_json
. URLs are only
valid for 60 minutes after the image has been generated.
[JsonPropertyName("response_format")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[JsonConverter(typeof(JsonStringEnumConverter<ImageResponseFormat>))]
[FunctionProperty("The format in which generated images with `dall-e-2` and `dall-e-3` are returned. Must be one of `url` or `b64_json`. URLs are only valid for 60 minutes after the image has been generated. `gpt-image-1` does not support urls and only supports base64-encoded images.", false, null, new object[] { })]
public ImageResponseFormat ResponseFormat { get; }
Property Value
Remarks
gpt-image-1
does not support urls and only supports base64-encoded images.
Size
The size of the generated images.
Must be one of 1024x1024
, 1536x1024
(landscape), 1024x1536
(portrait), or auto
(default value) for gpt-image-1
,
one of 256x256
, 512x512
, or 1024x1024
for dall-e-2
, and one of 1024x1024
, 1792x1024
, or 1024x1792
for dall-e-3
.
[JsonPropertyName("size")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[FunctionProperty("The size of the generated images. Must be one of `1024x1024`, `1536x1024` (landscape), `1024x1536` (portrait), or `auto` (default value) for `gpt-image-1`, one of `256x256`, `512x512`, or `1024x1024` for `dall-e-2`, and one of `1024x1024`, `1792x1024`, or `1024x1792` for `dall-e-3`.", false, null, new object[] { "256x256", "512x512", "1024x1024", "1536x1024", "1024x1536", "1792x1024", "1024x1792", "auto" })]
public string Size { get; }
Property Value
Style
The style of the generated images. Must be one of vivid
or natural
.
Vivid causes the model to lean towards generating hyper-real and dramatic images.
Natural causes the model to produce more natural, less hyper-real looking images.
[JsonPropertyName("style")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[FunctionProperty("The style of the generated images. This parameter is only supported for `dall-e-3`. Must be one of `vivid` or `natural`. Vivid causes the model to lean towards generating hyper-real and dramatic images. Natural causes the model to produce more natural, less hyper-real looking images.", false, null, new object[] { "vivid", "natural" })]
public string Style { get; }
Property Value
Remarks
This parameter is only supported for dall-e-3
.
User
A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.
[JsonPropertyName("user")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[FunctionProperty("A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.", false, null, new object[] { })]
public string User { get; }