Does gpt-image-2.5 cost more at 4K? Prices from 1024 to 3840x2160
gpt-image-2.5 price by pixel size on Sume: 1024x1024, 1536x1024, 2048x2048 and 3840x2160 at medium and high, plus the custom-size rules from the docs.

A 3840x2160 gpt-image-2.5 image at high costs $0.1251 on Sume, about 1.9x a 1024x1024 image at $0.0659. Size matters less than you would guess: a 4K frame has eight times the pixels of the square but costs under two times as much.
The size rules come from the Image API: image_size takes custom pixels where both edges are 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.
Price by size
Same model, same prompt class, only image_size changes.
| Size | Pixels | medium | high |
|---|---|---|---|
| 1024x1024 | 1,048,576 | $0.0165 | $0.0659 |
| 1024x1536 | 1,572,864 | $0.0129 | $0.0515 |
| 1536x1024 | 1,572,864 | $0.0129 | $0.0515 |
| 2048x2048 | 4,194,304 | $0.0335 | $0.1339 |
| 3840x2160 | 8,294,400 | $0.0325 | $0.1251 |
Reading the table
The portrait and landscape 1.5-megapixel sizes are cheaper than the square: $0.0515 against $0.0659 at high. The 2048x2048 square is $0.1339. If your layout is a banner or a story, ask for that shape instead of cropping a square.
Invalid sizes fail early
Check a size before you send it; the rules above are cheap to test in code.
def valid_size(w: int, h: int) -> bool:
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, 1024), (3840, 2160), (1920, 1080), (4096, 2160)]:
print(w, h, valid_size(w, h))Note on 1920x1080
1080 is not a multiple of 16, so 1920x1080 fails the check above; 1920x1088 passes. Request that and crop eight rows if you need exact HD.
Picking a size
Choose the size from where the image will be shown, then price it from the table.
- A square 1024 at
highis $0.0659; a 1536x1024 landscape is $0.0515. - A 3:1 banner at 3072x1024 is $0.0371 at
high, the widest shape the size rules allow. - Remember the 3:1 ceiling: anything wider needs a crop from a valid size.
- Leave
image_sizeorqualityonautoand Sume reserves the upper bound (auto quality reservesmax), so name both for a predictable hold. - Read
GET /v1/images/models/{model_id}/endpointsfor the livepricingline before a large run: prices are catalog data and can change.
Sources
Related posts
More in Pricing
- gpt-image-2.5 xhigh and max at 2048 and 4K: up to $0.54 an image
gpt-image-2.5 max costs $0.5353 at 2048x2048 and $0.5004 at 3840x2160 on Sume; xhigh is $0.2379 and $0.2224. Size-by-tier table and a spend guard in Python.
- Grok Imagine video 1.5: 1.25 cents a second at any resolution
grok-imagine-video-1.5 bills $0.0125 a second on Sume at 480p or 720p. A table of 4 to 15 second clips and what 100 and 1,000 of them cost.
- Haiku 5.5 charges more above 100k tokens: keep Sume tools lean
Claude Haiku 5.5 prices prompts over 100,000 tokens at five times the base rate. How a long Sume tool list and job history can push you over.
- Haiku 5.5 Batch API is half price: Sume renders are not batched
Claude's Batch API gives Haiku 5.5 a 50% discount, but a Sume render is billed by Sume. How to batch the planning step and keep caps on the render.
Written by Sume