image_size or aspect_ratio on Sume: which wins and who accepts it

On Sume's Images API image_size takes priority over aspect_ratio. Custom pixels work on GPT, Seedream, Flux, Qwen and Recraft; size rejects WxH.

4 min readSume
All posts

If you send both, image_size wins and aspect_ratio is ignored on models that take custom pixels. Sume's Image API says this field has priority over aspect_ratio. Send one of them per request, so a reader of your code can tell what the output size is meant to be.

size is a third field and a different thing. It is tier shorthand only (for example 2K) and rejects WxH with 400 unsupported_parameter. Custom pixels go on image_size.

Which field does what

Size-related fields on POST /v1/images (read 2026-10-07)
FieldTakesNotes
aspect_ratioA ratio from the model's catalog listPer-model native list. Use auto on edits to match the reference; omitting it is not the same as auto
image_sizeNamed preset, or {width, height}Custom pixels on GPT, Seedream, Flux, Qwen and Recraft. Takes priority over aspect_ratio
sizeTier shorthand such as 2KRejects WxH with 400 unsupported_parameter
resolution512, 1K, 2K or 4K (0.5K alias for 512)Only on models whose row lists resolutions, such as Nano Banana

GPT Image 2.5 pixel rules

For ChatGPT Image 2.5, custom pixels follow the OpenAI limits that Sume mirrors: both edges multiples of 16, longest edge at most 3840, aspect ratio at most 3:1, and 655,360 to 8,294,400 total pixels. OpenAI's own guide lists the same custom-size rule and notes that sizes above 2560x1440 are experimental (OpenAI guide, read 2026-10-07).

That is why Instagram portrait is not 1080x1350 on GPT: 1080 is not a multiple of 16. Ask for 4:5, or send 1024x1280.

Nano Banana is different

Nano Banana has no free-form pixels. A 1080x1350 value on image_size becomes aspect_ratio: "4:5" plus a job target_pixels hint. The native output is close to 928x1152 at 1K, and the exact 1080x1350 is a documented post-step, so plan a resize.

A request that is clear to read

Pick the ratio for models with a fixed list, and the pixels for models with custom sizes. Here is a Shorts-style cover on GPT, with pixels only:

{
  "model": "openai/gpt-image-2.5",
  "prompt": "bold title card, one subject, high contrast",
  "image_size": { "width": 1088, "height": 1920 },
  "quality": "medium"
}

Failure cases to expect

  • size takes a tier shorthand and rejects a WxH value. Move the pixels to image_size.
  • GPT custom pixels that break the multiple-of-16 rule, the 3:1 limit or the pixel window are rejected before submission, so keep a small validator next to your sizes.
  • If both image_size and aspect_ratio arrive, image_size wins, so a stale aspect_ratio left in a template does not error and does not apply.

Check before you pin

The model's catalog row is the authority. GET /v1/images/models shows the aspect_ratio enum and whether the row accepts image_size. A parameter a model does not list is rejected, not dropped. See the Image API page for the full request table.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume