GPT Image 2.5 API pricing: estimate your image budget
Estimate a GPT Image 2.5 budget for 100 or 1,000 accepted images, compare billing categories, and choose the next step before funding an API account.
OpenAI lists identical token rates for GPT Image 2.5 Flare and Sunburst: $5 per million text input tokens, $8 per million image input tokens and $30 per million image output tokens. Cached inputs have separate rates. These are token prices, not a fixed price for every generated image.
GPT Image 2.5 is now available on Ofox: see Flare and Sunburst for current pricing and API examples.
Checked September 9, 2026. OpenAI’s current image generation guide includes a GPT Image 2.5 output-token calculator. It estimates only part of the bill; older GPT Image 2 per-image estimates cannot simply be transferred to 2.5.
Official GPT Image 2.5 token prices
| Billing category | Flare | Sunburst | Unit |
|---|---|---|---|
| Text input | $5.00 | $5.00 | 1 million tokens |
| Cached text input | $1.25 | $1.25 | 1 million tokens |
| Image input | $8.00 | $8.00 | 1 million tokens |
| Cached image input | $2.00 | $2.00 | 1 million tokens |
| Image output | $30.00 | $30.00 | 1 million tokens |
All amounts are USD from the official OpenAI model pages. They do not establish Ofox pricing or another gateway’s invoice. Check the rates and billing categories of the provider you actually call.
The image models output images rather than text. If a conversational model invokes image generation through the Responses API, its usage is billed separately from the image generation. The table above is not the total cost of a multi-tool conversation.
Actual Ofox charges for six requests
On September 13, 2026, we ran the three paired tasks in the sample gallery, at 1024x1024, medium, one output per request. Ofox request activity showed the following charges. We matched each row by model, start time and returned usage; the console’s record ID and response x-request-id are distinct identifiers.
| Task | Usage per request: text input / image input / image output | Flare charge | Sunburst charge |
|---|---|---|---|
| Product | 58 / 0 / 439 | $0.013460 | $0.013460 |
| English lettering | 83 / 0 / 439 | $0.013585 | $0.013585 |
| Reference edit | 76 / 1,024 / 439 | $0.021742 | $0.021742 |
For the product request, the calculation is (58 × $5 + 439 × $30) / 1,000,000 = $0.013460. No reference image was supplied, and the reported input total consists entirely of text. For an edit, (76 × $5 + 1,024 × $8 + 439 × $30) / 1,000,000 = $0.021742. Console cache-read counts were zero. These usage-based calculations equal the observed request charges; missing usage categories in another response must still be left unknown.
The six actual charges total $0.097574. This is an account activity record, not a formal invoice, and it does not establish a fixed per-image price or large-batch quote. Both background edits changed some foreground tone or texture, so six successful HTTP responses do not mean six strictly accepted images. There were no retries. The redacted request/usage record preserves all six attempts. The hypothetical budgets below remain arithmetic illustrations.
Record the request and the charge together
| Record | Why it matters |
|---|---|
| Provider, model ID, UTC time and request ID | Match an output to the relevant request and billing record |
| Prompt, reference files, dimensions and explicit quality | Reproduce the configuration behind the result |
| Raw usage response and the applicable dated rate | Calculate an estimate without confusing cached and uncached inputs |
| Actual billed amount, currency and invoice reference | Check the estimate against what the account was charged |
| Acceptance decision and any billed corrections | Calculate cost per accepted image, including unsuccessful attempts |
If the provider omits a usage category, leave it unknown rather than treating it as zero. If a bill groups several requests, reconcile the group; do not present a guessed allocation as a measured per-image charge. Share redacted records only—never API keys or account identifiers.
Calculate the image-model portion of a request
Separate actual usage into disjoint billing categories. Cached tokens must not also be counted as uncached input:
cost in USD = (
uncached_text_input_tokens * 5
+ cached_text_input_tokens * 1.25
+ uncached_image_input_tokens * 8
+ cached_image_input_tokens * 2
+ image_output_tokens * 30
) / 1_000_000
Use your provider’s usage definitions. If a total input field includes cached tokens, subtract the cached portion where appropriate before applying uncached rates. Reusing the same image does not by itself prove that a cached-input discount applies.
For arithmetic only, suppose a request used 1,000 uncached text input tokens, 2,000 uncached image input tokens and 4,000 image output tokens, with no caching or other charges:
| Component | Calculation | Cost |
|---|---|---|
| Text input | 1,000 × $5 / 1,000,000 | $0.005 |
| Reference-image input | 2,000 × $8 / 1,000,000 | $0.016 |
| Image output | 4,000 × $30 / 1,000,000 | $0.120 |
| Total of these categories | Sum | $0.141 |
Those token counts are hypothetical. This is not a measured quote for a particular model, resolution or quality setting. It shows how the arithmetic works once usage is known.
What does the official cost calculator include?
The image generation guide includes a GPT Image 2.5 calculator for estimated image output tokens and output cost. Its scope excludes text input, image input and streaming partial images. It should therefore be treated as an output estimate, not an all-inclusive request invoice.
OpenAI’s model pages also state that rates match GPT Image 2 while the GPT Image 2 calculator does not estimate 2.5 consumption. These statements are compatible: matching rates do not make an older consumption estimate valid for a new model.
When recording an estimate, save the selected model, dimensions, quality, calculator date and excluded items. For an application budget, add the other billable components and validate against actual usage.
Why equal rates do not guarantee equal image costs
Two models can consume different token quantities to complete the same task. The number of correction attempts can differ too. Neither equal token rates nor Flare’s speed-oriented positioning proves that Flare costs less.
A useful workflow metric is:
cost per accepted image = total billed cost of evaluated attempts
/ images meeting the acceptance criteria
For example, if ten attempts cost $1.41 in total but only six images are usable, cost per accepted image is $0.235. That is another arithmetic illustration, not a measured success rate. Include billed retries and corrections; do not assume all failed requests are billed or all retries are free.
A multi-turn edit may involve reference-image input and conversational-model usage in addition to the final image output. Budget for the workflow your users perform, not just the last file they download.
What to measure before committing a budget
Record the provider, exact model ID, output dimensions, quality setting, reference-image count, returned usage categories and number of accepted results. Sample both common and difficult tasks. Report a range across those tasks rather than a single attractive example.
Use Flare vs Sunburst to choose a first candidate, the API guide to implement generation and editing, and the migration checklist to compare against your existing GPT Image 2 workflow.
Budget for 100 or 1,000 usable images
Start with the number of images you need to keep, then estimate the attempts needed to produce them. A generation request and an accepted product image are different units. The arithmetic below uses the hypothetical $0.141 per attempt calculated above, with an assumed 80% acceptance rate. Neither number is a benchmark or an Ofox quote.
| Accepted images needed | Assumed attempts at 80% acceptance | Example image-model cost |
|---|---|---|
| 100 | 125 | $17.625, approximately $17.63 |
| 1,000 | 1,250 | $176.25 |
At these assumptions, a $20 budget covers at most 141 whole attempts, or about 113 accepted images in expectation. It does not purchase a guaranteed image count. Add any separately billed language-model calls, partial images and other charges applicable to your workflow. Replace both the per-attempt cost and acceptance rate with your own pilot measurements before choosing a production budget.
For an existing application, use this worksheet:
planned attempts = accepted images required / observed acceptance rate
estimated spend = planned attempts * observed average cost per attempt
+ other separately billed workflow costs
Choose where to buy API access
Use the platform that exposes the model and workflow you need, with billing terms you can verify. This article is published by Ofox; the official OpenAI rates above are a reference, not a promise about an Ofox invoice.
| Before funding an account | OpenAI direct | Ofox |
|---|---|---|
| Model identifier | gpt-image-2.5-flare or gpt-image-2.5-sunburst | The model pages show openai/gpt-image-2.5-flare and openai/gpt-image-2.5-sunburst |
| Price reference | Official model pages in Sources below | Current Flare and Sunburst pages and the account’s billing terms |
| Request setup | OpenAI API credential and endpoint | Ofox credential and https://api.ofox.io/v1 for the documented generation example |
| What to validate | Project access, usage and accepted output | Model access, supported parameters, usage and the actual charge |
Ofox’s general pricing documentation describes image billing per image, while these model pages display token-denominated rates. That is not enough to establish every billing category for Image 2.5. Confirm the applicable quote in your account before committing a batch; do not substitute the generic image-billing description for a model-specific invoice.
Ready to evaluate Ofox? Create an Ofox account, then open API Keys and check billing before sending a request. The API access guide covers model selection and a first generation request. Account creation is not a promise of free inference or model access.
If you already have a working provider and only need a budget, keep that setup for the pilot. Changing providers adds another variable to the cost comparison.
Sources
Frequently Asked Questions
- What does GPT Image 2.5 cost per image?
- There is no universal per-image price. Multiply actual usage by the applicable rates and include other billable components. The official calculator estimates output cost only.
- Are Flare and Sunburst token prices different?
- The official model pages list identical token rates as of September 9, 2026. Equal rates do not guarantee equal total cost.
- Can I use the GPT Image 2 calculator for 2.5?
- No. OpenAI says the GPT Image 2 calculator does not estimate 2.5 consumption. Use the 2.5 output estimator and account for its exclusions.


