Which Sume image models accept quality, and which reject it with a 400

Only four Sume image families list a quality value: ChatGPT Image 2.5, ChatGPT Image 2, Ideogram V3 and Ideogram 4.5. On any other row quality is a 400.

4 min readSume
All posts

Only ChatGPT Image 2.5, ChatGPT Image 2, Ideogram V3 and Ideogram 4.5 list a quality value in Sume's image catalog. On every other row the catalog's quality list is empty, and since Sume rejects parameters that a model does not list with 400 unsupported_parameter (it never drops them silently), a stray quality field fails the request.

The rows

quality values in the Sume image catalog (read 2026-10-07)
RowValuesIf omitted
ChatGPT Image 2.5 (Flare, Sunburst)auto, low, medium, high, xhigh, maxhigh
ChatGPT Image 2low, medium, highCheck the row; the display rate is high
Ideogram V3Public low, medium, high, mapped to rendering speedCheck the row
Ideogram 4.5low, medium, highmedium
Every other row (Nano Banana, Seedream, Flux, Qwen, Imagen, Grok, Recraft, Soul)None listedNot applicable: do not send it

Price effects

Quality is the main price lever where it exists. Ideogram 4.5 bills $0.0375, $0.075 or $0.275 for low, medium and high. ChatGPT Image 2.5 at 1024 square bills $0.007375 at low, $0.0165 at medium, $0.065875 at high, $0.1171 at xhigh and $0.2635 at max (output tokens only, list x 1.25). Setting auto on 2.5 reserves the max price before the job runs, so pin the value.

A client that cannot break

Do not hard-code which models take quality. Read the descriptor and only add the field when the row lists it:

import os

import requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
rows = requests.get("https://api.sume.com/v1/images/models", headers=H, timeout=30).json()["data"]
for row in rows:
    quality = row["supported_parameters"].get("quality")
    values = quality["values"] if quality else "none (do not send quality)"
    print(row["id"], values)

Choosing a value

For a first pass on rows with a quality knob, use the lowest tier that shows your text legibly, then raise it only where the output fails. On Ideogram 4.5 the steps are $0.0375, $0.075 and $0.275 billed; on ChatGPT Image 2.5 at 1024 they are $0.007375, $0.0165 and $0.065875 for low, medium and high, and higher still for xhigh and max.

For rows with no knob, the lever is the model and the prompt. A client that reads the descriptors can offer the right controls for each model without a hard-coded table, which is also what keeps it working when Sume adds a row.

Notes

  • If you port a script that always sends quality: "high", route it through the descriptor check above or it will 400 on Nano Banana, Seedream and Flux.
  • OpenAI says earlier GPT Image models only support up to high (OpenAI guide, read 2026-10-07).
  • The Image API page explains the capability descriptors.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume