1920x1088 works on GPT Image 2.5 where 1920x1080 fails: the 16 rule
1080 is not a multiple of 16, so a custom 1920x1080 size is rejected on ChatGPT Image 2.5. Use 1920x1088 or 1536x864, then trim. Prices included.

On ChatGPT Image 2.5 through Sume, a custom image_size of 1920x1080 is rejected because 1080 divided by 16 is 67.5. Ask for 1920x1088, which passes, and trim 4 pixels from the top and bottom in your slide or video tool.
The docs state the whole rule: both edges must be multiples of 16, the longest edge at most 3840, the aspect ratio at most 3:1, and the total between 655,360 and 8,294,400 pixels.
Which 16:9 sizes pass
Checking six common 16:9 sizes against that rule shows that only one common size fails.
| Size | Pixels | Result | Why |
|---|---|---|---|
| 1280x720 | 921,600 | valid | Both edges multiples of 16 |
| 1536x864 | 1,327,104 | valid | Both edges multiples of 16 |
| 1920x1080 | 2,073,600 | rejected | 1080 / 16 = 67.5 |
| 1920x1088 | 2,088,960 | valid | Both edges multiples of 16 |
| 2560x1440 | 3,686,400 | valid | Both edges multiples of 16 |
| 3840x2160 | 8,294,400 | valid | Both edges multiples of 16 |
Price of the fix
Price follows output tokens for the pixel count and the quality. In the repository estimator, 1920x1088 is $0.0056 at low, $0.0130 at medium and $0.0498 at high from text, and $0.0071, $0.0164 and $0.0630 with one reference.
Compare that with 1536x864 at high, which is $0.0405 from text. If the slide is shown at 1280 wide, the smaller size is enough and it is cheaper.
- Need exactly 1920x1080: request 1920x1088, then crop 4 px top and bottom.
- Need 16:9 and do not care about exact pixels: use
aspect_ratio: "16:9"and a preset. - Need 4K: 3840x2160 is valid because 2160 / 16 = 135.
Trimming the 8 extra pixels
The two padded rows are 4 at the top and 4 at the bottom. In a slide tool, set the image to fill the 1920x1080 frame anchored at the center, and the overflow is clipped without any scaling. In a video editor, the same happens when you place the 1920x1088 image on a 1920x1080 timeline with crop or fill selected.
If you must have exact pixels on the file itself, crop in a script. Any image library can do it in one line: keep x from 0 to 1920 and y from 4 to 1084. The model composes for the full 1088-row canvas, so crop only after generation.
Write the prompt as if the safe area were the central 1080 rows. Keep headline text and faces away from the top and bottom 4 pixels, which will be trimmed, and from the slide's own margins.
- Request 1920x1088, trim to 1920x1080.
- Or request 1536x864 and scale up if softness is acceptable.
- Or request 3840x2160, which passes, and scale down.
A guard before you call
A two-line check in your code saves a failed request. Reject any size where either edge modulo 16 is not zero, or where the pixel count is outside the range, and round up to the next multiple. The request goes to POST /v1/images as image_size: "1920x1088" with model: "openai/gpt-image-2.5". See the Image API docs for the full parameter list.
If your pipeline builds the size from a ratio, round up rather than down. Taking 1080 and rounding it to the next multiple of 16 gives 1088, while rounding down gives 1072, which would cut off real content on the final trim. In code that is ceil(h / 16) * 16. Apply it to both edges, then check the pixel total against the 655,360 to 8,294,400 range and the 3:1 limit before you send the request, so the failure shows up in your logs with a clear reason instead of as a rejected call.
Sources
Related posts
More in Developers
- 21:9 banner still to video: only Seedance and MiniMax H3 list 21:9
A 21:9 still can only become a 21:9 clip on Seedance or MiniMax H3 in Sume's catalog. GPT Image 2.5 reaches 21:9 with a 2352x1008 custom size.
- A 24-second Reel as three 8-second sume/auto jobs: $3.00
sume/auto is Gemini Omni Flash 1.1 at 3 to 10 s and 9:16. Three 8-second jobs cost $3.00 at 720p, chained by passing each last frame as the next first_frame.
- 4:5 still to video: no Sume video model lists 4:5, so pick another
No video model in Sume's catalog lists 4:5. Make the still 3:4 or 1:1, animate it, then crop to 4:5 with a $0.02 video-filter pass.
- 402 on a 30-second 1080p Wan 3.0 job: your balance must cover $7.50
A 30-second Wan 3.0 job at 1080p reserves $7.50 on Sume. If the balance is lower you get 402 insufficient_credits. Reserve table and handler.
Written by Sume