GPT Image 2 / 2.5 / 2.6 Image Generation API

1. Get API Key

Open the Mai application list, enter an available application, and copy the API Key.

Get Mai API Key

2. Send the First Request

curl https://api.ai.moses.day/openai/images/generations \
  -H "Authorization: Bearer 你的 API Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Minimal editorial product illustration: one plain white ceramic coffee mug centered on a solid cobalt blue tabletop, pale cream background, soft shadow, clean geometric shapes, no text, no logo, portrait composition",
    "size": "1024x1536"
  }'

The image in a successful response is located at data[].url. Below is the 1024×1536 result actually obtained through an Mai request on September 8, 2026 (task d56455e2-e7f7-4bcd-b935-475b0a1e0948, trace eb938601-8192-407f-b539-1e0554b697ec):

White coffee mug generated by GPT Image 2

3. Common Parameters

Field Description
model gpt-image-2 (recommended by default), gpt-image-2.5-flare (faster), or gpt-image-2.5-sunburst (higher fidelity and control); all three can select their corresponding :official variants, and gpt-image-2 also supports :reverse
prompt Image description, up to 32,000 characters
size auto or WIDTHxHEIGHT; width and height must be multiples of 16, the longer side must not exceed 3840, total pixels must be 655,360–8,294,400, and the aspect ratio must not exceed 3:1
n 1–10; only 1 is supported when response_format=b64_json
quality GPT Image models support auto, low, medium, high; 2.5 / 2.6 Flare / Sunburst (including :official) additionally support xhigh, max. Official channels are billed by actual Token usage
response_format url or b64_json
callback_url Optional; sends the result to this address after a long task is completed

Common sizes:

Ratio 1K 2K 4K
1:1 1024x1024 2048x2048 2880x2880
4:3 1536x1024 2048x1536 3264x2448
3:4 1024x1536 1536x2048 2448x3264
16:9 1792x1024 2048x1152 3840x2160
9:16 1024x1792 1152x2048 2160x3840

size: "auto" selects the canvas based on the ratio, pixels, and layout intent in the prompt; directly enter the dimensions when precise pixels are needed.

Models and Billing Methods

Model Applicable Scenarios and Billing Methods
gpt-image-2 Default reverse channel, fixed billing by number of successful images
gpt-image-2:reverse Explicitly selects the reverse channel, fixed billing by number of successful images
gpt-image-2:official Official API channel, higher stability, billed by actual Token usage
gpt-image-2.5-flare Focuses on generation speed, fixed billing by number of successful images
gpt-image-2.6-flare Focuses on generation speed, fixed billing by number of successful images
gpt-image-2.5-flare:reverse Explicit reverse alias, equivalent to gpt-image-2.5-flare, fixed billing by number of successful images
gpt-image-2.6-flare:reverse Explicit reverse alias, equivalent to gpt-image-2.6-flare, fixed billing by number of successful images
gpt-image-2.5-flare:official Official API channel, higher stability and focused on generation speed, billed by actual Token usage
gpt-image-2.6-flare:official Official API channel, higher stability and focused on generation speed, billed by actual Token usage
gpt-image-2.5-sunburst Focuses on high fidelity and fine control, fixed billing by number of successful images
gpt-image-2.6-sunburst Focuses on high fidelity and fine control, fixed billing by number of successful images
gpt-image-2.5-sunburst:reverse Explicit reverse alias, equivalent to gpt-image-2.5-sunburst, fixed billing by number of successful images
gpt-image-2.6-sunburst:reverse Explicit reverse alias, equivalent to gpt-image-2.6-sunburst, fixed billing by number of successful images
gpt-image-2.5-sunburst:official Official API channel, higher stability and focused on high fidelity and fine control, billed by actual Token usage
gpt-image-2.6-sunburst:official Official API channel, higher stability and focused on high fidelity and fine control, billed by actual Token usage

2.0 / 2.5 reverse models (including :reverse aliases) may use GPT Image 2.5 Flare to complete requests during automatic recovery; the requested model and the billing method based on the number of successful images remain unchanged.

The displayed price for the official API channel is an estimate before the request; the final amount is subject to the actual Token usage and usage records in the response.

4. Multiple Image Generation

curl https://api.ai.moses.day/openai/images/generations \
  -H "Authorization: Bearer 你的 API Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A small fox reading under a glowing mushroom, watercolor illustration",
    "size": "1536x1024",
    "n": 2
  }'

gpt-image-2, gpt-image-2.5-flare, gpt-image-2.5-sunburst, and their :reverse aliases are billed by the number of successfully generated images; gpt-image-2:official, gpt-image-2.5-flare:official, and gpt-image-2.5-sunburst:official are billed based on the actual Tokens for text input and image output in the response. The page price is an estimate before the request; the final amount is based on usage records.

5. Asynchronous Callbacks

After adding callback_url to the request body, the API will first return {"task_id": "..."}, and POST the final result to that URL upon completion; synchronous requests will still return created and data:

{
  "model": "gpt-image-2",
  "prompt": "A product poster with clear typography",
  "size": "1024x1024",
  "callback_url": "https://example.com/webhooks/images"
}

The callback receiver should use task_id for deduplication, and verify the request source and data format.

6. Troubleshooting

Status Check
400 Combination of model, prompt, size format, n, and response_format
401 Whether the API Key is complete, and whether the Header is Authorization: Bearer ...
429 Requests are too frequent; retry later
504 Synchronous generation timed out; use callback_url instead

Error responses will include error.code, error.message, and trace_id. When reporting an issue, provide the trace_id; do not provide the API Key.

For complete fields and real-time enumerations, refer to the OpenAI Images Generations API page. For image editing, see GPT Image 2 / 2.5 / 2.6 Image Editing.

GPT Image 2.6

GPT Image 2.6 continues to use the generation, editing, asynchronous task, and billing APIs from 2.5:

Model Billing
gpt-image-2.6-flare / gpt-image-2.6-flare:reverse 0.22 Credits/image
gpt-image-2.6-sunburst / gpt-image-2.6-sunburst:reverse 0.22 Credits/image
gpt-image-2.6-flare:official Same as 2.5 official, billed by actual Token usage
gpt-image-2.6-sunburst:official Same as 2.5 official, billed by actual Token usage

Available quality options are auto, low, medium, high, xhigh, and max; use auto for size or a WIDTHxHEIGHT that meets the above constraints. This API supports png, jpeg, and webp, and does not currently support SVG/GIF. Editing supports JSON image URLs and multipart file uploads. :reverse is an explicit alias for the standard version with the same name. Please use the full model name; do not pass gpt-image-2.6.