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

client.images.createVariation(ImageCreateVariationParams { image, model, n, 3 more } body, RequestOptionsoptions?): ImagesResponse { created, background, data, 4 more }
POST/images/variations

Creates a variation of a given image. This endpoint only supports dall-e-2.

ParametersExpand Collapse
body: ImageCreateVariationParams { image, model, n, 3 more }
image: Uploadable

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 | null

The model to use for image generation. Only dall-e-2 is supported at this time.

n?: number | null

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

minimum1
maximum10
response_format?: "url" | "b64_json" | null

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" | null

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
ImagesResponse { created, background, data, 4 more }

The response from the image generation endpoint.

created: number

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"

The quality of the image generated. Either low, medium, or high.

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

The size of the image generated. Either 1024x1024, 1024x1536, or 1536x1024.

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

import fs from "fs";
import OpenAI from "openai";

const openai = new OpenAI();

async function main() {
  const image = await openai.images.createVariation({
    image: fs.createReadStream("otter.png"),
  });

  console.log(image.data);
}
main();
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}
Returns Examples
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}