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.NewVariation(ctx, body) (*ImagesResponse, error)
POST/images/variations

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

ParametersExpand Collapse
body ImageNewVariationParams
Image param.Field[Reader]

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

Model param.Field[ImageModel]Optional

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

N param.Field[int64]Optional

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

minimum1
maximum10
ResponseFormat param.Field[ImageNewVariationParamsResponseFormat]Optional

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 param.Field[ImageNewVariationParamsSize]Optional

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

User param.Field[string]Optional

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

ReturnsExpand Collapse
type ImagesResponse struct{…}

The response from the image generation endpoint.

Created int64

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

formatunixtime
Background ImagesResponseBackgroundOptional

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

Data []ImageOptional

The list of generated images.

OutputFormat ImagesResponseOutputFormatOptional

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

Quality ImagesResponseQualityOptional

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

Size ImagesResponseSizeOptional

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

Usage ImagesResponseUsageOptional

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

Create image variation

package main

import (
  "bytes"
  "context"
  "fmt"
  "io"

  "github.com/openai/openai-go"
  "github.com/openai/openai-go/option"
)

func main() {
  client := openai.NewClient(
    option.WithAPIKey("My API Key"),
  )
  imagesResponse, err := client.Images.NewVariation(context.TODO(), openai.ImageNewVariationParams{
    Image: io.Reader(bytes.NewBuffer([]byte("Example data"))),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", imagesResponse.Created)
}
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}
Returns Examples
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}