156 thumbnail options a year on GPT Image 2.5, by quality
52 videos with three thumbnail options each is 156 images. At 1280x720 on Sume that is about $0.62 at low and $5.54 at high.
A weekly channel with three thumbnail options per video needs 156 images a year. On GPT Image 2.5 at 1280x720 that costs about $0.62 at low, $1.44 at medium and $5.54 at high on Sume, before any edits or retries.
Even the max tier is only about $22.15 for the year, so the question is quality fit, not budget.
Year cost by quality
Sume bills the provider list price times 1.25, as this worked-examples post shows.
| Quality | One image on Sume | 156 images on Sume |
|---|---|---|
| low | $0.0040 | $0.62 |
| medium | $0.0092 | $1.44 |
| high | $0.0355 | $5.54 |
| xhigh | $0.0631 | $9.85 |
| max | $0.1420 | $22.15 |
Where the real cost goes
The cost that matters is not the generation. It is the retries when text in the image comes out wrong, and the edits that follow a pick. Add a margin of 2x to 3x to the table if your process regenerates often.
For a mixed plan, draft at medium and finish the winner at high: three medium options plus one high final per video is about $3.29 a year.
Limits to plan for
At this size, requests normally finish inside the 30-second wait on /v1/images and come back as a 200. Higher quality or larger sizes may return a 202 job; handle both.
Compare other models on a cost-per-set basis in the 36-image thumbnail test.
Check it on your own account
Do not budget from a blog table alone. GET /v1/images/models lists every model with its descriptors, and GET /v1/images/models/{id}/endpoints shows the pricing line for one model. Then run one small request and read usage.cost on the response, which is the billed amount in USD; the token counts in usage are reported as 0 on this route.
Run the test at the quality and size you plan to ship, because both move the price. A single test at low quality costs under a cent for most sizes here, so it is a cheap way to confirm your assumptions before a batch.
Sync, async and failures
The /v1/images route waits up to 30 seconds for the image. If the job finishes in that window you get the result directly; otherwise you get a 202 and an async job to poll. Write your client to branch on the status code, since larger sizes and higher quality are the likely cases for a 202.
Requests are strict. A parameter the chosen model does not list returns 400 unsupported_parameter, stream returns a 400, and provider.only or provider.order accept only sume. Treat a 400 as a bug in the request, not a transient error, and do not retry it unchanged.
Caveat
The 'Sume' columns are list times 1.25 before any rounding on the job ledger and before input tokens, so read usage.cost on the response for the amount actually billed.
Sources
Related posts
More in Use cases
- 90-second brand film at 1080p: Veo 3.1 from $7.20, Omni on Sume $16.88
Ninety seconds at 1080p is $7.20 on Veo 3.1 Lite, $10.80 on Fast, $36 on Standard and $16.875 on Omni Flash on Sume, before retakes. Read 2026-10-06.
- Abandoned cart reminder: one Sume avatar clip per product, $3.87
Render one 15 second avatar reminder per product with product_image, not per shopper. $3.87 a product at plus, $2.91 at standard. The job body and math.
- October 15 tax extension reminder video from an accountant, AI avatar
A 15-second avatar clip for clients on extension: the filing date moved, the payment date did not. IRS wording, script size, cost, and who must review it.
- Add an AI voiceover to a silent video: TTS, then a timeline render
Add a voiceover to a silent clip with Sume: one TTS job for the narration, then one Timeline 1.0 render that lays the audio over your video.
Written by Sume