Choose an AI video model in Python: filter the Sume model list by need

Read GET /v1/videos/models and keep only the models that fit your clip length, resolution and reference needs. A runnable Python filter for Sume.

5 min readSume
All posts

The reliable way to choose a model is to filter Sume's own model list, because limits are per model and change. GET /v1/videos/models returns each model's supported_resolutions, supported_durations, supported_frame_images, supported_input_references and generate_audio, so a few lines of Python can answer "which models do 20 seconds at 1080p?"

The filter

This script lists every model that supports at least the duration and resolution you pass in. It needs SUME_API_KEY in the environment and the httpx package.

import asyncio
import os

import httpx

MIN_SECONDS = 20
RESOLUTION = "1080p"


async def main() -> None:
    key = os.environ["SUME_API_KEY"]
    headers = {"Authorization": f"Bearer {key}"}
    async with httpx.AsyncClient(base_url="https://api.sume.com", headers=headers) as client:
        response = await client.get("/v1/videos/models")
        response.raise_for_status()
    for model in response.json()["data"]:
        durations = model.get("supported_durations") or []
        resolutions = model.get("supported_resolutions") or []
        if durations and max(durations) >= MIN_SECONDS and RESOLUTION in resolutions:
            refs = model.get("supported_input_references") or []
            print(model["id"], max(durations), "s", "audio" if model.get("generate_audio") else "silent", refs)


asyncio.run(main())

What to expect

On the catalog as read on 2026-10-03, a 20 second minimum leaves only the 30-second rows, Seedance 2.5 and Wan 3.0. Change the constants to ask other questions: set the resolution to "4K" and the answer is Gemini Omni Flash; add a check for "audio_url" in the references to find the audio-reference rows.

Notes

Once you have a model id, submit with the same id on POST /v1/videos.

  • Genjutsu is listed only where its provider is configured, so the list can differ between environments.
  • The list reports capability, not price. Read pricing_skus in the same response, or the pricing block on the Video Router list.
  • Do not cache the answer for long. Re-read it when you deploy.
Fields the model list returns, read 2026-10-03. Source: Sume video catalog on origin/main, read 2026-10-03.
FieldMeaning
supported_resolutionsaccepted output resolutions
supported_durationsclip lengths in whole seconds
supported_frame_imagesfirst_frame, last_frame
supported_input_referencesimage_url, video_url, audio_url
generate_audiowhether the model can make audio

Sources

Related posts

More in Developers

All Developers posts

Written by Sume