Longer clips aren’t the real upgrade
Everyone’s celebrating that Gemini Omni 1.2 Flash hit 15 seconds. Wrong headline. The model Google opened up on November 5, 2026 matters because editing is the main loop and generation is the cheap draft – and 720p output sits near $0.07 per second, about 30% under Omni 1.1.
Full-res regenerations every time the light is wrong? That’s the old tax. Match the price sheet and the Interactions API instead.
Quick context: what shipped
Per Google’s announcement, Gemini Omni 1.2 Flash is GA on the Gemini API, Google Cloud, AI Studio, Flow, Google Vids, and the Gemini app. Model ID: gemini-omni-1.2-flash.
Core numbers as of the November 2026 launch window:
| Spec | Detail |
|---|---|
| Duration | 3-15 s whole seconds (default 10 s); extensions 3-10 s per turn toward ~30 s total |
| Resolution | Native 360p/720p; upscale to 1080p/4K |
| Aspect | 16:9 or 9:16 |
| 720p cost | ~ $0.07 / s (video output tokens ~$12 / 1M) |
| 360p draft | ~ $0.023 / s |
| Input tokens | $1.50 / 1M |
| References | Up to 6 images (≤3 per character for 2 characters); motion clips ≤3 s |
| Audio | Native dialogue / SFX / music + lip-sync; SynthID on output |
On December 3, 2026, leftover 1.1 traffic routes to 1.2 at 1.2 rates. No free API tier. Vids and some Flow/Gemini consumer quotas still hand out limited free seconds by plan – this may have changed after launch, so check the console before you budget.
Hands-on: draft → edit → upscale
One-shot hero prompts fight the pricing. Generate cheap. Lock the take with multi-turn natural-language edits. Pay for resolution once.
1. Cheap text-to-video draft at 360p
Interactions API is required if you want stateful follow-ups. Pattern from the official Omni docs:
from google import genai
import base64
client = genai.Client()
interaction = client.interactions.create(
model="gemini-omni-1.2-flash",
input="Single continuous shot, no cuts: a stainless steel water bottle on a white desk, slow 30-degree orbit, soft window light, quiet room tone, no dialogue, no text on screen.",
response_format={
"type": "video",
"resolution": "360p",
"duration": "8s",
"aspect_ratio": "16:9"
}
)
with open("draft.mp4", "wb") as f:
f.write(base64.b64decode(interaction.output_video.data))
print(interaction.id) # keep this
Say “single continuous shot / no cuts” out loud in the prompt – the model invents montage if you don’t. Quote on-screen text and add “every word spelled exactly as given.”
Eight seconds at 360p is pocket change next to a 720p miss. Same orbit, same bottle, maybe a tenth of the spend while you decide whether the move even works.
2. Conversational edits on the same take
Pass previous_interaction_id. One change per turn. Restate what stays locked.
edit = client.interactions.create(
model="gemini-omni-1.2-flash",
previous_interaction_id=interaction.id,
input="Change only the background to a blurred city skyline at dusk. Keep the bottle, orbit speed, lighting on the product, and camera framing identical."
)
Product, weather, aspect, wardrobe – swap them across a full 15 s without re-uploading. Docs and community reports line up on one hard rule: keep the interaction stored. Force store=false (or any non-persistent mode) on the first gen and previous_interaction_id follow-ups die. No retained state, no chain.
Pro tip: Fix a seed on the winning 360p draft before you upscale. Motion and framing hold still when you finally pay for 720p/1080p.
3. Reference lock for product or character
Attach up to six images. Describe roles in plain language – three product angles plus one style frame, then “match the exact packaging typography and brand blue from the attached photos across a 12-second catalog spin.”
The catch is duration by task. Plain generation and edits go 3-15 s. First/last-frame interpolation and extension hard-cap at 10 s per turn even though the headline is 15.
4. Upscale only the keeper
Approved cut? Request 1080p or 4K (or the dedicated upscale path where your surface offers it). 15 s at ~$0.07/s lands near $1.05 in video-output tokens before input and retries. Drafts at ~$0.023/s exist so you only take that hit once.
Ads, explainers, try-ons – this is the loop.
Common pitfalls that burn credits or time
- Region lock: Uploaded-video editing is blocked in the EEA, Switzerland, and UK (Cloud model docs). Model-generated clips stay editable. Check before you promise a UGC pipeline.
- Instruction skip rate: Independent Segmind runs (~20 tests) saw roughly one request in four drop a secondary instruction – background change or the final camera move. Budget a QA pass and one re-roll.
- Counting and data: More than three labelled objects, or free-plotted chart values, often duplicate or drift. Supply a finished last-frame image when layout must be exact.
- Safety blocks: Celebrity names, real-person likenesses, minors in images, and real brand logos in source footage get refused a lot – especially in restricted regions. Time cost either way.
- Physics and faces: Fast sports and messy physics still wobble. Photoreal people from pure text read floaty next to specialist face/body tools.
Audio references: allowlisted on Cloud. Standard public API still doesn’t take arbitrary uploaded audio for conditioning.
Cost shape (as of launch)
720p generation hangs around the published ~$0.07/s band; 360p drafts sit near ~$0.023/s. A full 15 s 720p piece is about a dollar of video output before you count input tokens or bad takes. Google Cloud adds Provisioned Throughput if you need production SLAs. Every clip carries SynthID.
Versus Omni 1.1 Flash, edit adherence is what makes multi-turn worth wiring. “Change one thing, keep the rest” actually holds often enough to replace full regenerations.
When you should not reach for Gemini Omni 1.2 Flash
Instruction-exact explainers, kinetic type, product callouts, single-change UGC edits – obedient enough at this price. Skip it for hero cinematic brand films that need weighty photoreal acting, heavy physics, or multi-minute narrative continuity. Extension exists; seams still show. Free-form data viz with no locked end frame? EEA account that must edit phone footage? Different tool.
Since the November 5 drop, the loud talk is price and the 15-second ceiling. Quieter: regional edit limits and the still-messy instruction following. Both belong in the pipeline plan before you delete the old path.
FAQ
Is Gemini Omni 1.2 Flash free?
Not on the Gemini API. Paid only there. Consumer quotas inside Vids / some Flow / Gemini plans may still include limited free 15 s generations – check the account you actually bill.
How do I keep character or product consistency across 15 seconds?
Six reference images max, three per character when you’re driving two characters. Spell the role in the prompt: “second photo owns jacket color and logo placement.” Edit only what must change. If exact placement of labels matters, don’t dump more than three labelled objects in one go – send a locked last frame instead.
Can I edit a video I shot on my phone?
Only outside EEA / Switzerland / UK, via the Files API path, clip ≤15 s. Inside those regions you’re limited to editing model-generated clips. Hold the interaction ID if you want multi-turn follow-ups either way.
Open AI Studio with the 1.2 Flash model, run one 360p 8-second continuous-shot product draft, then force a single background swap with previous_interaction_id. Ten minutes with the real control surface beats another feature list.