Omni draft grid: four 360p variants, then one final. What it costs

Google's Draft Room idea, run through the Sume API: four 8-second 360p drafts that change one thing each, then a 1080p final. Total $2.70, with a script.

4 min readSume
All posts

A four-draft grid on Gemini Omni Flash 1.1 costs $1.20 at 360p for 8-second clips, and one 1080p final adds $1.50, so the whole pass is $2.70 on Sume. The method comes from Google's launch post, which suggests generating three or four 360p drafts, changing one variable at a time, then upscaling the best.

The grid

One base prompt, four variants, each differing by a single clause. If two things change between drafts you cannot tell which one caused the difference.

Draft grid cost on Sume, 8-second clips, list x 1.25 (read 2026-10-07)
PassResolutionPer secondClipsTotal
Drafts360p$0.03754$1.20
Final1080p$0.18751$1.50
Pass total$2.70

Script

The loop below sends four async requests concurrently, each with its own Idempotency-Key. Reusing one key across different bodies would collide, so the key carries the variant name. Re-running the script with the same keys returns the same jobs instead of billing new ones.

import asyncio, json, os, urllib.request

def submit(prompt, key):
    req = urllib.request.Request(
        "https://api.sume.com/v1/video-router/generate",
        data=json.dumps({"model": "gemini-omni-flash-1.1", "prompt": prompt,
                         "duration": 8, "resolution": "360p", "mode": "async"}).encode(),
        headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
                 "Content-Type": "application/json", "Idempotency-Key": key})
    with urllib.request.urlopen(req) as resp:
        return json.load(resp)

BASE = "A ceramic mug on a wooden table, steam rising, slow push-in. "
VARIANTS = {
    "light-warm": "Warm morning window light.",
    "light-cool": "Cool overcast daylight.",
    "angle-low": "Low camera angle.",
    "angle-top": "Top-down camera angle.",
}

async def main():
    jobs = await asyncio.gather(*[
        asyncio.to_thread(submit, BASE + text, "draft-grid-" + name)
        for name, text in VARIANTS.items()])
    print(json.dumps(jobs, indent=2))

asyncio.run(main())

Why not just run four finals

Four 8-second finals at 1080p would cost $6.00, against $1.20 for four drafts. The grid keeps the choice cheap and puts the money in the one clip you will ship. If none of the four drafts is right, the miss cost $1.20, not $6.00, and the next grid can start from what you learned.

Keep a record of each key, prompt and result. When a client picks the second draft two days later, you want to rerun that exact prompt rather than reconstruct it.

What to vary

Pick the variable that matters most to the final and hold the rest.

  • Lighting: warm or cool, window or overhead.
  • Camera: low, eye level, top-down.
  • Movement: push-in, static, orbit.
  • Subject detail: the one prop you are unsure about.

Reading the drafts

Judge drafts on what survives upscaling: composition, motion direction and subject placement. Fine texture and small text will not tell you much at 360p. Watch with the sound on as well, because audio is generated with the clip and cannot be switched off on this model, so a draft with an odd sound bed will have one at 1080p too.

Four is a ceiling, not a target. If the first two variants answer the question, stop; each extra draft is another $0.30. Write the winning variant's clause into the base prompt before the final, so the final does not depend on a draft you no longer have.

Choosing and finishing

Google says 360p previews generate up to 60 percent faster and at a third of the cost of 720p, and that you can upscale a chosen draft. Sume's catalog exposes resolutions as a request field, so the practical route is to repeat the winning prompt at 1080p, which is a new request, not a re-render of the draft. Expect the final to resemble the draft rather than match it frame for frame.

For longer pieces, the six-shot storyboard pass applies the same idea to a sequence, and the 360p draft note lists the rates per tier.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume