Skip to main content
All eight models in the GPT Image series are served on POST /v1/tasks — the request URL does not change between them. They share the same actions and request shape; the differences are the aspect-ratio and resolution values, the line-specific parameters, and billing. Picking a model only changes the model field.

Available models

GPT Image 1

gpt-image-1 · text-to-image, edits with up to 15 references, mask inpainting and transparency; billed on actual token usage

GPT Image 1.5

gpt-image-1.5 · the same actions and parameters as gpt-image-1, with text output as an extra billing dimension; billed on actual token usage

GPT Image 2 Official

gpt-image-2 · 15 aspect ratios, 1k / 2k / 4k resolutions, up to 16 references, mask inpainting and WebP output; billed on actual token usage

GPT Image 2.5 Flare

gpt-image-2.5-flare · Flare line, five quality levels (including xhigh and max), 15 aspect ratios, up to 16 references, mask inpainting; faster output; billed on actual token usage

GPT Image 2.5 Sunburst

gpt-image-2.5-sunburst · Sunburst line, the same parameters and rates as Flare, trading speed for editing precision; billed on actual token usage

GPT Image 2 Reverse

gpt-image-2-rev · text-to-image and edits with up to 15 references; fixed per-image pricing at 1k, 2k, or 4k

GPT Image 2.5 Flare Reverse

gpt-image-2.5-flare-rev · text-to-image and edits with up to 16 references, auto plus 10 aspect ratios; faster output; fixed per-image pricing at 1k, 2k, or 4k

GPT Image 2.5 Sunburst Reverse

gpt-image-2.5-sunburst-rev · the same parameters and rates as Flare Reverse, trading speed for editing precision; fixed per-image pricing at 1k, 2k, or 4k

Choose a model

The models never switch automatically: the model field selects the model, and its own page is authoritative for the parameters it accepts.

What all eight share

These are identical on all eight models:

Unified request

Swap model for any model ID on this page and the request still runs. A successful submission returns a task_id. Retrieve the result with GET /v1/tasks/{task_id}, wait inline with Prefer: wait, or configure a webhook.