10,000 images a month on Sume: GPT Image 2.5, Grok, Nano Banana 2

A month of 10,000 images costs $73.75 on GPT Image 2.5 low, $165 on medium, $250 on Grok Imagine and $1,000 on Nano Banana 2 1K on Sume. Table and script.

5 min readSume
All posts

Ten thousand square images a month cost $73.75 on GPT Image 2.5 at low, $165.00 at medium and $658.75 at high, against $250.00 on Grok Imagine and $1,000.00 on Nano Banana 2 at 1K on Sume. The spread between the cheapest and the dearest row in the table below is 36 to 1, so the model and tier you pick matter more than any discount.

All prices are Sume's per-image prices, which already include the 1.25 factor over Fal's list, and Sume bills a completed generation in full and a failed one not at all. Multiply by your own volume; nothing here is a plan price. The figures use a one-character prompt on the GPT rows, because input text tokens are billed at $5 per million and a long prompt adds a few hundredths of a cent.

The monthly table

Rows are sorted from cheapest. GPT Image 2.5 figures are the quote at 1024x1024 with a short prompt. Grok Imagine and the Nano Banana rows are flat prices.

Monthly cost of 10,000 images on Sume, read 2026-10-05
RowPrice per image10,000 images
GPT Image 2.5 low$0.0074$73.75
GPT Image 2.5 medium$0.0165$165.00
Grok Imagine$0.0250$250.00
GPT Image 2.5 high$0.0659$658.75
Nano Banana 2 1K$0.1000$1,000.00
GPT Image 2.5 xhigh$0.1171$1,171.25
Nano Banana Pro 1K$0.1875$1,875.00
GPT Image 2.5 max$0.2635$2,635.00

Reproduce it

Change volume and the price rows to match your plan. Take the prices from GET /v1/images/models or from the usage.cost of a test call, not from this post, once they have had time to move. The script prints the rows sorted from cheapest to dearest, and you can add a column for retries by dividing each price by your keep rate.

ROWS = {  # Sume price per image, USD
    "gpt-image-2.5 low": 0.007375,
    "gpt-image-2.5 medium": 0.0165,
    "grok-image": 0.025,
    "gpt-image-2.5 high": 0.065875,
    "nano-banana-2 1K": 0.10,
}
volume = 10_000

for name, price in sorted(ROWS.items(), key=lambda item: item[1]):
    print(f"{name:<22} ${volume * price:>9,.2f} a month")

What the table leaves out

Four things change the real bill.

  • Retries. A failed generation is not billed, but a result you reject and regenerate is. If you keep one image in three, divide the table by one third.
  • References. An edit adds input image tokens on GPT Image 2.5, so 10,000 edits cost more than 10,000 text-to-image calls at the same tier.
  • n. The cost is the per-image price times n, so asking for four variants is four images on the invoice.
  • Size. 1536x1024 and 1024x1536 images quote lower than the square rows above, while 3840x2160 quotes higher.
  • Omitted fields. Leaving out quality means high, and leaving out image_size reserves the upper bound of output tokens, so a lazy request is priced like a worst-case one.

How to pick

Start from the job. A catalog of product shots that are reviewed by hand tolerates a low first pass and a high re-render of the keepers, which is the cheapest path through this table. A feed that publishes without review has to run at the tier where you trust the output, and that tier sets the bill. Whatever you choose, run a one-day sample at the real volume and compare the wallet charge with this table before you scale to the full month.

Grok Imagine and Nano Banana differ from the GPT rows in more than price: Grok Imagine returns one image per call on Sume, and the GPT rows take up to 16 reference images. Decide on the features you need, and use the table to price the choice.

A useful habit is to price three scenarios, not one: the all-low floor, the medium plan you expect, and a high ceiling in case reviewers ask for more detail. On the 10,000-image volume those are $73.75, $165.00 and $658.75, and the width of that range is the real budget risk.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume