Collapsing Video Understanding into One Native Call with Omni Flash
How I replaced an ffmpeg frame-extraction pipeline (7-9 calls per clip) with a single native Omni Flash call, the measured differences, and the boundaries where keeping frame sampling still wins.
Read Video with Timestamps in the Gemini API: Pull Just the Scene You Need
Hunting for 'where was that step?' in a screen recording or app demo is a chore. Here is how to use Gemini API video understanding to pull just the right scene with timestamps, plus a design that keeps tokens down with FPS and resolution.
Mixing Text and Images in One File Search Skewed My Results Toward Images — Rebalancing by Modality After Retrieval
When you put text and images in a single File Search store with gemini-embedding-2, results can quietly skew toward one modality. Here is how to measure that skew and even it out after retrieval, using per-modality normalization and quota-based merging — with working code.
Generating a Thumbnail From a Video With Nano Banana 2 (gemini-3.1-flash-image)
A hands-on guide to passing a whole video as context to the GA model gemini-3.1-flash-image (Nano Banana 2) and generating a single thumbnail. Covers how it differs from frame extraction, the preview-to-GA migration, and measured cost and time per image.
Harden the Layer Before Gemini Sees User Media — A Validation Pipeline You Can Actually Run
Piping user-uploaded images and video straight into Gemini walks you into MIME spoofing, EXIF leaks, decompression bombs, and video that isn't ready yet. Here's the validation layer—magic-byte sniffing, Files API state polling, and cleanup—built up in working code.
Put Help Docs and Screenshots in One File Search Store and Return Answers That Cite the Image Too
Your text help docs and your screenshots live in separate stores, so a single question can never return both the steps and the matching screen. With gemini-embedding-2 going multimodal in File Search, here is how I merged them and returned the cited screenshot alongside the answer.
Controlling Image Tokens with the Gemini API media_resolution Setting — Tuning Batch Image Classification by Measurement
media_resolution, introduced in the Gemini 3 line, switches how many tokens an image input consumes across three levels. Through real batch-classification measurements, this guide shows how to balance cost and accuracy by assigning the right tier per task.
Letting File Search's Multimodal Mode Find Wallpapers I Couldn't: A Field Report
I tested whether File Search's new multimodal retrieval (gemini-embedding-2) could replace category tags for finding one wallpaper among thousands. A 300-image trial, the walls I hit, and where semantic search actually fits — with working code.
Pre-Screening Wallpaper App Submissions with Gemini Vision: A Two-Week Field Memo
Before submitting a new batch of wallpapers, I spent two weeks running Gemini's image understanding as a first-pass filter for store review risk. What it caught, what it missed, and where a human still has to decide.
Why Gemini API Throws 'Unsupported MIME type' and How to Fix It
The 'Unsupported MIME type' error from the Gemini API has three distinct causes: a misspelled MIME string, an octet-stream upload, and a genuinely unsupported format. Here is how to tell them apart with code that actually works.
What Happens When You Show Your Own Artwork to Gemini Vision — An Honest Review from a Maker and a Developer
I fed my own art images into Gemini Vision to test what it reads and what it misses. An honest, indie-developer look at where it's genuinely useful for running a wallpaper app, and where it still falls short.
Automating Pre-Release UI Checks with Gemini 3.2 Flash Vision — A Personal Dev Story
How I used Gemini 3.2 Flash's multimodal input to automatically QA iOS/Android app screenshots before each release. Detect text overflow, dark mode contrast issues, and layout breaks with a 30-line Python script — and why this works for indie developers without a QA team.