Which aspect ratios does each Sume image model accept? Full matrix
A model-by-ratio table from the Sume image catalog: 1:1 to 21:9 plus 3:1, 4:1 and 8:1. Which rows accept 2:3, 21:9, 3:1 or auto, and which return 400.

Every Sume image model publishes its own aspect_ratio list, and a ratio that is not on it is rejected with 400 unsupported_parameter. The matrix below was built from the catalog descriptors on 2026-10-03. The normalized vocabulary on the Image API page is wider than any single model, so 16:9 and 1:1 are safe nearly everywhere, and everything else needs a look.
Three patterns stand out. 3:1 and 1:3 appear only on the two Ideogram rows. 4:1, 1:4, 8:1 and 1:8 appear only on Nano Banana 2. And the Grok Imagine row uses its own phone-shaped ratios, 20:9, 19.5:9, 9:19.5 and 9:20, which no other row lists.
The matrix
yes means the model lists the ratio. The auto column is separate and follows the table: ChatGPT Image 2, ChatGPT Image 2.5, ChatGPT Image 2.5 Sunburst, Nano Banana 2, Nano Banana Pro, Seedream 4.0 list auto.
| Model | 1:1 | 4:5 | 5:4 | 4:3 | 3:4 | 3:2 | 2:3 | 16:9 | 9:16 | 21:9 | 9:21 | 2:1 | 1:2 | 3:1 | 1:3 | 4:1 | 1:4 | 8:1 | 1:8 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Soul (Higgsfield) | yes | - | - | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - | - | - | - | - |
| ChatGPT Image 2 | yes | yes | yes | yes | yes | - | - | yes | yes | - | - | - | - | - | - | - | - | - | - |
| ChatGPT Image 2.5 (and Sunburst) | yes | yes | yes | yes | yes | - | - | yes | yes | - | - | - | - | - | - | - | - | - | - |
| Nano Banana 2 | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | yes | yes | yes | yes |
| Nano Banana Pro | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - | - | - | - |
| Seedream 5.0 Lite | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - | - | - | - | - |
| Seedream 4.5 | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - | - | - | - | - |
| Seedream 4.0 | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - | - | - | - | - |
| Grok Imagine | yes | - | - | yes | yes | yes | yes | yes | yes | - | - | yes | yes | - | - | - | - | - | - |
| Qwen Image | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - |
| Qwen Image Max | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - |
| Imagen 4 Fast | yes | - | - | yes | yes | - | - | yes | yes | - | - | - | - | - | - | - | - | - | - |
| Imagen 4 Ultra | yes | - | - | yes | yes | - | - | yes | yes | - | - | - | - | - | - | - | - | - | - |
| Flux 2 Pro | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - |
| Flux 2 Flex | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - |
| Ideogram V3 | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | yes | yes | yes | yes | - | - | - | - |
| Recraft V4 | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | - | - | - | - |
| Ideogram 4.5 | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | - | yes | yes | yes | yes | - | - | - | - |
Picking by ratio
- 1:1 and 3:4: 19 and 19 of the 19 listed ids.
- 4:5 and 5:4 are missing on: Soul (Higgsfield), Grok Imagine, Imagen 4 Fast, Imagen 4 Ultra.
- 2:3 is missing on: ChatGPT Image 2, ChatGPT Image 2.5, ChatGPT Image 2.5 Sunburst, Imagen 4 Fast, Imagen 4 Ultra.
- Ultrawide 21:9: Nano Banana 2, Nano Banana Pro, Qwen Image, Qwen Image Max, Flux 2 Pro, Flux 2 Flex, Recraft V4.
- Narrow banner 3:1: Ideogram V3, Ideogram 4.5. Extreme banners 4:1 and 8:1: Nano Banana 2.
Check in code before you send
The table is a snapshot; this loop reads the live list for the ratio you need and prints the rows that accept it.
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
models = requests.get("https://api.sume.com/v1/images/models", headers=headers, timeout=30).json()["data"]
ratio = "21:9"
for m in models:
if ratio in m["supported_parameters"]["aspect_ratio"]["values"]:
print(m["id"])Sources
Related posts
More in Models
- Image-to-Video From a Product Still: End Frames and Grok Limits
Which video models turn one product photo into motion, which accept an end frame, and what Grok Imagine Video 1.5 requires on Sume.
- Imagen 4 has no 4:5 ratio: get Instagram portrait from 3:4 on Sume
Imagen 4 Fast and Ultra on Sume list five ratios and none is 4:5. Generate 3:4 and trim 90 pixels, or pick a model that lists 4:5. A Pillow crop included.
- How many reference images does each Sume image model take?
Sume's image catalog lists 16 references for ChatGPT Image 2.5, 5 for Ideogram 4.5, 10 for most others and 0 for five text-only models. Full table.
- Irodori-TTS-v4-Large: Japanese cloning, 120 s reference, terms
Irodori-TTS-v4-Large is a 3.29B Japanese TTS model with emoji style control and Gemma terms. What the card says and how Sume's audio tools fit.
Written by Sume