GPT Image 2.5 quality xhigh and max: which rows accept them on Sume

Only ChatGPT Image 2.5 (both variants) accepts xhigh and max; omit quality and it runs at high. Other rows reject them. Credits scale with quality.

5 min readSume
All posts

On Sume, quality: "xhigh" and quality: "max" work on openai/gpt-image-2.5 and openai/gpt-image-2.5-sunburst only. If you omit quality on those rows, the default is high. ChatGPT Image 2 lists low, medium and high, and rows without a quality descriptor reject the field with 400 unsupported_parameter.

Who accepts what

The values are taken from the repo's capability data and the public docs.

Sume image catalog rows (list from the Sume repo, billed = list x 1.25), read 2026-10-13
Sume model idquality values
openai/gpt-image-2.5auto, low, medium, high, xhigh, max
openai/gpt-image-2.5-sunburstauto, low, medium, high, xhigh, max
openai/gpt-image-2low, medium, high
ideogram/ideogram-v4.5low, medium, high (sets the price)
google/nano-banana-2.1Not listed; use resolution

Cost behavior

Credits for the 2.5 rows scale with output size, quality, input images and text. auto quality reserves the max amount at admission, so pin a value if you want a predictable hold. A generation that fails uses no credits.

A sensible pattern is to draft at low, then rerun only the keepers at high or above.

import os, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
for q in ["low", "high"]:
    r = requests.post(
        "https://api.sume.com/v1/images",
        headers=H,
        json={"model": "openai/gpt-image-2.5", "prompt": "ceramic mug on a linen cloth", "quality": q},
        timeout=60,
    )
    print(q, r.status_code)

Rule of thumb

  • Drafts: low.
  • Finals: high, which is the default.
  • Reserve xhigh and max for small hero assets and compare against high before you pay for them every time.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume