Table of Contents

Class ImageGenerationRequest

Namespace
OpenAI.Images
Assembly
OpenAI-DotNet.dll

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 string

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.

model 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.

numberOfResults int?

The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.

quality string

The quality of the image that will be generated.

  • auto (default value) will automatically select the best quality for the given model.
  • high, medium and low are supported for gpt-image-1.
  • hd and standard are supported for dall-e-3.
  • standard is the only option for dall-e-2.
responseFormat ImageResponseFormat

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.

outputFormat string

The format in which the generated images are returned. Must be one of png, jpeg, or webp.
This parameter is only supported for gpt-image-1.

outputCompression int?

The compression level (0-100%) for the generated images.
This parameter is only supported for the webp or jpeg output formats, and defaults to 100.
This parameter is only supported for gpt-image-1.

size string

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.

moderation string

Control the content-moderation level for images generated by gpt-image-1. Must be either low for less restrictive filtering or auto (default value).
This parameter is only supported for gpt-image-1.

background string

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.
This parameter is only supported for gpt-image-1.

style string

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.
This parameter is only supported for dall-e-3.

user string

A 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

string

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

string

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

string

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

string

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

string

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 and low are supported for gpt-image-1.
  • hd and standard are supported for dall-e-3.
  • standard is the only option for dall-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

string

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

ImageResponseFormat

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

string

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

string

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; }

Property Value

string