GPT-Image
The four OpenAI image models, how aspect ratios default, and why only GPT-Image-2 Pro honors quality.
GPT-Image is the OpenAI family on ListenHub, and gpt-image-2 is the catalogue default — the model
you get when model is omitted. All four run on the shared image endpoints. For the endpoints,
request schema, async flow, and error codes, see the
Image Generation overview. This page covers only
what is specific to GPT-Image.
Models
| Model | Display name | Best for |
|---|---|---|
gpt-image-2 (default) | GPT-Image-2 | Strong prompt following at a fixed per-size price |
gpt-image-2.5-flare | GPT-Image-2.5 Flare | A different visual style at the same price and limits |
gpt-image-2.5-sunburst | GPT-Image-2.5 Sunburst | A third style at the same price and limits |
gpt-image-2-official | GPT-Image-2 Pro | The only model that honors quality; priced per token |
All four take provider: "openai". Flare and Sunburst are priced and limited identically to
gpt-image-2 — picking between the three changes the look of the output, not the cost or the
constraints.
Limits
| Limit | gpt-image-2, …-2.5-flare, …-2.5-sunburst | gpt-image-2-official |
|---|---|---|
| Image sizes | 1K, 2K, 4K | 1K, 2K, 4K |
| Aspect ratios | The 10 standard ratios | The 10 standard ratios |
| Default aspect ratio | 1:1 from the schema (see below) | 1:1 from the schema (see below) |
| Reference images | Up to 4 | Up to 4 |
quality | Ignored | low, medium, high |
| Subscription gate | None | 4K or quality: high needs a plan |
GPT-Image is the one family whose validator never substitutes a ratio — but the request schema does.
imageConfig.aspectRatio defaults to 1:1, so you only reach the model's own choice by omitting
the whole imageConfig object. Send an imageConfig without an aspectRatio and you get a square
image. Sending an extreme ratio (1:4, 4:1, 1:8, 8:1) returns 400 with code: 26019 and
the supported list in the message.
Reference images are capped at 4 per request. Exceeding it returns 400 with
GPT-Image-2 supports at most 4 reference images.
The quality parameter
imageConfig.quality accepts low, medium, and high, but only gpt-image-2-official renders at
the requested quality.
Sending quality to gpt-image-2, gpt-image-2.5-flare, or gpt-image-2.5-sunburst is not an
error — the value is silently dropped. estimate-credits surfaces this as the warning
quality_ignored_for_gpt_image_2_lite in its warnings array. Read that array if your product
shows a quality selector, so you do not offer a control the chosen model ignores.
Pricing and the subscription gate
The three lite models are priced at a fixed credit cost per image size
(pricing.mode is fixed, pricingVersion is gpt-image-2-lite-fixed-2026-06-15), and never set
requiresSubscription.
gpt-image-2-official is priced from estimated tokens (pricing.mode is token-estimate), so its
cost moves with prompt length, output dimensions, requested quality, and the number of reference
images — over the API each reference image is counted at a flat rate, because the OpenAPI path sends
a count rather than per-image dimensions. It is also the only configuration in the whole image catalogue that sets
requiresSubscription: true — at 4K, or at quality: high. Check that field on the estimate
before you offer either option to an account without a plan.
gpt-image-2 has a free-quota resource at 1K and 2K; Flare and Sunburst share one
(gpt-image-2.5). gpt-image-2-official has no free quota at any size.
Example
curl -X POST "https://api.marswave.ai/openapi/v1/images/generation/estimate-credits" \
-H "Authorization: Bearer $LISTENHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-official",
"prompt": "A product hero shot of a matte black espresso machine on concrete",
"imageConfig": { "imageSize": "4K", "aspectRatio": "16:9", "quality": "high" }
}'The response's requiresSubscription tells you whether this configuration needs an active plan, and
credits tells you what it will cost. See the
Image Generation overview for the
full response shape.