25 15-second Grok Imagine 1.5 Lite clips vs Sume 720p

xAI lists Grok Imagine Video 1.5 Lite at $0.020 a second: $7.50 for 25 15-second clips. Sume's grok-imagine-video-1.5 bills $4.6875 at 720p.

4 min readSume
All posts

xAI's docs list Grok Imagine Video 1.5 Lite at $0.020 per second of output, so 25 15-second clips come to $7.50 direct. Sume does not list the Lite model. It lists grok-imagine-video-1.5, an image-to-video model at 480p and 720p, which bills $4.6875 for the same 25 clips.

xAI's figure is from its model page, read 2026-10-10; the page gives one per-second rate and does not split it by resolution. Sume's figures come from the Video Router docs and API pricing.

What does a 15-second clip cost on each route?

The Sume rows are every catalog model that accepts 15 seconds at 720p, cheapest first, with the Grok row included for reference. Sume's Grok row takes a source image; the others also take text-only prompts.

Cost of 25 15-second clips, read 2026-10-10.
RouteResolutionPrice for 25 clipsNote
xAI Grok Imagine Video 1.5 Lite (direct)not split on the page$7.50$0.020 a second
Sume grok-imagine-video-1.5720p$4.6875image-to-video only, 4 to 15 s
Sume MiniMax H3768p$28.125768p is its native tier, not 720p
Sume MiniMax H3 Max768p$37.50768p is native; 1080p is a refinement of it
Sume Wan 3.0720p$46.875list price at the standard margin
Sume Seedance 2 Fast720p$113priced from video tokens at 16:9

How do I call it?

A text-to-video request goes to POST /v1/videos. This one uses the cheapest text-capable row; Sume's Grok model needs a frame_images entry instead of a text-only prompt.

import os
import time

import requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
job = requests.post(
    "https://api.sume.com/v1/videos",
    headers=H,
    json={
        "model": "minimax-h3",
        "prompt": "A paper boat drifts down a rain-soaked street at dusk",
        "duration": 15,
        "resolution": "768p",
        "aspect_ratio": "16:9",
    },
).json()
while True:
    s = requests.get(job["polling_url"], headers=H).json()
    if s["status"] in ("completed", "failed"):
        break
    time.sleep(10)
print(s["status"], s.get("unsigned_urls"))

What this comparison leaves out

The two Grok routes are different products.

  • Lite and the model Sume lists are separate xAI releases; do not read the table as the same model at two prices.
  • xAI's page does not state the resolution its $0.020 rate applies to.
  • Output quality is not compared.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume