Do reference images cost extra on Sume? Flat rows vs token billing

On most Sume image rows, a reference photo adds nothing: the price is one flat per-image line. ChatGPT Image 2.5 bills tokens, so references add input cost.

4 min readSume
All posts

Answer

On most Sume image rows the price is one flat output_image line per image, so a request with ten reference photos costs the same as a request with none. ChatGPT Image 2.5 is the exception: it is billed from output tokens plus estimated input tokens, so each reference raises the estimate a little.

You can see the flat line yourself. GET /v1/images/models/{id}/endpoints returns a pricing array with one entry, billable: output_image, unit: image, and a cost_usd that already includes the Sume margin.

How reference images affect the bill, by Sume row (read 2026-10-04)
RowBilling basisReference images change the price?
Seedream 4.0, 4.5, 5.0 Liteflat per imageno
Flux 2 Pro and Flexflat per imageno
Grok Imagine, Qwen Imageflat per imageno
Nano Banana 2 and Proflat per image, scaled by resolutionno, but resolution does
Ideogram V3flat per imageno
Ideogram 4.5flat per quality tierno, but quality does
ChatGPT Image 2.5output tokens plus estimated input tokensyes, a small amount

Why it matters

  • Budgeting a 1,000-image edit run on a flat row is simple: price x 1,000. On 2.5 you need to estimate quality, size and the number of references.
  • Each row's reference ceiling is separate from the price. Grok Imagine and Qwen Image take 10, Ideogram 4.5 takes 5 and ChatGPT Image 2.5 takes 16.
  • Text-only rows (Imagen 4, Recraft V4, Qwen Image Max, Soul) take zero and reject references.

Check it yourself

Run one request without references and one with, then compare usage.cost in each response. On a flat row, the two numbers match. On 2.5, the second can differ because input tokens are part of the estimate.

Sume rounds billable amounts up in USD micros, so the response cost may be a fraction of a cent above a hand calculation. Failed or cancelled generations are not billed at all. Docs: Sume Image API.

Before a large run

Prices and descriptors change when the catalog changes, so confirm them before you spend. Call GET /v1/images/models/{id}/endpoints for the row you plan to use and read its pricing line and supported_parameters; both come back in one response.

Then run a pilot of three to five images and read usage.cost on each response. Multiply by your planned count for a forecast you can trust. Completed generations are billed in full and failed or cancelled ones are not, so a pilot that errors costs nothing.

For big batches, use mode: "async" or mode: "webhook" with a public HTTPS webhook_url, so no request waits on the 30-second sync limit. Poll GET /v1/jobs/{id}/status and fetch GET /v1/jobs/{id}/result when the job completes.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume