20 ad hook variants of 5 seconds: cheapest Sume video model per batch

Twenty 5-second hook tests cost $3.80 on Omni at 360p, $6.40 on Wan at 480p and $12.60 at 720p on Omni or Wan. Per-job rounding is included.

5 min readSume
All posts

Twenty 5-second hook variants cost $3.80 on gemini-omni-flash-1.1 at 360p, $6.40 on wan-3.0 at 480p, $7.60 on minimax-h3 at 768p, and $12.60 at 720p on either Omni or Wan. Kling 3 at 720p is $14.00. Each job is rounded up to the cent, so the totals are 20 times the per-job charge rather than 100 seconds times the rate.

Rates are from the Video Router guide, read 2026-10-05.

Per-job and per-batch cost

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.

Cost of a 5-second job and of 20 jobs on Sume (read 2026-10-05)
Model and resolutionRate per secondOne 5 s jobTwenty jobs
gemini-omni-flash-1.1, 360p$0.0375$0.19$3.80
wan-3.0, 480p$0.0625$0.32$6.40
minimax-h3, 768p$0.075$0.38$7.60
gemini-omni-flash-1.1, 720p$0.125$0.63$12.60
wan-3.0, 720p$0.125$0.63$12.60
kling-3, 720p, audio off$0.14$0.70$14.00

Test cheap, then re-run winners

A hook test is about the first seconds, so a low resolution is usually enough to rank variants. Run all twenty at the cheapest row that matches your ratio, then re-run the top two or three at 720p or 1080p. Omni takes only 16:9 and 9:16; Wan also takes 4:3, 1:1 and 3:4.

Reruns are not free: the same prompt can come out differently, because these routes take no seed. Keep the first-pass result of any variant you like.

  • Send an Idempotency-Key per variant so a retried request is not billed twice.
  • Set callback_url instead of polling when you run twenty jobs at once.
  • Read usage.cost on each completed job for the real charge.

Submit one variant

Loop over your hook prompts and call this once for each.

import os, time, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
payload = {
    "model": "wan-3.0",
    "prompt": "Hook: a hand drops a coffee capsule into a glass of ice, macro, bright kitchen",
    "duration": 5,
    "resolution": "480p",
    "aspect_ratio": "9:16",
}
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 Pricing

All Pricing posts

Written by Sume