Generate imagesVisual EffectsLarge Language Models
GPT Image 2 API Pricing: Cost per Image, Parameters and Transparent PNGs
A price-by-price look at the GPT Image 2 API: what one image costs at low, medium and high quality, how batch calls halve the bill, which parameters change the total, and how to request real transparent PNGs without paying extra, with budgets for real projects.
One 1024x1024 render from GPT Image 2 costs $0.006 on low quality, $0.053 on medium and $0.211 on high. That is a 35x spread for the same prompt, and the quality parameter alone decides which end of it you land on. Add the canvas size, the number of reference images you send and whether you call the Batch endpoint, and a 1,000-image job can cost anywhere from $3 to $211.
This article puts every number in one place: the per-image price table, the token rates behind it, the parameters that move the bill, and the one setting (background: "transparent") that returns a real alpha-channel PNG at no extra charge. Prices were checked against OpenAI's pricing page and third-party calculators in September and October 2026, so confirm them before you sign off on a budget.
What One Image Really Costs
OpenAI bills image models per token, but most teams budget per image, so calculators convert one into the other. The table below shows the standard (non-batch) output price at the three sizes the API lists by default.
Price per Image by Quality
Size
Low
Medium
High
1024x1024 (square)
$0.006
$0.053
$0.211
1024x1536 (portrait)
$0.005
$0.041
$0.165
1536x1024 (landscape)
$0.005
$0.041
$0.165
Read the table as ratios, not only dollars. Medium costs about 9x low. High costs about 4x medium and 35x low. If a draft looks fine at low quality, you are paying under a cent for it, and every step up the ladder multiplies the invoice.
💡 Budget rule: draft at low, approve a layout, then render the final at medium. Reserve high for dense text, diagrams and print work, where the extra detail is visible.
Batch Calls Cost Half
The model supports the Batch endpoint, and OpenAI discounts every token type by 50% there. These are the standard and batch token rates per million tokens:
Token type
Standard
Batch
Text input
$5.00
$2.50
Cached text input
$1.25
$0.625
Image input
$8.00
$4.00
Cached image input
$2.00
$1.00
Image output
$30.00
$15.00
At 1024x1024, batch pricing works out to roughly $0.003 per low image, $0.027 per medium image and $0.105 per high image. The trade is time: batch results arrive later instead of in seconds, so it suits catalogs and nightly jobs, not a user waiting on a button.
Token Math Behind the Price
Every per-image figure is just output tokens multiplied by $30 per million. Divide the price by that rate and you get the implied token count: about 1,770 tokens for a medium square, about 7,030 for a high square, and about 1,370 and 5,500 for medium and high landscape. These are back-calculated from published prices, not numbers OpenAI prints, so treat them as estimates.
Why Landscape Is Cheaper
Here is the odd part. A 1536x1024 canvas holds 1,572,864 pixels, which is 50% more than the 1,048,576 pixels in a square, yet it costs about 22% less at medium and high. Cost does not scale with pixel count in a straight line. The practical lesson: if your layout allows it, pick landscape or portrait over square. You get a larger image for less money.
What Reference Images Add
Edits and reference-image workflows add input tokens at $8 per million. One published measurement shows a 1024x1024 low-quality call with text only costing about $0.0063 on 24 input tokens. The same call with two reference images cost about $0.025 on 2,365 total input tokens. So two references quadrupled the price of a low render, and the output tokens did not change.
💡 Tip: the API returns a usage object with every response. Log it on your first hundred calls. It is the only reliable way to price non-standard sizes, because OpenAI does not publish a table for them.
Parameters That Move Your Bill
The model snapshot is gpt-image-2-2026-04-21, reachable through /v1/images/generations, /v1/images/edits and the Batch endpoint. Here is every parameter that matters and what it does to the cost.
Parameter
Values
Effect on cost
size
1024x1024, 1536x1024, 1024x1536, auto, or custom
Larger canvases bill more output tokens
quality
low, medium, high, auto
The biggest lever, about 9x from low to medium
background
transparent, opaque, auto
None, same tokens at the same size and quality
output_format
png, jpeg, webp
None
output_compression
0 to 100 (jpeg and webp)
None, only smaller files
moderation
auto, low
None
n
Images per request
Linear, 4 images cost 4 times as much
partial_images
0 to 3 (streaming)
Not in the tables I found, compare usage
Size and Aspect Ratio
Beyond the three presets, custom sizes follow strict rules from OpenAI's image documentation: both edges must be multiples of 16, the ratio cannot exceed 3:1, no edge can pass 3,840 pixels, and the total must land between 655,360 and 8,294,400 pixels. Anything above 2560x1440 is flagged as experimental. Popular choices include 2048x2048, 2048x1152 and 3840x2160.
Quality Tiers
auto lets the model choose, which is convenient and also unpredictable on an invoice. In production, set the tier explicitly. OpenAI's current image documentation also lists xhigh and max for GPT Image 2.5, and I could not find published per-image prices for those two, so test them with usage before promising a cost to anyone.
Format and Compression
PNG is the default and the safest for transparency. WebP also carries an alpha channel and produces smaller files. JPEG is faster to encode but has no alpha channel. Set output_compression between 0 and 100 for JPEG and WebP when you want lighter files for the web.
Moderation and Image Count
moderation accepts auto (standard filtering) or low (less restrictive). Neither changes the price. The n parameter generates several images in one request and bills each one, so a batch of 10 is ten times a single render. A request that returns ten near-identical drafts at medium quality costs about $0.53 at square size.
Transparent PNGs With One Parameter
Until this summer, a cutout meant generating on a white backdrop and running a background remover afterward. In late August 2026, OpenAI documented native transparency for GPT Image 2 in its cookbook, as a preview feature. One request now returns a PNG with a real alpha channel.
The Two Required Fields
You need two settings together: background="transparent" and output_format="png" (WebP also works). Asking for JPEG returns a 400 error because JPEG cannot store transparency. Transparency costs nothing extra: at the same quality and size, transparent and opaque consume the same image tokens.
import base64
from openai import OpenAI
client = OpenAI()
result = client.images.generate(
model="gpt-image-2",
prompt="A ceramic mug, isolated object, no backdrop, no cast shadow",
size="1024x1024",
quality="medium",
background="transparent",
output_format="png",
)
with open("mug.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))
print(result.usage)
The same parameter works on the edit endpoint and in the Responses image tool, though edits redraw the subject instead of tracing its original outline, so fine detail will shift.
Where Transparency Breaks
Three problems show up again and again:
Prompt beats parameter. If your prompt describes a room, a shelf, a plinth or a cast shadow, the model may draw them instead of leaving the pixels empty. Write "isolated object on fully transparent alpha, no backdrop, no rectangle, no shadow."
Delicate materials. Frosted glass rims, sheer ribbons, wax and hairlike fibers still vary from run to run, even though native alpha handles them better than a post-process remover.
Provider gaps. Some hosts and resellers do not pass background through. Cloudflare's hosted listing, when I checked it, said transparent backgrounds were not supported for the model and pointed to GPT Image 1.5 instead.
For pixel-exact edges, generate on a plain backdrop and finish with a dedicated cutout tool such as Bria Remove Background.
Checking the Alpha Channel
Never trust a file just because it ends in .png. An opaque white box can pass for a cutout until someone drops it on a dark slide. Decode the file and test it:
from PIL import Image
img = Image.open("mug.png")
print(img.mode) # RGBA means an alpha channel exists
print(img.getchannel("A").getextrema()) # (0, 255) means real transparency
A result of (255, 255) means every pixel is fully opaque, and you should re-run the request with a cleaner prompt. Run this check automatically before any large campaign, since the feature is still in preview.
Budgets for Real Projects
Numbers get useful when you attach them to a job. These estimates use the standard per-image prices above and ignore prompt text, which adds roughly $0.50 per thousand calls for a 100-token prompt.
Project
Setup
Standard
Batch
Product catalog, 1,000 shots
Landscape, medium
$41
about $20.50
Sticker pack, 500 transparent PNGs
Square, medium
$26.50
about $13.25
Sticker pack, 500 transparent PNGs
Square, high
$105.50
about $52.75
App with 2,000 images a day
Square, low
$12 a day, about $360 a month
not suited
App with 2,000 images a day
Square, medium
$106 a day, about $3,180 a month
not suited
The last two rows are the warning. A consumer feature that looks cheap per image becomes a four-figure monthly line once quality creeps up.
Cost per Kept Image
Sticker sheets and product shots rarely land on the first try. What you really pay is the price divided by your keep rate. If one render in five gets discarded, a medium square drops from $0.053 to about $0.066 per image you actually use. Track the keep rate for each prompt template, and fix the worst template before you touch the quality setting.
Rate Limits by Tier
Throughput caps matter as much as price when a job is large. OpenAI measures the model in tokens per minute (TPM) and images per minute (IPM):
Tier
Tokens per minute
Images per minute
Tier 1
100,000
5
Tier 2
250,000
20
Tier 3
800,000
50
Tier 4
3,000,000
150
Tier 5
8,000,000
250
At Tier 1, a 1,000-image catalog needs about 200 minutes of continuous calls. At Tier 2 the same job takes 50 minutes. Complex prompts can also run up to two minutes each, so build retries and a queue instead of a tight loop.
Cheaper Options Worth Testing
GPT Image 2 is not the only price point, and it is rarely the cheapest one that does the job.
Model
Per-image range
Where it fits
GPT Image 2
$0.005 to $0.211
Dense text, product work, transparency
GPT Image 2.5
Same token rates as GPT Image 2
Newer tiers, see the links below
GPT Image 1.5
$0.009 to $0.20
Previous generation, transparent PNGs on hosts that lack GPT Image 2 support
GPT Image 1 Mini
$0.005 to $0.052
Bulk drafts, 80 to 90% below flagship high
OpenAI's pricing page lists GPT Image 2.5 at the same standard and batch token rates as GPT Image 2. GPT Image 2.5 comes in two variants on PicassoIA, GPT Image 2.5 Flare and GPT Image 2.5 Sunburst, so you can compare them against GPT Image 2 side by side with the same prompt.
PicassoIA also runs its own developer API at https://api.picassoia.com/v1, with Replicate-style predictions (create, poll, fetch) and 5 concurrent jobs per account. The list I saw on October 5, 2026 had four models, including PicassoIA Image and PicassoIA Image Editor Pro. GPT Image 2 itself is used through the web app. Check the current plan terms on the pricing page, because the wording on API costs was inconsistent when I looked.
Using GPT Image 2 on PicassoIA
If you want to test prompts and settings before you write a line of code, the GPT Image 2 page on PicassoIA exposes the same controls as the API. The model's settings also list an optional OpenAI credential. Leave it empty and PicassoIA proxies the request.
Open the GPT Image 2 model page and write your prompt. Name the subject, the material and the lighting, and add "isolated object, no backdrop" for cutouts.
Pick an aspect_ratio: 1:1, 3:2, 2:3, 16:9, 9:16, or an exact size such as 2048x2048 or 3840x2160.
Set quality to low for drafts and medium or high for finals.
Switch background to transparent and choose png as the output_format. The page defaults to WebP, which also keeps alpha, but PNG is the safer choice for design tools.
Set number_of_images between 1 and 10, then run the generation and download the files.
Settings for Clean Cutouts
Keep output_compression at its default of 90 unless file size matters, leave moderation on auto, and run one low-quality draft before you spend on a final. If the edges look rough, upload the result to PicassoIA Image Editor Pro for a touch-up, or cut out the subject with Bria Remove Background.
Make Your Own Images Today
The price of one image is small. The price of the wrong settings, repeated ten thousand times, is not. Pick one real prompt from your project, render it at low, medium and high, then compare the cost against what you can actually see in the file. Do the same with background="transparent" and check the alpha channel before you trust it.
Ready to try it? Open GPT Image 2 on Picasso IA, run your first prompt at low quality, and keep the results that earn a second pass. Then send the same prompt through the 2.5 models and see which one gives you the best image per cent.