◉GEMINI LABJP
●ARGON — gemini-4-argon is generally available as of 10/13, aimed at complex coding, agents, math and science●DEEP RES — deep-research-pro-preview-12-2025 shuts down 10/23, 3 days left. Move to deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 is GA (10/06). gemini-3.1-flash-image is deprecated with no shutdown date yet●MCP — One write-up cut an 85,000-token tool result to 310 tokens by wrapping it in an ADK FunctionTool●FLASH — gemini-3.7-flash and 3.5-flash now route automatically to newer Flash models (10/08)●NEW — Stop Re-Reading Every Crash Report: Gre…●ARGON — gemini-4-argon is generally available as of 10/13, aimed at complex coding, agents, math and science●DEEP RES — deep-research-pro-preview-12-2025 shuts down 10/23, 3 days left. Move to deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 is GA (10/06). gemini-3.1-flash-image is deprecated with no shutdown date yet●MCP — One write-up cut an 85,000-token tool result to 310 tokens by wrapping it in an ADK FunctionTool●FLASH — gemini-3.7-flash and 3.5-flash now route automatically to newer Flash models (10/08)●NEW — Stop Re-Reading Every Crash Report: Gre…
Articles/Advanced
⬡ Advanced/2026-09-05Advanced

Two Kinds of Video Questions: Why I Send "Find It" and "Prove It Isn't There" Down Separate Paths

Agentic video understanding lets the model decide which parts of a video to watch. That works beautifully for finding things, and it quietly breaks when you need to prove something never appears. Here is how I split my questions, and the coverage check I now run first.

Gemini API250video understanding3agenticGemini 3.7 Flashindie development28

✦ Premium Article

I was pulling a ninety-second excerpt out of an hour-long process recording for a client. Before cutting anything, I wanted to confirm one thing: whether anyone other than the person working had wandered into frame.

So I asked Gemini. Agentic video understanding had just shipped, and switching it on is a single field — processing set to "agentic" — so this felt like a good place to try it.

The answer came back: no matching segments found.

I scrubbed through the footage myself anyway. Near the end, someone walking past appeared at the edge of the frame for a moment.

The model had not lied to me. It had simply never looked at that stretch of video.

What actually shipped is a choice about who decides where to look

On September 1, 2026, Google added agentic video understanding to Gemini 3.7 Flash, 3.6 Flash, and 3.5 Flash-Lite. It works for uploaded files and YouTube URLs, through the Gemini API in Google AI Studio and the Gemini Enterprise Agent Platform.

The older path is called static processing. By default it samples the whole video at one frame per second, evenly, end to end — and the FPS is adjustable through the API. Tokens grow with duration, so on long footage you were choosing between paying for the tokens or dropping detail.

Agentic processing inserts the model's own judgment into that step. It searches across frames, audio, and transcript, opens only the segments it decides it needs, and re-watches at a higher frame rate when it wants to. Google's announcement post reports up to 66% lower analysis cost, up to 88% fewer tokens, and up to 7% better accuracy on standard video analysis benchmarks. There is no extra feature fee — it bills at ordinary token rates.

The switch is one line.

from google import genai
 
client = genai.Client()
 
interaction = client.interactions.create(
    model="gemini-3.7-flash",
    input=[
        {
            "type": "video",
            "uri": VIDEO_URI,          # an uploaded file, or a YouTube URL
            "processing": "agentic",   # omit this and you get the old static path
        },
        {"type": "text", "text": "At what timestamp does the logo first appear on screen?"},
    ],
)
 
print(interaction.output_text)

One line for a dramatically lighter long-video pipeline. My first instinct was to move everything over.

The word I misread was "counting"

Among the listed capabilities is counting actions and objects — accurately tracking repeated physical movements and distinct objects over time. I read that as permission to ask for totals across a whole video.

Reading it again, it says something narrower. The strength is counting what is inside a time window it has chosen to inspect, resampling at a higher FPS when the motion is fast. Where to put that window is a decision the model makes from your question.

That is where the step is. If the question contains a handhold, the model can climb down to the right window. "Where does the logo first appear" gives it the logo. But when you want to confirm that something you don't want is absent, neither of you has a handhold — that is the whole problem.

Which is exactly what happened to my hour of footage.

I have made this same ordering mistake on the image side too. Before adding a similarity search, I had never written down what counted as a duplicate in the first place, which I wrote up in splitting the definition of duplicate into three before adding embedding search. Define the question before you add the tool — video turned out to be no different.

✦

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 sort any video question into find-it or prove-absence, and pick agentic or static processing from your own requirements instead of guessing
✦You'll be able to stop trusting a no matches found answer that came from segments the model never actually opened, by adding one coverage check before you publish
✦You'll be able to estimate what the up-to-88% token reduction really looks like on your footage, based on the shape of your question rather than the length of the video
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 $10 for lifetime access
View Membership →

Related Articles

⬡ Advanced2026-08-31
Define What Counts as a Duplicate Before Adding Embedding Search to Your Image Pipeline
My dedup check flagged two prints with identical composition but different colors as one image. Here is how I split duplicate detection into three layers, measured where perceptual hashing ends, and decided what embedding search is actually for.
⬡ Advanced2026-09-24
I Stopped Asking Gemini 'Is This Right?' and Started Hiding My Answer Instead
Ask Gemini to confirm a label you already chose and it tends to agree. Here is why I compared three ways of asking, chose blind re-classification, how my answer still leaked in, and the routing code that sends only disagreements to a human.
⬡ Advanced2026-09-14
When BLOCK_NONE Changes Nothing: Telling Adjustable Gemini Blocks from the Ones You Can't Move
Some safety blocks go away when you loosen a threshold. Others never will. Here is how to read the response and decide which kind you are looking at before you touch a single setting.