1792x1008 on GPT Image 2.5: the exact 16:9 size between 720p and 1440p

1792x1008 is a legal exact 16:9 size for GPT Image 2.5. About $0.0052 at low to $0.1850 at max on Sume, with the full quality table.

4 min readSume
All posts

1792x1008 is the closest legal exact 16:9 size to 1920x1080 on GPT Image 2.5: 1792 and 1008 are both multiples of 16, and 1,806,336 pixels is well inside the documented 655,360 to 8,294,400 range. On Sume it costs about $0.0052 at low, $0.0120 at medium and $0.0463 at high.

It is 93% as wide as 1920x1080, so scaling it up by 7% to full HD is a small resize, not a re-render.

Price by quality

Sume bills the provider list price times 1.25, as this worked-examples post shows.

1792x1008 output by quality (read 2026-10-06)
QualityOutput tokensProvider listSume (list x 1.25)
low138$0.0041$0.0052
medium320$0.0096$0.0120
high1,234$0.0370$0.0463
xhigh2,193$0.0658$0.0822
max4,934$0.1480$0.1850

When to pick this size

Use it when 1280x720 is too soft and 2560x1440 is more than you need. For a video poster or a presentation slide shown at full HD, 1792x1008 plus a resize is the least wasteful route.

If the final must be exactly 1920x1080, resize in your pipeline. The model does not accept that box directly, and the 1080p post explains the rule.

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 Models

All Models posts

Written by Sume