GPT Image 2.5 ships through the API as two models: gpt-image-2.5-flare, the default tier at roughly half the latency of GPT Image 2, and gpt-image-2.5-sunburst, the highest-fidelity tier. They cost exactly the same here, so the comparison below is one table that covers both. What differs between the two providers is the shape of the bill: OpenAI charges by output image tokens, which climb steeply with the quality setting, while APIMODELS charges a flat price per resolution that does not move with quality at all.
OpenAI bills 2.5 at $30 per million output image tokens ($5 per million text input tokens, $8 for image input), and publishes no per-image example prices. To get comparable numbers we measured what every size and quality actually consumes on the genuine pipeline — 439 tokens for a 1024×1024 medium image, 3568 for 2048×2048 high, 3336 for 3840×2160 high — and multiplied by the list rate. That is the "OpenAI" column: a list-rate cost, marked approximate because your own prompts will land within a few tokens of ours. Because the token count tracks rendered detail rather than pixel count, the quality setting is what dominates that bill — the same 3840×2160 frame costs about $0.011 at low and about $0.40 at max, a 36x spread.
APIMODELS prices by resolution and nothing else: $0.02 at 1K, $0.035 at 2K, $0.07 at 4K — the same whether you ask for low, medium, high, xhigh or max. Flare renders at medium unless you pass quality; Sunburst renders at high by default. Reference images, mask and transparent background add nothing, and failed generations are not charged. So the quality parameter here is purely a speed-versus-detail decision: you can send every request at max without watching a bill move.
Two different billing shapes means this is a crossover, not a blanket discount, and it is worth being precise about where it flips. From high upward we are substantially cheaper: $0.02 against about $0.053 for a 1K high image (62% less), $0.035 against about $0.107 at 2K high (67% less), $0.07 against about $0.40 for 3840×2160 at max (83% less). Since Sunburst defaults to high, every Sunburst call sits on the cheaper side. At low and medium the OpenAI list rate is lower — about $0.006 against our $0.02 for a 1K low image — so if your workload is high-volume thumbnails at the lowest quality, buying direct is cheaper on price alone.
Price is only half of it, and for most people who land on this page it is not the half that decides. A flat rate is a bill you can quote before the call instead of after it, which matters when you are pricing a feature for your own customers. Beyond that: no OpenAI account and no organization verification, direct access from mainland China, native 2K and 4K output (we checked they are real resolutions, not upscales), five quality tiers including xhigh and max, and one key that also covers Gemini, Seedream, Kling and the rest of the catalogue on one balance. This page was written on launch day, 2026-09-09 and repriced on 2026-09-10; production reliability numbers will be added once there is a month of external traffic to report honestly.
Price per image — APIMODELS flat rate vs OpenAI list-rate cost (tokens measured 2026-09-09; Flare and Sunburst share the same price)
1K (1024px) 2K (2048px) 4K (3840px)
ours OpenAI ours OpenAI ours OpenAI
low $0.02 ~$0.006 $0.035 ~$0.012 $0.07 ~$0.011
medium (Flare) $0.02 ~$0.013 $0.035 ~$0.027 $0.07 ~$0.026
high (Sunburst) $0.02 ~$0.053 $0.035 ~$0.107 $0.07 ~$0.100
xhigh $0.02 (not measured) $0.035 (not measured) $0.07 ~$0.178
max $0.02 (not measured) $0.035 (not measured) $0.07 ~$0.400
Read the "ours" column downwards: it does not change. One price per
resolution, identical across all five quality tiers, so quality is a
speed-and-detail choice rather than a budget one.
Where each side wins: OpenAI's list rate is lower at low and medium;
ours is lower from high upward — 62% less at 1K high, 67% at 2K high,
61% at 4K xhigh, 83% at 4K max. Sunburst defaults to high, so it always
lands on the cheaper side; Flare defaults to medium, where OpenAI's list
rate is lower if you already hold a verified OpenAI organization.
OpenAI column = $30 / 1M output image tokens x measured tokens per image
(1K 196 / 439 / 1756, 2K 397 / 892 / 3568, 4K 371 / 865 / 3336 for
low / medium / high) + text-input tokens at $5 / 1M. xhigh and max were
measured at 3840x2160 only — the 1K and 2K cells are left blank rather
than extrapolated. Edits add image-input tokens at $8 / 1M on OpenAI
(about 1024 per reference at 1K); here reference images, mask and
transparent background cost nothing extra.cURL
# Sync call, OpenAI shape: Flare at its default (medium) quality
curl https://api.apimodels.app/v1/images/generations \
-H "Authorization: Bearer $APIMODELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"prompt": "Product shot of a ceramic mug on linen, soft morning light",
"size": "1024x1024",
"background": "transparent",
"output_format": "png"
}'
# -> billed $0.02 (1K, any quality); quality changes the render, not the pricePython
import requests, time
BASE = "https://api.apimodels.app/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}
# Task mode: Sunburst at 2K, explicit quality, then poll
task = requests.post(f"{BASE}/images/generations", headers=H, json={
"model": "gpt-image-2.5-sunburst",
"prompt": "Editorial portrait, mustard wool coat, rainy street, film grain",
"aspect_ratio": "3:2",
"resolution": "2K",
"quality": "high", # $0.035 at 2K whatever the quality; omit and Sunburst still renders high
}).json()["data"]["taskId"]
while True:
r = requests.get(f"{BASE}/images/generations", headers=H,
params={"task_id": task}).json()["data"]
if r["state"] in ("completed", "failed"):
print(r)
break
time.sleep(3)It depends on the quality tier, and the honest answer is that neither side wins everywhere. APIMODELS charges a flat $0.02 / $0.035 / $0.07 at 1K / 2K / 4K regardless of quality, so from high upward we are clearly cheaper: $0.02 against about $0.053 at 1K high, $0.035 against about $0.107 at 2K high, $0.07 against about $0.40 for 4K at max. At low and medium the OpenAI list rate is lower — about $0.006 against our $0.02 for a 1K low image. Sunburst defaults to high and therefore always lands on our side; Flare defaults to medium and does not. The OpenAI figures are list-rate costs computed from the tokens each image actually consumes, since there are no published per-image prices for 2.5.
OpenAI bills $30 per million output image tokens. Measured on the genuine pipeline, a 1024×1024 image consumes about 196 tokens at low, 439 at medium and 1756 at high — roughly $0.006, $0.013 and $0.053 per image. 2048×2048 is about $0.012 / $0.027 / $0.107 and 3840×2160 about $0.011 / $0.026 / $0.100. The two tiers above high climb much faster: at 3840×2160, xhigh costs about $0.178 and max about $0.400 — 36 times the low-quality price for the same frame. We measured xhigh and max at 4K only and have deliberately left the 1K and 2K cells blank rather than extrapolating them. Edits add image-input tokens at $8 per million, about 1024 per 1K reference image.
Neither one is the cheaper model — at a given resolution they bill the identical number, and so does every quality tier — so this is purely a question of how long you are willing to wait. Flare defaults to medium and returns in about 25s median, which is the right pick for social content, e-commerce variants and anything high-volume. Sunburst defaults to high, takes about 40s median, and is tuned for premium commercial visuals and print. Either model accepts an explicit quality, so you can also stay on Flare and pass quality:"high" for the images that deserve it — that costs nothing extra, it just takes longer.
No. background=transparent returns a real alpha PNG at 1K, 2K or 4K for the same per-image price, and a mask on /v1/images/edits is free too. One honesty note on masks: 2.5 treats them as a hint rather than a hard boundary, so name the object to change in the prompt — that is what keeps edits local.
Two cases. First, if you need enterprise compliance paperwork that only a direct OpenAI or Azure contract provides — DPAs, SOC 2 chains. Second, if your workload really is high-volume low or medium quality: token billing is genuinely cheaper down there, about $0.006 against our $0.02 for a 1K low image, and we would rather say so than pretend otherwise. Above that line the flat rate wins on price, and it wins on predictability everywhere — you can quote the cost of a feature before you ship it. The rest of the argument is the same as it ever was: no organization verification, direct access from mainland China, and one key across the whole catalogue.
From our launch-day probes: low about 30-45s, medium 40-70s, high about 50s at 1K, 100s at 2K and 70s at 4K; edits with a reference image 15-50s. 2048×2048 and 3840×2160 are delivered exactly as requested and passed a detail-energy check against known upscales, so they carry genuine full-resolution detail. Production percentiles will replace these probe numbers after a month of traffic.