Letter size 8.5x11 AI image: 1088x1408 is an exact ratio
GPT Image 2.5 on Sume needs multiples of 16. 1088x1408 matches 8.5x11 exactly (17:22) and passes the pixel box. 2176x2816 is the 2x size.

For a US Letter (8.5 x 11 in) image on Sume, send image_size 1088x1408 to a GPT Image 2.5 row. It is exactly 17:22, the same ratio as 8.5:11, and it passes the custom-size rules. For more pixels, 2176x2816 has the same ratio and is also legal. The usual 300 dpi Letter size, 2550x3300, is not legal on these rows.
The ratio is exact because 8.5 x 2 = 17 and 11 x 2 = 22, and 1088 = 64 x 17 while 1408 = 64 x 22. Any size of the form 64k x 17 by 64k x 22 keeps Letter proportions and is a multiple of 16 on both edges.
What the size rules say
Sume's Image API docs give the custom-pixel rules for ChatGPT Image 2.5 (read 2026-10-08): Both edges must be multiples of 16, the longest edge is at most 3840, the aspect ratio is at most 3:1, and the total is 655,360 to 8,294,400 pixels. The OpenAPI description for image_size adds that custom sizes win over aspect_ratio.
The table checks four Letter candidates against those rules.
| Size | Pixels | Legal | Note |
|---|---|---|---|
| 1024x1280 | 1,310,720 | yes | 4:5, not Letter (120 dpi at 8.5 in) |
| 1088x1408 | 1,531,904 | yes | 17:22, exactly 8.5:11 (128 dpi) |
| 2176x2816 | 6,127,616 | yes | 17:22, exactly 8.5:11 (256 dpi) |
| 2550x3300 | 8,415,000 | no | 300 dpi Letter: 2550 is not a multiple of 16 and the total is over the cap |
Check a size before you send it
This small function encodes the documented rules. It runs as is with python3.
def legal(w, h):
px = w * h
return (w % 16 == 0 and h % 16 == 0 and max(w, h) <= 3840
and max(w, h) / min(w, h) <= 3 and 655_360 <= px <= 8_294_400)
for w, h in [(1024, 1280), (1088, 1408), (2176, 2816), (2550, 3300)]:
print(w, h, w * h, legal(w, h))The request
Pass the size as an object or as a WIDTHxHEIGHT string. The model id is the one from the catalog, openai/gpt-image-2.5.
Do not also rely on aspect_ratio for Letter. There is no 17:22 value in the GPT ratio list (auto, 1:1, 16:9, 9:16, 4:3, 3:4, 5:4, 9:8, 4:5), so image_size is the only way to ask for it.
{
"model": "openai/gpt-image-2.5",
"prompt": "A one-page school newsletter header, flat illustration, wide margins",
"image_size": {"width": 1088, "height": 1408},
"quality": "high"
}Printing it
1088x1408 is 128 dpi across 8.5 in, and 2176x2816 is 256 dpi. A true 300 dpi Letter page needs 2550x3300, which is over the 8,294,400 pixel cap, so Sume cannot return it in one call. Generate at 2176x2816 and resample in your own tooling if the print shop needs 300 dpi.
Cost depends on the row and the quality tier. GPT Image 2.5 is billed from image tokens, and the docs say named presets without a verified pixel mapping reserve the upper bound. Check the price line of the endpoint (GET /v1/images/models/openai/gpt-image-2.5/endpoints) before a batch.
Other paper sizes with the same trick
Letter works because 17:22 reduces to whole numbers that scale by 64. Other US sizes behave the same way. Half-Letter (5.5 x 8.5) is 11:17 and Legal (8.5 x 14) is 17:28. A4 (210 x 297 mm) has no exact whole-number ratio, so it can only be approximated.
The table lists the largest legal size at each ratio, found by stepping up from the smallest whole-number multiple until a rule breaks.
| Ratio | Largest size | Pixels |
|---|---|---|
| 17:22 | 2448x3168 | 7,755,264 |
| 11:17 | 2288x3536 | 8,090,368 |
| 17:28 | 2176x3584 | 7,798,784 |
Sources
Related posts
More in Use cases
- LinkedIn carousel from a video: up to 10 square cards with Sume
LinkedIn carousels take 2 to 10 cards, 1080x1080, up to 10 MB each. Crop a 9:16 video to 1:1 with Sume video filter and pull stills with video frames.
- LinkedIn in-stream pairing rule: which masters to render and the cost
LinkedIn pairs horizontal with horizontal, vertical with vertical, square with either. Work out which masters to render and what each costs on Sume timeline.
- LinkedIn video ad length: trim a 90-second cut to 30 s with Sume
LinkedIn allows 3 seconds to 30 minutes and recommends 15 to 30 seconds. Trim a longer cut with Sume video trim at $0.02 a job, then check size before upload.
- LinkedIn video ads: the first 10 seconds and a frame check with Sume
LinkedIn says to put your most impactful content in the first 10 seconds. Pull stills at 0 to 9 seconds with Sume video frames and see what a muted viewer sees.
Written by Sume