Sort Sume image models by created? The field is one shared value

GET /v1/images/models returns the same created timestamp for every model, so it cannot tell you which is newest. What to use instead, with a script to prove it.

4 min readSume
All posts

Can you find the newest image model on Sume by sorting GET /v1/images/models by created? No. On origin/main every catalog entry returns the same created value, 1785801600, which is 2026-08-04 00:00 UTC. The comment next to the constant in the API says Sume does not keep a per-model creation timestamp, so the field is there to keep the response OpenRouter-shaped, not to rank models by age.

This matters because the field is easy to misuse. The docs example shows a created number on a model, and OpenRouter-style clients often sort by it. A sort will return the catalog in an arbitrary order, and a filter such as "models newer than last month" will include or exclude every model at once.

What to use instead

To detect a new model, diff the set of ids. A model that was not in yesterday's snapshot is new, and a model that disappeared was retired. The id is the stable key: org/slug form such as google/nano-banana-2, with legacy bare ids still accepted as aliases (Sume Image API docs).

To detect a change in an existing model, compare its supported_parameters and its pricing line from the endpoints call. Those are the fields that change what you can send and what you pay, which is what most readers actually care about.

Fields on GET /v1/images/models and how to use them for change detection, per the docs and code on origin/main (read 2026-10-04)
FieldReliable for ranking by age?Use it for
createdNo, one shared valuenothing; ignore it
idYes, as a keyspotting added and removed models
supported_parametersNot for agespotting new ratios, qualities, n ranges
endpoints pricingNot for agespotting price changes

Prove it in ten lines

The script below fetches the catalog and prints how many distinct created values it contains, the date they decode to, and the model count. Run it when you doubt this post: if Sume ever starts publishing per-model times, the distinct count will rise above one and the advice here no longer applies. It needs SUME_API_KEY in the environment.

import os, requests
from datetime import datetime, timezone

r = requests.get("https://api.sume.com/v1/images/models", timeout=30,
                 headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"})
r.raise_for_status()
models = r.json()["data"]
created = {m["created"] for m in models}
print(f"{len(models)} models, {len(created)} distinct created value(s)")
for c in sorted(created):
    print(c, datetime.fromtimestamp(c, tz=timezone.utc).isoformat())
if len(created) == 1:
    print("created cannot rank these models; diff the ids instead")

A snapshot diff that works

Save the ids to a file each day and compare. A daily diff of ids is the whole mechanism; the linked posts show full scripts for price and catalog watching. See alert when a Sume image model price changes and what to do when a model is missing from the catalog.

If you only need to know whether a specific model exists today, request its endpoints record: an unknown id returns 404 model_not_found with a pointer to the catalog URL.

Related posts

More in Developers

All Developers posts

Written by Sume