interface ImageGenerateParams {
    background?:
        | null
        | "auto"
        | "transparent"
        | "opaque";
    model?: null | string & {} | ImageModel;
    moderation?: null | "low" | "auto";
    n?: null | number;
    output_compression?: null | number;
    output_format?:
        | null
        | "png"
        | "jpeg"
        | "webp";
    prompt: string;
    quality?:
        | null
        | "low"
        | "medium"
        | "high"
        | "auto"
        | "standard"
        | "hd";
    response_format?: null | "url" | "b64_json";
    size?:
        | null
        | "auto"
        | "256x256"
        | "512x512"
        | "1024x1024"
        | "1792x1024"
        | "1024x1792"
        | "1536x1024"
        | "1024x1536";
    style?: null | "natural" | "vivid";
    user?: string;
}

Properties

background?:
    | null
    | "auto"
    | "transparent"
    | "opaque"

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.

model?: null | string & {} | ImageModel

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.

moderation?: null | "low" | "auto"

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

n?: null | number

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

output_compression?: null | number

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?:
    | null
    | "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.

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.

quality?:
    | null
    | "low"
    | "medium"
    | "high"
    | "auto"
    | "standard"
    | "hd"

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.
response_format?: null | "url" | "b64_json"

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. This parameter isn't supported for gpt-image-1 which will always return base64-encoded images.

size?:
    | null
    | "auto"
    | "256x256"
    | "512x512"
    | "1024x1024"
    | "1792x1024"
    | "1024x1792"
    | "1536x1024"
    | "1024x1536"

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.

style?: null | "natural" | "vivid"

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.

user?: string

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. Learn more.