Grok Imagine Video 1.5 Lite on Vercel AI Gateway vs Sume /v1/videos
Vercel added Grok Imagine Video 1.5 Lite to AI Gateway on Oct 8. What generateVideo gives you, and the equivalent text-to-video call on Sume's /v1/videos.

Vercel's changelog dated 8 October 2026 says Grok Imagine Video 1.5 Lite is available on AI Gateway under the model id spacexai/grok-imagine-video-1.5-lite, called with the AI SDK's experimental_generateVideo. Sume does not list a Lite row, so the same text-to-video job on Sume is a POST /v1/videos with a model id from the Sume catalog, such as wan-3.0, followed by a poll and a download.
What did Vercel announce on 8 October?
The changelog entry describes text-to-video and image-to-video with native audio, clips of 1 to 15 seconds, output up to 1080p, and seven aspect ratios from widescreen to portrait. It shows a TypeScript call with resolution: '1920x1080', aspectRatio: '16:9' and duration: 10. It does not state a price, so budget from the model owner's own page instead.
OpenRouter's page for the same model shows the same 1 to 15 second range and 480p, 720p and 1080p options, and a job flow of submit, poll, then download from a content endpoint. Both pages are listed in the sources.
What is the equivalent call on Sume?
Sume video is asynchronous. You submit to /v1/videos, get a job id and a polling URL, poll until the status is completed, then read the content URL. The catalog is whatever GET /v1/videos/models returns for your key, so check it before you hard-code an id.
This Python sketch sends a ten-second text-to-video request to wan-3.0, which the Video Router table lists at 2 to 30 seconds and 480p, 720p or 1080p.
import os, time, requests
BASE = "https://api.sume.com/v1/videos"
HEADERS = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
def main():
body = {
"model": "wan-3.0",
"prompt": "A paper sailboat drifts on a quiet pond at sunrise.",
"duration": 10,
"resolution": "720p",
"aspect_ratio": "16:9",
}
r = requests.post(BASE, json=body, headers=HEADERS, timeout=30)
r.raise_for_status()
poll_url = r.json()["polling_url"]
while True:
time.sleep(15)
job = requests.get(poll_url, headers=HEADERS, timeout=30).json()
if job["status"] == "completed":
print(job["unsigned_urls"][0])
return
if job["status"] == "failed":
raise RuntimeError(job.get("error", "failed"))
main()Which parts map across, and which do not?
| Question | Vercel AI Gateway call | Sume /v1/videos |
|---|---|---|
| Model id | spacexai/grok-imagine-video-1.5-lite | A Sume catalog id such as wan-3.0; no Lite row |
| Duration | 1 to 15 seconds | Per model: wan-3.0 2 to 30 s, grok-imagine-video-1.5 4 to 15 s |
| Text-to-video | Yes | Yes on wan-3.0; the Sume Grok row is image-to-video only |
| Flow | generateVideo helper in the AI SDK | Submit, poll, download from the content URL |
| Price | Not stated in the changelog | Provider list price times 1.25, reserved at submit |
Does Sume have Grok Imagine Video 1.5 Lite?
Not as a separate id. The Video Router table lists grok-imagine-video-1.5 at 480p and 720p, 4 to 15 seconds, image-to-video only. If you need a 1 or 2 second clip, wan-3.0 is the Sume row that goes down to 2 seconds. Sume's video docs say each submit reserves the provider list price times 1.25 from your workspace USD balance, so read pricing_skus from the catalog for exact rows instead of copying a number from another gateway.
Sources
Related posts
More in Developers
- Grok Imagine Video 1.5 Lite batch API: what xAI documents
xAI's Lite page lists a $0.02 per second price, 10 requests per second, batch support and two regions. Sume jobs are async instead; here is how they differ.
- Image-to-video with sound by API: Sume ids that take a first frame
Kandinsky 6.0 has an image-to-audio-video mode. On Sume these ids take a first_frame image and return sound, and these do not. Request code included.
- Inngest Bursty Concurrency 3x: will Sume answer queue_full?
Inngest can lift step concurrency 3x for 60 minutes a month. Sume's limit does not move: size bursts to accepted capacity and retry queue_full with one key.
- Julia: verify a Sume webhook with SHA.jl and a hand-rolled compare
Verify a Sume webhook in Julia: SHA.hmac_sha256 over timestamp.raw_body, a hand-rolled constant-time compare, rotation entries, and a five-minute replay window.
Written by Sume