List Sume image models that take references or masks with jq

New image models land weekly. One curl and one jq filter on GET /v1/images/models show which ids accept input_references, mask_url or background, and how many.

4 min readSume
All posts

Every week brings another image model with new edit features, and Sume's catalog tells you what each id accepts. GET /v1/images/models returns a supported_parameters block per model. A short jq filter over it lists the ids that take reference images, the maximum number of references, and which ids list mask_url or background.

Why read the catalog instead of a blog post

The Image API validates against the catalog. A parameter the model does not list is rejected with 400 unsupported_parameter rather than ignored. So the catalog is the source of truth for what a request may contain, and it changes when Sume adds or retires models. A post written last month can be wrong today; the endpoint cannot.

The filters

Descriptors are typed: enum, range or boolean. input_references is a range with min and max, and a model with max 0 is text-to-image only. The catalog row for the sume/auto pseudo-model is not listed, by design.

export SUME_API_KEY=your_key_here

# ids that accept at least one reference image, with the cap
curl -s "https://api.sume.com/v1/images/models" \
  -H "Authorization: Bearer $SUME_API_KEY" |
  jq -r '.data[] | select((.supported_parameters.input_references.max // 0) > 0)
         | "\(.id)\t\(.supported_parameters.input_references.max)"'

# ids that list mask_url or background
curl -s "https://api.sume.com/v1/images/models" \
  -H "Authorization: Bearer $SUME_API_KEY" |
  jq -r '.data[] | select(.supported_parameters.mask_url or .supported_parameters.background) | .id'

What the docs say to expect

The table shows what the repo docs state today. Your live catalog is what counts, because ids may be added after this was written.

Documented limits to compare your jq output against (Sume Image API docs, read 2026-10-07) (read 2026-10-07)
ParameterDocumented behavior
input_referencesMax 10 by default, 16 on ChatGPT Image 2.5, 5 total on Ideogram 4.5
mask_urlOnly ChatGPT Image 2.5 (Flare and Sunburst)
backgroundOnly ChatGPT Image 2.5 (Flare and Sunburst)
quality xhigh and maxOnly ChatGPT Image 2.5
output_compression, seed, streamIn the schema, but no model advertises them in v1

Use it in CI

Run the first filter in a nightly job and diff its output against the last run. A change in the list or in a cap is a signal to re-check any prompt that assumed a reference count. Pair it with the per-model endpoints call to catch price changes, since the pricing lines live there and not in the list.

Other useful filters

Two more filters worth keeping:

  • Models that list quality: select where .supported_parameters.quality exists.
  • Models with n above 1: read .supported_parameters.n.max.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume