sume/auto is missing from GET /v1/images/models: hardcode it
Sume Image Router Auto never appears in the model list. Discovery code that only reads GET /v1/images/models will never offer sume/auto. How to handle it.

sume/auto is not listed by GET /v1/images/models, by design. The Sume docs call it a Sume-only model value: you send it in the model field of POST /v1/images and Sume selects the family for you. A model picker that is built only from the list will never show it, so add it yourself.
What the docs say
The Image API docs state three things about Auto. The catalog does not list it. The response keeps model: "sume/auto" and does not name the family that ran. Sume never discloses which family served the request. Image 1.0 is a compatibility alias for the same Auto pipe and is marked as retiring soon.
A picker that handles both
Fetch the list, then add the Auto entry by hand. This sketch uses the response shape from the docs, where data is an array of rows with an id.
import os
import requests
BASE = "https://api.sume.com"
HEAD = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}
def image_model_ids():
r = requests.get(BASE + "/v1/images/models", headers=HEAD, timeout=30)
r.raise_for_status()
ids = [row["id"] for row in r.json()["data"]]
return ["sume/auto"] + ids
if __name__ == "__main__":
for model_id in image_model_ids():
print(model_id)What you give up with Auto
Auto is convenient when you do not care which model draws. It is the wrong choice when you need repeatable looks, a known price or a feature that only some rows list.
- Price: you cannot read a per-image price for Auto from the list.
- Features: mask_url and background are listed on specific rows, so pin one for edits that need them.
- Audit: the job model stays sume/auto, so store your own metadata on each job.
- Drafts: a pinned model is the safer pick if a later final must match the draft.
Sources
Related posts
More in Developers
- SUME_API_AUTH_MODE: make the Sume CLI send Bearer instead of x-api-key
The Sume CLI sends x-api-key by default. Set SUME_API_AUTH_MODE=bearer when your client or network layer expects Authorization: Bearer. Never send both.
- No progress percent in Sume job events: what to log and show instead
Sume's job events are a public timeline of eight named events, not a progress feed. What each means, what to log, and what to show a user while a video renders.
- A Sume job looks stuck: wait, cancel or poll the events?
Read status, then events. Queued and processing mean wait, cancel only works before generation starts, and a client timeout never cancels the job.
- Sume job webhooks: 10 attempts, 30 seconds apart, at least 270 s
Ten attempts with a fixed 30-second gap cover at least 270 seconds. What that means for your deploys, cold starts and when to fall back to polling a Sume job.
Written by Sume