Is Luma Ray3.2 on Sume? Check the video catalog ids in Python

Ray3.2 is not a Sume model. Rather than trust a blog, list GET /v1/video-router/models and test for an id. A short Python script that prints every id.

4 min readSume
All posts

No: Luma Ray3.2 is not in Sume's video catalog, so a request for it will not route. Luma launched Ray3.2 on 2026-06-09 (its launch page, read 2026-10-05), but Sume's Video Router docs name a different set of catalog ids. The reliable check is the catalog itself, because docs pages go stale and catalogs change.

The ids the docs name

The pages read for this post name these Video Router ids: seedance-2.5, seedance-2, wan-3.0, minimax-h3, minimax-h3-max, h3-max-recast, higgsfield-genjutsu (only when its provider is configured) and gemini-omni-flash-1.1. None is a Luma model. The catalog returned by your key is the authority.

Read capabilities, not just ids

An id check answers whether a model exists. It does not tell you what the model accepts. For each id you care about, call GET /v1/video-router/models/{model_id}, which the docs list, and read its capabilities: resolutions, durations, aspect ratios and reference types. The docs say limits are different for each model, so never reuse one model's limits for another.

For example, the docs give minimax-h3 a 5 to 15 second range at native 480p or 768p, with 768p first class and not 720p. seedance-2.5 takes 4 to 30 seconds at 480p, 720p or 1080p. Those are two different envelopes in one catalog.

Why not trust a table in a blog

A table, including the ones on this site, is a snapshot. The catalog is live. When you wire a model into a product, the catalog call is the contract, and a failed check is a better alarm than a reader's email. Build the check into your deploy so that a missing id stops the release.

A script that lists them

The script prints every id string anywhere in the response, so it does not depend on the exact response shape, then tests for a Luma or Ray id.

import os, requests

r = requests.get(
    "https://api.sume.com/v1/video-router/models",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()

def ids(x):
    if isinstance(x, dict):
        if isinstance(x.get("id"), str):
            yield x["id"]
        for v in x.values():
            yield from ids(v)
    elif isinstance(x, list):
        for v in x:
            yield from ids(v)

found = sorted(set(ids(r.json())))
print("\n".join(found))
print("Luma or Ray id present:", any("ray" in i.lower() or "luma" in i.lower() for i in found))

What to do if it says False

Plan around the gap. If you need what Ray3.2 does, the Ray3.2 matrix on this site lists which of its features have a Sume counterpart. If you only need a 1080p clip of 15 seconds or longer, the catalog may already hold a fit: ask the catalog for the capabilities of each model, since the docs say each model can have its own envelope.

Run the script on a schedule if you track new releases. When a new id appears, read its capabilities before you wire it into a product.

A few practical notes on the check itself. Treat a network error differently from a missing id: the first means you could not ask, the second means you asked and the answer was no. Print the full list of ids when the check fails so a person can see what the catalog does hold. Run the script on a schedule as well as at deploy time, since a catalog can change between releases. And keep the model name you search for in one config value, so a rename is a one-line change. Keep the scope of this advice in view. It rests on the Sume docs and the vendor pages named in the sources, read on 2026-10-05, and on nothing measured by Sume. Where a behavior depends on your own images, such as how a model redraws a certain typeface, run a small pilot at the low quality tier and judge the result yourself before you plan a batch. Write down the prompt, the model id and the quality tier you used, so the run can be repeated. When the catalog or the docs change, re-read them; the live catalog is the contract, and a post is only a snapshot of it.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume