Veo 3.1 Lite's id ends in -preview; Sume model ids are bare slugs
Google's Veo 3.1 Lite model id is veo-3.1-lite-generate-preview. Sume's /v1/videos takes plain catalog ids like wan-3.0. Copy ids from the models list.

The Gemini API's Veo 3.1 Lite page gives the model id veo-3.1-lite-generate-preview, and marks the latest update as March 2026 (read 2026-10-04). That id carries a vendor suffix, generate-preview, that tells you it is a preview model.
If you ported a script from the Gemini API to Sume, do not carry the id across. The Sume Video Router names models by catalog slug: kling-3, wan-3.0, seedance-2, gemini-omni-flash-1.1. The slug is the id field returned by GET /v1/videos/models, per the video generation docs. Veo 3.1 Lite is not in that list, so sending the Google id returns an error rather than a clip.
Copy ids, do not type them
The safest pattern is to read the list and validate your choice before the first paid call.
import os
import requests
want = "wan-3.0"
resp = requests.get(
"https://api.sume.com/v1/videos/models",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
)
ids = [m["id"] for m in resp.json()["data"]]
if want not in ids:
raise SystemExit(f"{want} not in catalog: {ids}")
print("ok", want)Why it matters
A catalog id is part of your cost model. wan-3.0 bills $0.0625, $0.125 or $0.25 per second at 480p, 720p and 1080p, while gemini-omni-flash-1.1 bills $0.1875 at 1080p. A wrong id fails before any money is reserved, but a wrong guess about which model sits behind a familiar name can still blow a budget.
Sources
Related posts
More in Developers
- One video per request: three hook variants as three Sume jobs
Google lists Veo 3.1 Lite at one video per request. On Sume every model works that way too: three hook tests are three jobs, each with its own Idempotency-Key.
- Veo is US-region only: what EU teams call on Sume
A Sept 2026 listing says Veo runs only in us-central1, with no EU region documented. Sume has one video endpoint and its docs state no region.
- Vercel renamed Edge Requests: match Sume errors by code, not text
Vercel Edge Requests are now CDN Requests, and billing reads should use SkuId. Same rule for Sume errors: branch on error.code and request_id, never message.
- Verify a Sume TTS webhook in Python instead of polling
Get a signed job.completed callback when a voiceover finishes. A Python verifier with a 5-minute replay window that refuses an empty secret.
Written by Sume