Images

Create image

Creates an image given a prompt. Learn more.

post/images/generations

Request body

promptstring required

A text description of the desired image(s). The maximum length is 32000 characters for the GPT image models, 1000 characters for dall-e-2 and 4000 characters for dall-e-3.

ninteger nullable

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

quality'standard' | 'hd' | 'low' | 'medium' | 'high' | 'xhigh' | 'max' | 'auto' nullable

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 the GPT image models.
  • gpt-image-2.5-sunburst and gpt-image-2.5-flare, including their 2026-09-08 snapshots, also support xhigh and max.
  • hd and standard are supported for dall-e-3.
  • standard is the only option for dall-e-2.
response_format'url' | 'b64_json' nullable

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 the GPT image models, which always return base64-encoded images.

output_format'png' | 'jpeg' | 'webp' nullable

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

output_compressioninteger nullable

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

streamboolean nullable

Generate the image in streaming mode. Defaults to false. See the Image generation guide for more information. This parameter is only supported for the GPT image models.

partial_imagesinteger nullable

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.

moderation'low' | 'auto' nullable

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

background'transparent' | 'opaque' | 'auto' nullable

Set the background of the generated image(s). This parameter is only supported for the GPT image models. 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.

gpt-image-2.5-sunburst and gpt-image-2.5-flare, including their 2026-09-08 snapshots, support opaque and transparent backgrounds. Transparent backgrounds are available for supported GPT Image models. For gpt-image-2 and gpt-image-2-2026-04-21, this support is in preview. When using transparent, set the output format to png or webp.

style'vivid' | 'natural' nullable

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.

userstring

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

Example request

{
  "prompt": "A cute baby sea otter",
  "n": 1,
  "quality": "medium",
  "response_format": "url",
  "output_format": "png",
  "output_compression": 100,
  "partial_images": 1,
  "moderation": "low",
  "background": "transparent",
  "style": "vivid",
  "user": "user-1234"
}

Response

OK

createdinteger required

The Unix timestamp (in seconds) of when the image was created.

background'transparent' | 'opaque'

The background parameter used for the image generation. Either transparent or opaque.

output_format'png' | 'webp' | 'jpeg'

The output format of the image generation. Either png, webp, or jpeg.

quality'low' | 'medium' | 'high' | 'xhigh' | 'max'

The quality of the image generated. One of low, medium, high, xhigh, or max.

Changes

Changed in 7 of the 163 revisions of this API.12657

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

  • 185927e212ab1620See the full diff
    • ▲

      the response's property type changed from string to no type for status (media type: application/json)

      response-property-type-changed

    • ●

      added the new max enum value to the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-added

    • ●

      added the new max enum value to the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-added

    • ●

      added the new max enum value to the response property for the response status (media type: application/json)

      response-property-enum-value-added

    • ●

      added the new xhigh enum value to the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-added

    • ●

      added the new xhigh enum value to the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-added

    • ●

      added the new xhigh enum value to the response property for the response status (media type: application/json)

      response-property-enum-value-added

    • ○

      added the new gpt-image-2.5-flare enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new gpt-image-2.5-flare-2026-09-08 enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new gpt-image-2.5-sunburst enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new gpt-image-2.5-sunburst-2026-09-08 enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new max enum value to the request property

      request-property-enum-value-added

    • ○

      added the new xhigh enum value to the request property

      request-property-enum-value-added

    • ○

      added subschema #1 subschema #2 to the //// response property anyOf list for the response status (media type: text/event-stream)

      response-property-any-of-added

    • ○

      added subschema #1 subschema #2 to the //// response property anyOf list for the response status (media type: text/event-stream)

      response-property-any-of-added

    • ○

      added subschema #1 subschema #2 to the response property anyOf list for the response status (media type: application/json)

      response-property-any-of-added

    • ○

      removed the 1024x1024 enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the 1024x1024 enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the 1024x1024 enum value from the response property for the response status (media type: application/json)

      response-property-enum-value-removed

    • ○

      removed the 1024x1536 enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the 1024x1536 enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the 1024x1536 enum value from the response property for the response status (media type: application/json)

      response-property-enum-value-removed

    • ○

      removed the 1536x1024 enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the 1536x1024 enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the 1536x1024 enum value from the response property for the response status (media type: application/json)

      response-property-enum-value-removed

    • ○

      removed the auto enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      removed the auto enum value from the //// response property for the response status (media type: text/event-stream)

      response-property-enum-value-removed

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the new gpt-image-2 enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new gpt-image-2-2026-04-21 enum value to the request property /

      request-property-enum-value-added

  • 74cbcf73838f911See the full diff
    • ▲

      removed the enum value 1024x1024 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 1024x1536 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 1024x1792 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 1536x1024 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 1792x1024 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 256x256 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value 512x512 of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value auto of the request property

      request-property-enum-value-removed

    • ▲

      the request property type changed from string to no type

      request-property-type-changed

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added subschema #1 subschema #2 to the request property anyOf list

      request-property-any-of-added

    • ○

      added the new gpt-image-1-mini enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new gpt-image-1.5 enum value to the request property /

      request-property-enum-value-added

    • ○

      added the media type text/event-stream for the response with the status

      response-media-type-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    This revision also has 40 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 6a6c681b1820216See the full diff
    • ▲

      the response's body type changed from no type to object for status

      response-body-type-changed

    • ▲

      the response property became optional for the status

      response-property-became-optional

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      the request property became nullable

      request-property-became-nullable

    • ○

      the request property default value changed from standard to auto

      request-property-default-value-changed

    • ○

      the request property default value changed from 1024x1024 to auto

      request-property-default-value-changed

    • ○

      added the new 1024x1536 enum value to the request property

      request-property-enum-value-added

    • ○

      added the new 1536x1024 enum value to the request property

      request-property-enum-value-added

    • ○

      added the new auto enum value to the request property

      request-property-enum-value-added

    • ○

      added the new auto enum value to the request property

      request-property-enum-value-added

    • ○

      added the new gpt-image-1 enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new high enum value to the request property

      request-property-enum-value-added

    • ○

      added the new low enum value to the request property

      request-property-enum-value-added

    • ○

      added the new medium enum value to the request property

      request-property-enum-value-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    This revision also has 18 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog