GEMINI LABJP
DEPRECATION — The gemini-omni-flash-preview endpoint retires on September 30. Its replacement, gemini-omni-1.1-flash, reached general availability on August 27, so this one needs attention this monthMIGRATION — The swap is often a single model string, but the default resolution is now 720p. Carry over your preview-era assumptions unchanged and both your output and your bill will shiftOMNI — Version 1.1 closed four gaps: scene extension out to 40 seconds, first-and-last-frame control, a cheap 360p draft mode, and 4K upscalingCOPILOT — Gemini 3.8 Flash became selectable in GitHub Copilot on September 3, widening its reach a day after arriving in the Gemini API, AI Studio, and AntigravityPRICE — The $0.75 input and $3.75 output per MTok on 3.8 Flash is introductory. It expires December 31, and from January 1, 2027 the rate becomes $1.50 and $7.50 per MTokSPEECH — Gemini 3.5 Transcribe is a pair of dedicated speech-to-text models, with utterance-level language detection across 85+ languages, speaker diarization, word-level timestamps, and custom vocabulary biasingDEPRECATION — The gemini-omni-flash-preview endpoint retires on September 30. Its replacement, gemini-omni-1.1-flash, reached general availability on August 27, so this one needs attention this monthMIGRATION — The swap is often a single model string, but the default resolution is now 720p. Carry over your preview-era assumptions unchanged and both your output and your bill will shiftOMNI — Version 1.1 closed four gaps: scene extension out to 40 seconds, first-and-last-frame control, a cheap 360p draft mode, and 4K upscalingCOPILOT — Gemini 3.8 Flash became selectable in GitHub Copilot on September 3, widening its reach a day after arriving in the Gemini API, AI Studio, and AntigravityPRICE — The $0.75 input and $3.75 output per MTok on 3.8 Flash is introductory. It expires December 31, and from January 1, 2027 the rate becomes $1.50 and $7.50 per MTokSPEECH — Gemini 3.5 Transcribe is a pair of dedicated speech-to-text models, with utterance-level language detection across 85+ languages, speaker diarization, word-level timestamps, and custom vocabulary biasing
Articles/API / SDK
API / SDK/2026-09-06Advanced

Two Ways to Make a Longer Shot in Gemini Omni 1.1, and Two Different Ways They Break

Omni 1.1 extends scenes in 10-second steps up to 40 seconds cumulative, and interpolates between a pinned first and last frame. Which one you use is decided before your first generation, not after. Here is the planner I run first and the drift check I run last.

gemini115gemini-omni-1.1-flashvideo generation2scene extensionkeyframes

Premium Article

Early this month I was rebuilding a short promo clip for one of the wallpaper apps I run. The plan was simple: chain a few short cuts together and land on the app icon rising into frame.

I stopped after the third extension. Every seam was smooth. Watching it end to end, nothing looked broken. And yet the colour of the final cut had settled somewhere different from the opening cut.

The icon plate I had prepared was matched to that opening cut. The video was the thing that had moved, and fixing it meant regenerating everything I had chained on.

What I had misunderstood was treating scene extension and keyframe interpolation as two routes to the same length. They are not. They break in different places — and because they break differently, the choice belongs at the start, not at the moment you get stuck.

The 40-second ceiling cannot be moved once you are running

Scene extension in Omni 1.1 continues an existing clip. It works in 10-second increments, up to a cumulative total of 40 seconds. Those figures come from Google's own announcement of Omni 1.1 Flash.

The awkward part is what the ceiling closes off. You cannot take thirty seconds you built by extension and re-cut them into an interpolated chain afterwards, because pinning both ends requires having both end frames in hand at generation time.

So the ceiling is a deadline for a decision as much as it is a limit on length.

Extension reads the previous ten seconds

The change in Omni 1.1 is how much context the model carries forward. Earlier models referenced only the final second; this one analyses up to ten seconds of prior footage. Seams got noticeably better because of it.

That improvement is where I got caught. The better each seam becomes, the less the drift shows up at the seams.

Each join is faithful to the ten seconds before it, and comparing neighbouring cuts tells you nothing is wrong. But the fidelity is to the previous footage, not to the first footage. Step correctly enough times and you arrive somewhere far from where you started.

The call itself is unremarkable. This is the shape Google documents for extension:

from google import genai
 
client = genai.Client()
 
interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    previous_interaction_id=previous_video_interaction.id,
    input=[
        {"type": "text", "text": "Continue the scene."}
    ],
    response_format={
        "resolution": "360p",
    },
)

One field pointing at the previous generation. The ease of writing it and the difficulty of undoing it live in the same line, which is worth keeping in mind.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
You'll be able to choose between scene extension and keyframe interpolation before you spend anything on the first generation
You'll be able to catch the failure where every seam looks clean but the whole chain has drifted away from its opening frame, using a numeric threshold instead of your eyes
You'll know exactly what a 360p draft at a third of the cost can decide for you, and what it quietly cannot
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Gemini Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

Related Articles

API / SDK2026-09-05
Gemini 3.8 Flash Costs the Same Per Token and Can Still Raise Your Bill
Gemini 3.8 Flash carries the same per-token price as 3.7 Flash, but it is designed to work harder, so output tokens can grow and your bill with them. Here is what to measure before you switch, and how to price it across the January boundary.
API / SDK2026-09-04
Screen Loop Seam Clicks With Numbers Before You Hand the Audio to Gemini
An ambient loop that clicks only at the wrap point. Here is the numeric prescreen I run before sending anything to audio understanding, why an absolute threshold fails, and how AAC encoding quietly rebuilt the seam I had just repaired.
API / SDK2026-08-29
Should Omni Flash Hand You the 4K, or Should You Upscale at the Last Step?
In Gemini Omni Flash, 1080p and 4K are upscaled outputs. Here is how to pick the upscale point by working backwards from your delivery target, plus a script that checks whether the detail matches the nominal resolution.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →