ListenHubDocs
API ReferenceImage Generation

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

ModelDisplay nameBest for
gpt-image-2 (default)GPT-Image-2Strong prompt following at a fixed per-size price
gpt-image-2.5-flareGPT-Image-2.5 FlareA different visual style at the same price and limits
gpt-image-2.5-sunburstGPT-Image-2.5 SunburstA third style at the same price and limits
gpt-image-2-officialGPT-Image-2 ProThe 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

Limitgpt-image-2, …-2.5-flare, …-2.5-sunburstgpt-image-2-official
Image sizes1K, 2K, 4K1K, 2K, 4K
Aspect ratiosThe 10 standard ratiosThe 10 standard ratios
Default aspect ratio1:1 from the schema (see below)1:1 from the schema (see below)
Reference imagesUp to 4Up to 4
qualityIgnoredlow, medium, high
Subscription gateNone4K 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.

On this page