Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Create image variation

Deprecated
images.create_variation(**kwargs) -> ImagesResponse { created, background, data, 4 more }
POST/images/variations

This endpoint is retired and no longer available. Use the image edits endpoint with a GPT Image model and a prompt to create a variation of an image. The request and response schemas below describe the legacy contract.

ParametersExpand Collapse
image: FileInput

The image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square.

model: String | ImageModel

The legacy model used by the retired image variations endpoint. This endpoint no longer accepts requests.

n: Integer

The number of images to generate. Must be between 1 and 10.

minimum1
maximum10
response_format: :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.

size: :"256x256" | :"512x512" | :"1024x1024"

The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024.

user: String

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

ReturnsExpand Collapse
class ImagesResponse { created, background, data, 4 more }

The response from the image generation endpoint.

created: Integer

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

formatunixtime
background: :transparent | :opaque

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

data: Array[Image { b64_json, revised_prompt, url } ]

The list of generated images.

output_format: :png | :webp | :jpeg

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

quality: :low | :medium | :high | 2 more

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

size: String | :"1024x1024" | :"1024x1536" | :"1536x1024"

The image dimensions as a WIDTHxHEIGHT string, for example 1536x864.

usage: Usage{ input_tokens, input_tokens_details, output_tokens, 2 more}

For gpt-image-1 only, the token usage information for the image generation.

Create image variation

require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

images_response = openai.images.create_variation(image: StringIO.new("Example data"))

puts(images_response)
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}
Returns Examples
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}