Animate a brand mascot still: which Sume models take a first frame
Almost every Sume video row takes a first frame, except H3 Max Recast and Genjutsu. Grok Imagine Video 1.5 is $0.0125 a second; Omni, Wan and Kling add more.

To animate a mascot still, pass it as a first_frame in frame_images. On Sume that works on grok-imagine-video-1.5 (first frame required, $0.0125 a second), gemini-omni-flash-1.1, wan-3.0, kling-3, minimax-h3, minimax-h3-max and the Seedance rows. The two person-swap rows, h3-max-recast and higgsfield-genjutsu, work from a source video and do not.
Choose by what you need beyond the first frame: sound, a last frame, a longer clip or a square ratio. Limits are from the Sume video docs and Video Router guide, read 2026-10-05.
Image-to-video rows compared
Sume bills the provider list price times 1.25 and rounds the job up to the cent, so a one-second figure here is a rate, not a charge.
| Model id | Needs a first frame | Last frame | Audio | Rate per second |
|---|---|---|---|---|
| grok-imagine-video-1.5 | Yes, no text-only | No | None | $0.0125 at 480p or 720p |
| wan-3.0 | No | Yes | Yes | $0.0625 at 480p |
| minimax-h3 | No | Yes | Stereo, always on | $0.0625 at 480p |
| gemini-omni-flash-1.1 | No | Yes | Native, always on | $0.0375 at 360p |
| kling-3 | No | Yes | Optional | $0.14 without audio |
Cheap is not always the point
Grok is the lowest rate on the list: a 6-second loop is $0.075. It has no sound, no last frame and no aspect_ratio option. That suits a silent web loop. For a mascot that has to speak or end on a set pose, use Omni or Wan.
A mascot photo or illustration is also a style anchor. If the mascot appears in several shots, put the same image in input_references on Omni or Wan, which hold up to 10 images, so each clip draws on the same look.
Request
The cheapest route, a silent loop from a still.
import os, time, requests
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
payload = {
"model": "grok-imagine-video-1.5",
"prompt": "The mascot waves and blinks, gentle bounce, plain background",
"duration": 6,
"resolution": "720p",
"frame_images": [
{"type": "image_url", "image_url": {"url": "https://example.com/mascot.png"}, "frame_type": "first_frame"}
],
}
job = requests.post("https://api.sume.com/v1/videos", headers=H, json=payload).json()
while True:
time.sleep(30)
s = requests.get(job["polling_url"], headers=H).json()
if s["status"] in ("completed", "failed", "cancelled"):
break
print(s["status"], s.get("unsigned_urls"), s.get("usage"))Sources
Related posts
More in Use cases
- Animate a child's drawing with AI: 6 seconds for $0.075 on Sume
Turn a photographed child's drawing into a 4 to 15 second clip. Grok Imagine on Sume bills $0.0125 a second; Kling 3 costs more but takes a last frame.
- Animate a trading or tarot card image: pick the model by aspect ratio
Card art is a tall rectangle. Kling 3 and Omni cannot take 3:4 on Sume; Wan 3.0 and MiniMax H3 can. A 5 second 3:4 card costs $0.3125 on Wan at 480p.
- Anki cards with AI images: collection.media and the img tag
Anki finds images by filename in collection.media, via an img tag, with Allow HTML on. Make one PNG per word with Sume and write a tab-separated import file.
- Annual compliance refresher as an avatar video: review and records
An avatar can deliver a 45-second compliance refresher. Legal approves the script; you keep the video id and transcript as a record of what was said.
Written by Sume