Nano Banana 2.1 still, then Omni 1080p for 6 s: $1.225 together

A Nano Banana 2.1 still at $0.10 and a 6-second Omni Flash 1080p animation at $1.125 total $1.225 on Sume. The two-call Python script and where the cost sits.

4 min readSume
All posts

A Nano Banana 2.1 still at 1K costs $0.10 on Sume, and animating it with Gemini Omni Flash 1.1 at 1080p for 6 seconds costs 6 x $0.1875 = $1.125, so the pair costs $1.225. The video is 92% of that total.

Google's changelog lists Nano Banana 2.1 as generally available on Oct 6 2026 (read 2026-10-09). On Sume you call it by the id nano-banana-2.1; prices are from the Sume price tool.

Where the money goes

Reroll the still as often as you like: at $0.10 a try, 10 stills cost $1.00, less than one 1080p animation. Settle the still first, then animate.

Still plus animation on Sume (read 2026-10-09). Image at 1K default; video rate x 6 s.
StepModelSettingCost
StillNano Banana 2.11K$0.10
AnimateOmni Flash 1.11080p, 6 s, $0.1875 per second$1.125
Together$1.225
Same animation at 720pOmni Flash 1.16 s, $0.125 per second$0.75

The two calls

POST /v1/images blocks for up to 30 seconds and returns the image as a Sume-hosted URL in data[0].url. If it answers 202, poll the job before you read the URL. Pass the URL to the Video Router as image_url.

import os, requests
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
img = requests.post("https://api.sume.com/v1/images", headers=H, timeout=60,
    json={"model": "nano-banana-2.1",
          "prompt": "Matte black bottle on marble, soft window light, vertical"})
img.raise_for_status()
if img.status_code != 200:
    raise SystemExit("image job still running: poll its status_url first")
still = img.json()["data"][0]["url"]
vid = requests.post("https://api.sume.com/v1/video-router/generate", headers=H, timeout=60,
    json={"model": "gemini-omni-flash-1.1", "image_url": still,
          "prompt": "Slow orbit around the bottle, light shifts across the label",
          "resolution": "1080p", "duration": 6, "aspect_ratio": "9:16", "mode": "async"})
vid.raise_for_status()
print(vid.json())

Ten assets

A set of ten stills each animated once multiplies the pair price. The table compares two animation resolutions.

Ten still-plus-animation pairs. Still $0.10; video rate x 6 s. (read 2026-10-09)
AnimationOne pairTen pairs
720p$0.85$8.50
1080p$1.225$12.25

Limits and gotchas

Check the image docs for the resolution field before you ask for 2K or 4K stills, since their price is higher than the 1K figure used here.

  • Omni takes 3-10 seconds, 16:9 or 9:16. Make the still in the same shape as the clip.
  • Audio is always on for Omni, so the animation has a soundtrack.
  • A start-frame request uses image_url. For a reference request, use reference_image_urls and a token instead.
  • Give the video call its own Idempotency-Key; the image call is not a video job.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume