Flux, Qwen and Recraft share 13 ratios on Sume: five rows, four prices

Flux 2 Pro and Flex, Qwen Image and Max, and Recraft V4 list the same 13 aspect ratios on Sume. Prices run 2.5 to 9.4 cents; three edit, two are text-only.

5 min readSume
All posts

Five Sume image rows share one aspect ratio list of 13 values: Flux 2 Pro, Flux 2 Flex, Qwen Image, Qwen Image Max and Recraft V4. The prices differ widely, from $0.025 for Qwen Image to $0.09375 for Qwen Image Max. Three of the five accept reference images (Flux 2 Pro, Flux 2 Flex, Qwen Image). Qwen Image Max and Recraft V4 are text-to-image only. Since the ratios are identical, choose between them on price, edits and output format.

The shared list

All five rows list 1:1, 16:9, 9:16, 4:3, 3:4 and then the custom-pixel ratios 4:5, 5:4, 3:2, 2:3, 21:9, 9:21, 1:2 and 2:1. These rows also take image_size, and the docs state that they ignore aspect_ratio when it is set. None of them lists auto.

Five rows, one ratio list, as of 2026-10-08 (price = list x 1.25)
RowPer imageReference imagesOutput formats
Qwen Image$0.025up to 10png, jpeg, webp
Flux 2 Pro$0.0375up to 10png, jpeg, webp
Recraft V4$0.05none (text only)webp only
Flux 2 Flex$0.0625up to 10png, jpeg, webp
Qwen Image Max$0.09375none (text only)png, jpeg, webp

Picking among them

For a wide hero at 21:9 or a tall 9:21 story, all five work, so price is the first filter. Qwen Image is the cheapest at 2.5 cents and the only one under 3 cents that edits. Flux 2 Flex costs 1.67 times Flux 2 Pro, and Qwen Image Max costs 3.75 times Qwen Image.

If you need to hand a photo to the model, drop Recraft V4 and Qwen Image Max. If your pipeline wants PNG or JPEG without conversion, drop Recraft V4, which returns WebP only.

Confirm it live

Ratio lists change when a model is added or retired, so compare the descriptors instead of trusting a table. This script groups the rows by their ratio list.

import os, requests
from collections import defaultdict

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
r = requests.get("https://api.sume.com/v1/images/models", headers=H, timeout=30)
r.raise_for_status()
g = defaultdict(list)
for m in r.json()["data"]:
    vals = tuple(m["supported_parameters"]["aspect_ratio"]["values"])
    g[vals].append(m["id"])
for vals, ids in g.items():
    print(len(vals), ids)

Why the lists match

These five rows are handled as one family in the catalog code, which calls them the custom-pixel models. A colon ratio such as 4:5 or 21:9 is sent as an explicit width and height instead of being collapsed into the nearest named shape. Three:four stays on the portrait 4:3 named shape.

So the same call, with aspect_ratio set to 21:9, works on any of the five and differs only in price, edit support and file type. You can swap the model string without changing the rest of the body.

  • Named shapes: 1:1, 16:9, 9:16, 4:3, 3:4.
  • Custom-pixel ratios: 4:5, 5:4, 3:2, 2:3, 21:9, 9:21, 1:2, 2:1.
  • image_size set means aspect_ratio is ignored on all five.
  • None of the five lists auto as a ratio.

A note on cost

All five are flat per image, so a 21:9 banner costs the same as a 1:1 square on each row. That makes ratio a free choice and model the only cost lever.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume