Create image variation
ImagesResponse images().createVariation(ImageCreateVariationParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
post /images/variations
Creates a variation of a given image. This endpoint only supports dall-e-2.
Parameters
-
ImageCreateVariationParams params-
String imageThe image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square.
-
Optional<ImageModel> modelThe model to use for image generation. Only
dall-e-2is supported at this time. -
Optional<Long> nThe number of images to generate. Must be between 1 and 10.
-
Optional<ResponseFormat> responseFormatThe format in which the generated images are returned. Must be one of
urlorb64_json. URLs are only valid for 60 minutes after the image has been generated.-
URL("url") -
B64_JSON("b64_json")
-
-
Optional<Size> sizeThe size of the generated images. Must be one of
256x256,512x512, or1024x1024.-
_256X256("256x256") -
_512X512("512x512") -
_1024X1024("1024x1024")
-
-
Optional<String> userA unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. Learn more.
-
Returns
-
class ImagesResponse:The response from the image generation endpoint.
-
long createdThe Unix timestamp (in seconds) of when the image was created.
-
Optional<Background> backgroundThe background parameter used for the image generation. Either
transparentoropaque.-
TRANSPARENT("transparent") -
OPAQUE("opaque")
-
-
Optional<List<Image>> dataThe list of generated images.
-
Optional<String> b64JsonThe base64-encoded JSON of the generated image. Returned by default for the GPT image models, and only present if
response_formatis set tob64_jsonfordall-e-2anddall-e-3. -
Optional<String> revisedPromptFor
dall-e-3only, the revised prompt that was used to generate the image. -
Optional<String> urlWhen using
dall-e-2ordall-e-3, the URL of the generated image ifresponse_formatis set tourl(default value). Unsupported for the GPT image models.
-
-
Optional<OutputFormat> outputFormatThe output format of the image generation. Either
png,webp, orjpeg.-
PNG("png") -
WEBP("webp") -
JPEG("jpeg")
-
-
Optional<Quality> qualityThe quality of the image generated. Either
low,medium, orhigh.-
LOW("low") -
MEDIUM("medium") -
HIGH("high")
-
-
Optional<Size> sizeThe size of the image generated. Either
1024x1024,1024x1536, or1536x1024.-
_1024X1024("1024x1024") -
_1024X1536("1024x1536") -
_1536X1024("1536x1024")
-
-
Optional<Usage> usageFor
gpt-image-1only, the token usage information for the image generation.-
long inputTokensThe number of tokens (images and text) in the input prompt.
-
InputTokensDetails inputTokensDetailsThe input tokens detailed information for the image generation.
-
long imageTokensThe number of image tokens in the input prompt.
-
long textTokensThe number of text tokens in the input prompt.
-
-
long outputTokensThe number of output tokens generated by the model.
-
long totalTokensThe total number of tokens (images and text) used for the image generation.
-
Optional<OutputTokensDetails> outputTokensDetailsThe output token details for the image generation.
-
long imageTokensThe number of image output tokens generated by the model.
-
long textTokensThe number of text output tokens generated by the model.
-
-
-
Example
package com.openai.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.images.ImageCreateVariationParams;
import com.openai.models.images.ImagesResponse;
import java.io.ByteArrayInputStream;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
ImageCreateVariationParams params = ImageCreateVariationParams.builder()
.image(new ByteArrayInputStream("Example data".getBytes()))
.build();
ImagesResponse imagesResponse = client.images().createVariation(params);
}
}
Response
{
"created": 0,
"background": "transparent",
"data": [
{
"b64_json": "b64_json",
"revised_prompt": "revised_prompt",
"url": "https://example.com"
}
],
"output_format": "png",
"quality": "low",
"size": "1024x1024",
"usage": {
"input_tokens": 0,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
},
"output_tokens": 0,
"total_tokens": 0,
"output_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
}
}
}