How to watch the Sume image model list for new and removed models

Image catalogs change. Snapshot GET /v1/images/models each night and diff the ids in Python, so a retired or new model reaches you before a request fails.

4 min readSume
All posts

Save the list of model ids once a day and compare it with yesterday's. Sume's docs make GET /v1/images/models the place to read what the catalog serves and what each row accepts, and say a model takes only the values its catalog descriptors list. If a row's descriptors change under you, the first sign should be your own diff, not a production 400.

The check is about twenty lines and needs no database.

Snapshot and diff

The script stores each model's id and its supported_parameters as JSON. On the next run it prints ids that are new, ids that are gone, and rows whose parameter descriptors changed.

import json, os, pathlib, requests

key = os.environ.get("SUME_API_KEY")
if not key:
    raise SystemExit("set SUME_API_KEY")
r = requests.get("https://api.sume.com/v1/images/models",
                 headers={"Authorization": f"Bearer {key}"}, timeout=30)
r.raise_for_status()
now = {m["id"]: m.get("supported_parameters", {}) for m in r.json()["data"]}
file = pathlib.Path("image-catalog.json")
old = json.loads(file.read_text()) if file.exists() else {}
print("new:", sorted(set(now) - set(old)))
print("gone:", sorted(set(old) - set(now)))
print("changed:", sorted(i for i in now if i in old and now[i] != old[i]))
file.write_text(json.dumps(now, indent=2, sort_keys=True))

What to do with each result

Catalog diff outcomes, based on Sume and Ideogram docs read 2026-10-06
Diff resultLikely meaningAction
New idA model joined the catalogRead its endpoints record for price and limits
Gone idA row left the listMove pinned work to a listed row before it fails
Changed descriptorsA range or enum movedRe-check your clamps for n, references and sizes
sume/auto missingExpected, it is never listedIgnore it

Why vendors make this worth doing

Vendors reshuffle their lineups. Ideogram's API overview (read 2026-10-06) lists Ideogram 4.5 and 4.0 side by side with GPT Image and Nano Banana, and a page like that is a snapshot of one day. A diff on your side turns a lineup change into a line in a log.

Wire the output to a chat message or a ticket. A quiet diff that nobody reads is no protection.

Limits of the check

  • It sees the catalog, not the price. Read the endpoints record for a model if its price matters.
  • It will not tell you why a row changed. Compare with the docs.
  • Run it from one place so the saved file is the single record.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume