Veo 3.1 on Sume: Google Cloud rows, 720p, text-to-video only

Veo 3.1, Fast and Lite appear on Sume only where Google Cloud serves them: text-to-video, 720p, 4, 6 or 8 s, 16:9 or 9:16. Check your own list. Read 2026-10-13.

5 min readSume
All posts

Veo 3.1 is on Sume in a narrow form: veo-3.1, veo-3.1-fast and veo-3.1-lite are listed only where Google Cloud serves them, and each one does text-to-video only, at 720p, in 4, 6 or 8 seconds, in 16:9 or 9:16, with a generate_audio option. If your GET /v1/videos/models response does not contain them, they are not available to you, so the live list is the only answer that counts.

What does Google's own page say about Veo 3.1?

The Gemini API video page describes Veo 3.1 as a model for generating video with native audio that supports video extension, frame-specific generation and image-based direction. It also recommends Gemini Omni Flash as the default choice, and presents Veo 3.1 for specialized cases. The Sume Veo rows do not expose extension, frame-specific generation or image direction: they take a prompt, a duration, an aspect ratio and the audio switch, and nothing else.

Sume Veo rows from the Video Router docs; vendor description from the Gemini API page; read 2026-10-13.
FeatureGoogle page for Veo 3.1Sume Veo rows
Native audioYesgenerate_audio, default true; false gives a silent clip at a lower rate
Frame-specific generationYesNot offered (no frame images)
Image directionYesNot offered (no references)
ExtensionYesNot offered
ResolutionSee Google's Veo page720p only
LengthSee Google's Veo page4, 6 or 8 s (default 8)

What should I use if the Veo rows are missing?

gemini-omni-flash-1.1 is the closer match to Google's current default: 3 to 10 seconds, text, first frame, end frame and references, up to 4K, with native audio. If you need a silent clip, note that Omni refuses generate_audio: false; the Veo rows are one of the few that allow it.

A quick check you can run before any job:

import os, requests

r = requests.get(
    "https://api.sume.com/v1/videos/models",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()
ids = {m["id"] for m in r.json()["data"]}
print({i: i in ids for i in ("veo-3.1", "veo-3.1-fast", "veo-3.1-lite")})

Sources

Related posts

More in Models

All Models posts

Written by Sume