GPT Image 2.5 above 2560x1440 is experimental: a safe size ladder
OpenAI marks sizes over 2560x1440 experimental on GPT Image models. A ladder of valid sizes up to 3840x2160 and a Python check for Sume's image_size.

OpenAI's image generation guide says custom sizes for the GPT Image models must have both edges as multiples of 16, an aspect ratio between 1:3 and 3:1, a maximum edge of 3840 pixels and between 655,360 and 8,294,400 total pixels. It also says resolutions above 2560x1440 are experimental.
Sume's Image API page states the same rules for image_size on ChatGPT Image 2.5: edges in multiples of 16, maximum edge 3840, aspect at most 3:1, 655,360 to 8,294,400 pixels. Custom pixels go on image_size as {width, height}; the size field takes tier shorthand only and rejects WxH.
A ladder you can reuse
These sizes pass the multiple-of-16 and pixel-range rules. Only the last row sits above the experimental line; 2560x1440 is the top of the stable range.
| Size | Pixels | Ratio | Status per OpenAI |
|---|---|---|---|
| 1024x1024 | 1,048,576 | 1:1 | Recommended |
| 1536x1024 | 1,572,864 | 3:2 | Recommended |
| 2048x1152 | 2,359,296 | 16:9 | Within 2560x1440 |
| 2560x1440 | 3,686,400 | 16:9 | Top of the stable range |
| 3840x2160 | 8,294,400 | 16:9 | Experimental; also the pixel maximum |
Validate before you send
A malformed size costs a round trip. This check mirrors the documented rules:
def valid_gpt_size(w: int, h: int) -> bool:
if w % 16 or h % 16:
return False
if max(w, h) > 3840:
return False
if max(w, h) / min(w, h) > 3:
return False
return 655_360 <= w * h <= 8_294_400
for size in [(2560, 1440), (3840, 2160), (4096, 2160), (1000, 1000)]:
print(size, valid_gpt_size(*size))
Plan for the experimental tier
Treat anything above 2560x1440 as a draft you inspect, not a guaranteed output. Large, high-quality requests can also run past the 30 second wait on POST /v1/images; Sume then returns a 202 with a job to poll rather than an error. If you need 4K stills for print, generate at 2560x1440 first and compare against a 3840x2160 run on the same prompt.
How this was checked
Vendor facts come from the pages listed in the sources, read on 2026-10-05. Sume facts come from the Image API docs and the catalog code on main on the same date. Catalogs and limits change, so read the descriptors from GET /v1/images/models before you pin a number in production code.
Sources
Related posts
More in Models
- gpt-live-transcribe: realtime STT at $0.017 a minute
gpt-live-transcribe costs $0.017 a minute ($1.02 an hour) and runs only on the Realtime transcription sessions endpoint. Use gpt-transcribe for files.
- xAI recommends Grok Imagine Video 1.5 ($0.08/s) over the $0.05 model
xAI lists grok-imagine-video-1.5 at $0.080 per second and grok-imagine-video at $0.050, and recommends 1.5. Sume carries only 1.5, image-to-video.
- grok-imagine-video-1.5 on Sume: needs an image, seven fields refused
grok-imagine-video-1.5 is image-to-video only on Sume: send one image, no end frame, no reference video or audio, no aspect_ratio, no generate_audio.
- H3 Max 1080p regenerates from 768p: the price of the extra step
MiniMax says its 2K path regenerates in context. Sume documents H3 Max 1080p as a latent refinement of 768p, $0.20 vs $0.10 per second. When the doubling pays.
Written by Sume