List Sume video models: /v1/videos/models for limits, /v1/catalog
Two discovery routes, two jobs. /v1/videos/models returns durations, resolutions, aspect ratios and audio flags; the public /v1/catalog lists the wider catalog.

To list Sume's video models and their limits, call GET /v1/videos/models. It returns one entry per model with supported resolutions, aspect ratios, durations, input references, and an audio flag. To see the wider public catalog across products, call GET /v1/catalog. Use the first before every video submit and the second when you need the full model list.
What the video route returns
The video generation docs show the response: a data array whose entries include the fields below.
| Field | What it tells you |
|---|---|
| id | The model slug to use in generation requests |
| supported_resolutions | Output resolutions, for example 720p and 1080p |
| supported_aspect_ratios | For example 16:9 and 9:16 |
| supported_sizes | Pixel sizes, or null; each v1 model reports null |
| supported_durations | Whole seconds the model accepts |
| supported_frame_images | first_frame and last_frame values |
| supported_input_references | image_url, video_url, audio_url as the model allows |
| generate_audio | Whether the model can produce an audio track |
| seed | Whether the model accepts a seed; false for each v1 model |
| pricing_skus | Price information per SKU |
Both calls from a shell
The first command prints one tab-separated line per model, which is enough for a pre-submit check. The second reads the catalog; the guide for the shape of that response is the catalog itself, so inspect it before you script against it.
# Per-model limits and capabilities (durations, resolutions, aspect ratios)
curl -s https://api.sume.com/v1/videos/models \
-H "Authorization: Bearer $SUME_API_KEY" |
jq -r '.data[] | [.id, (.supported_durations | "\(first)-\(last)s"),
(.supported_resolutions | join("/")), .generate_audio] | @tsv'
# The public model catalog (all products, with list prices)
curl -s https://api.sume.com/v1/catalogWhy limits differ so much
The docs give examples of how far the ranges spread: seedance-2.5 accepts 4 to 30 seconds, wan-3.0 accepts 2 to 30, minimax-h3 accepts 5 to 15 at native 480p or 768p, and Gemini Omni Flash 1.1 accepts 3 to 10 in 16:9 or 9:16 with native audio. A request that falls outside the range for the chosen model fails validation, so read the descriptor first.
model: "sume/auto" lets Sume pick the family, and the response always reports sume/auto; Sume does not disclose the family that ran. Pin a model id when you need a fixed range.
A typical pre-submit routine
Fetch the model list at startup, cache it for a short time, and validate the chosen duration, resolution and aspect ratio before you submit. A failed validation costs no credits, but a wasted round trip still counts as a write.
Prices are not part of the video descriptor in a way you should hard-code. Use the catalog or the docs for the figures, and keep the arithmetic in your estimate visible.
Sources
Related posts
More in Developers
- LTX-2.5 on Windows or Mac: natten, attention and fallbacks
LTX-2's README: natten (VAE decode) is Linux and CUDA only, with a Triton or eager fallback elsewhere; FlashAttention 4 on B200, 3 on Hopper, SDPA otherwise.
- LTX-2.5 pipelines: Distilled, DFR or two-stage, which to run
The LTX-2 repo names eleven pipelines for LTX-2.5. Which one is fastest, which is guided, which does keyframes or audio, and where the Sume fields line up.
- Lyria 3.5 has no duration field: how to ask for a 45-second track
Sume's music router rejects duration and duration_seconds. Write the length into the prompt, with section timestamps, and pay a flat $0.125 per generation.
- MCP authorization spec: 6 requirements vs what Sume documents
The MCP authorization spec asks for resource metadata, PKCE and a resource parameter. Here is what hosted Sume MCP documents for each, and what stays open.
Written by Sume