Create image edit
post /images/edits
Create image edit
Returns
-
ImagesResponse object { created, background, data, 4 more }The response from the image generation endpoint.
-
created: numberThe Unix timestamp (in seconds) of when the image was created.
-
background: optional "transparent" or "opaque"The background parameter used for the image generation. Either
transparentoropaque.-
"transparent" -
"opaque"
-
-
data: optional array of ImageThe list of generated images.
-
b64_json: optional stringThe 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. -
revised_prompt: optional stringFor
dall-e-3only, the revised prompt that was used to generate the image. -
url: optional stringWhen using
dall-e-2ordall-e-3, the URL of the generated image ifresponse_formatis set tourl(default value). Unsupported for the GPT image models.
-
-
output_format: optional "png" or "webp" or "jpeg"The output format of the image generation. Either
png,webp, orjpeg.-
"png" -
"webp" -
"jpeg"
-
-
quality: optional "low" or "medium" or "high"The quality of the image generated. Either
low,medium, orhigh.-
"low" -
"medium" -
"high"
-
-
size: optional "1024x1024" or "1024x1536" or "1536x1024"The size of the image generated. Either
1024x1024,1024x1536, or1536x1024.-
"1024x1024" -
"1024x1536" -
"1536x1024"
-
-
usage: optional object { input_tokens, input_tokens_details, output_tokens, 2 more }For
gpt-image-1only, the token usage information for the image generation.-
input_tokens: numberThe number of tokens (images and text) in the input prompt.
-
input_tokens_details: object { image_tokens, text_tokens }The input tokens detailed information for the image generation.
-
image_tokens: numberThe number of image tokens in the input prompt.
-
text_tokens: numberThe number of text tokens in the input prompt.
-
-
output_tokens: numberThe number of output tokens generated by the model.
-
total_tokens: numberThe total number of tokens (images and text) used for the image generation.
-
output_tokens_details: optional object { image_tokens, text_tokens }The output token details for the image generation.
-
image_tokens: numberThe number of image output tokens generated by the model.
-
text_tokens: numberThe number of text output tokens generated by the model.
-
-
-
Example
curl https://api.openai.com/v1/images/edits \
-H 'Content-Type: multipart/form-data' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F image='Example data' \
-F prompt='A cute baby sea otter wearing a beret' \
-F background=transparent \
-F n=1 \
-F output_compression=100 \
-F output_format=png \
-F partial_images=1 \
-F quality=high \
-F response_format=url \
-F user=user-1234
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
}
}
}
Edit image
curl -s -D >(grep -i x-request-id >&2) \
-o >(jq -r '.data[0].b64_json' | base64 --decode > gift-basket.png) \
-X POST "https://api.openai.com/v1/images/edits" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "model=gpt-image-1.5" \
-F "image[]=@body-lotion.png" \
-F "image[]=@bath-bomb.png" \
-F "image[]=@incense-kit.png" \
-F "image[]=@soap.png" \
-F 'prompt=Create a lovely gift basket with these four items in it'
Streaming
curl -s -N -X POST "https://api.openai.com/v1/images/edits" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "model=gpt-image-1.5" \
-F "image[]=@body-lotion.png" \
-F "image[]=@bath-bomb.png" \
-F "image[]=@incense-kit.png" \
-F "image[]=@soap.png" \
-F 'prompt=Create a lovely gift basket with these four items in it' \
-F "stream=true"
Response
event: image_edit.partial_image
data: {"type":"image_edit.partial_image","b64_json":"...","partial_image_index":0}
event: image_edit.completed
data: {"type":"image_edit.completed","b64_json":"...","usage":{"total_tokens":100,"input_tokens":50,"output_tokens":50,"input_tokens_details":{"text_tokens":10,"image_tokens":40}}}