GPT Image 2.5 1536x1024 preset vs custom sizes on Sume
1536x1024 is an OpenAI preset and passes Sume's custom-size rules too: edges multiples of 16, max edge 3840, ratio up to 3:1, 655,360-8,294,400 pixels.

Use 1536x1024 as a preset, or as a custom size: it passes every custom-size rule. OpenAI lists three presets (1024x1024, 1536x1024 and 1024x1536) plus custom sizes, and Sume's ChatGPT Image 2.5 rows accept custom pixels on image_size when both edges are multiples of 16, the longest edge is at most 3840, the ratio is at most 3:1 and the total is 655,360 to 8,294,400 pixels.
The rules
OpenAI's custom rule on its guide matches Sume's: multiples of 16, ratio 1:3 to 3:1, 655,360 to 8,294,400 pixels. Both pages state a 3840 maximum edge.
| Rule | Value | Source |
|---|---|---|
| Presets | 1024x1024, 1536x1024, 1024x1536 | OpenAI guide |
| Edge granularity | Multiples of 16 | OpenAI guide, Sume docs |
| Aspect ratio | 1:3 to 3:1 | OpenAI guide; Sume: at most 3:1 |
| Pixels | 655,360 to 8,294,400 | OpenAI guide, Sume docs |
| Max edge | 3840 | OpenAI guide, Sume docs |
Worked examples
Worked checks, writer-derived: 1536 x 1024 = 1,572,864 pixels, ratio 1.5, and 1536 / 16 = 96 and 1024 / 16 = 64 are whole numbers, so it passes. 1080x1350 fails because 1080 / 16 = 67.5. The nearest valid pair is 1088x1360 (68 x 16 and 85 x 16), at 1,479,680 pixels. 3840x2160 is 8,294,400 pixels, exactly the upper limit.
A pre-flight check
The function below checks a size against the four rules before you spend a call.
def check_size(w, h):
px = w * h
problems = []
if w % 16 or h % 16:
problems.append("edges must be multiples of 16")
if max(w, h) > 3840:
problems.append("max edge is 3840")
if max(w, h) / min(w, h) > 3:
problems.append("ratio over 3:1")
if not 655_360 <= px <= 8_294_400:
problems.append("pixels outside 655,360-8,294,400")
return problems or ["ok"]
for size in [(1536, 1024), (1080, 1350), (1088, 1360), (3840, 2160)]:
print(size, check_size(*size))Cost note
Sume says the auto size and presets without a verified pixel mapping reserve the upper bound of output tokens, so the reserve can be higher than a final charge. For a Sume price line, read usage.cost on the response, and for a plan use quality: xhigh at 1024x1024 is $0.09366 and max is $0.21072 at list output rates before input tokens and Sume's margin.
Sources
Related posts
More in Developers
- Porting to Sume images: 400 unsupported_parameter checklist
Porting an image client to Sume: seed, stream, output_compression and size WxH return 400, and background works only on GPT Image 2.5. A fix for each.
- GPT Image 2.5 cost calculator in Python: token grid, checked vs Sume
A short Python function reproduces Sume's GPT Image 2.5 prices from the token grid, $0.0074 at low and $0.2635 at max for 1024x1024. Table to check it.
- GPT Image 2.5 cached input works only on the Responses API
OpenAI's cached-input rates ($1.25-$2.00 per 1M) for GPT Image 2.5 apply only to Responses API images. Sume bills token rates with margin and no cache discount.
- Graph API rate-limit codes 4, 17, 32, 613: stop, reuse the Sume job
Meta documents error codes 4, 17, 32 and 613 for rate limits. Map each to a pause and publish the stored Sume result later instead of re-rendering.
Written by Sume