◉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, 5 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, 5 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…
◈ API / SDK

API / SDK

Practical guides to the Gemini API and SDKs — quickstarts, Function Calling, structured output, streaming, cost optimization, and troubleshooting.

2026-06-12Intermediate

Designing a Nightly Batch That Survives a Gemini API Outage — Three Layers of Defense

This week's widespread Gemini outage cost my nightly batch three hours of work. Here is how I rebuilt it with three layers of defense: classified retries, a model fallback chain, graceful degradation, plus idempotency keys and a catch-up queue.

2026-06-11Intermediate

Gemini 3.2 API Developer Guide — Correct Model IDs, Migration from 3.1, and Production Checklist

A practical guide to calling Gemini 3.2 via the API: correct model IDs, what changed from Gemini 3.1, Python and TypeScript code examples, and a production migration checklist.

2026-06-04Advanced

Don't make Gemini judge your AdMob report — confine structured output to extraction

When deciding AdMob floors (eCPM thresholds), letting Gemini make the decision itself is dangerous. Confine structured output to 'extracting a messy report into typed data,' and keep the threshold judgment in deterministic code — here is the reasoning and implementation, with the actual decision rules from running 42 groups.

2026-06-03Beginner

Gemini Live API Audio Sounds Sped Up — Fixing the Sample Rate Mismatch

When Gemini Live API responses sound high-pitched and sped up, or come back full of noise, the cause is almost always that the 24kHz output is being played at a different sample rate. Here are the concrete fixes for both the browser and iOS.

2026-06-03Advanced

Reconciling Orphaned Gemini Files API Uploads Across a Fleet of Apps

Files API uploads quietly expire after 48 hours. Here's how I keep orphaned files and quota under control across six apps, using reconciliation against my own database and a scheduled cleanup job — written up as production notes from running wallpaper apps.

2026-06-03Advanced

Recording Provenance for Gemini Output — Designing for Reproducibility and Audit

Before you lose track of which model and prompt produced an output months later: how to stamp provenance metadata onto Gemini generations so quality investigations and model migrations stay reproducible.

2026-06-02Intermediate

Why Firebase AI Logic Returns 403 When Calling Gemini from iOS — And How to Fix It

Firebase AI Logic (formerly Vertex AI in Firebase) often returns 403 PERMISSION_DENIED when calling Gemini from an iOS app. Here is how to isolate the three real causes — App Check enforcement, disabled APIs, and missing Blaze billing — based on hands-on device testing.

2026-06-02Intermediate

A Month of Refreshing App Store Promotional Text Weekly with Gemini

Notes from one month of rewriting App Store promotional text (the 170-character line above the description) weekly with the Gemini API. How I reused a slot that ships without review, what I handed to AI, what I always touched by hand, and whether it moved anything.

2026-06-02Advanced

Stopping Gemini API Config Drift — Codifying Model IDs and Safety Settings to Catch Cross-Environment Gaps

Most of those puzzling per-app bugs come from drift in model IDs and safety settings between environments. This guide shows how to codify your Gemini config and snapshot the effective settings to detect cross-environment gaps.

2026-06-01Intermediate

Empty Output but finish_reason Is MAX_TOKENS on Gemini 2.5/3: Cause and Fix

Your prompt is just a few lines, yet a low maxOutputTokens on gemini-2.5-flash returns empty text with finish_reason MAX_TOKENS. The culprit is thinking tokens. Here are three fixes with working code.

2026-06-01Intermediate

Mixing Gemini 2.5 Flash and Flash-Lite for App Store Localization

An operations log from running the same wallpaper-app store copy through both Gemini 2.5 Flash and Flash-Lite. Real cost gaps, where the lighter model breaks down, and how I now route by text type and locale.

2026-06-01Advanced

Measuring the Economics of Each Gemini-Powered Feature — So You Can Keep It, Fix It, or Retire It

Gemini API costs are visible at the account level, but the profitability of an individual feature never shows up on its own. This guide shows how to tag every request, build a per-feature cost ledger, join it with revenue signals from AdMob and in-app purchases to compute contribution margin, and decide whether to keep, fix, or retire each feature — with the code I actually run.

2026-05-31Beginner

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.

2026-05-31Advanced

Bulk Processing Without the 429s: Adaptive Concurrency for the Gemini API

Pushing tens of thousands of requests through the Gemini API with a fixed concurrency almost always produces 429s and dropped items. Here is an AIMD design that auto-tunes concurrency from the 429 feedback, with a bounded worker pool, a dead-letter queue, and resumable checkpoints.

2026-05-31Intermediate

Localizing App Store Keyword Fields with Gemini 2.5 Flash — A Month of Notes Across 40 Apps

Operational notes from a month of using Gemini 2.5 Flash to draft the 100-character App Store keyword field across 40 wallpaper apps and several locales — CJK character counting, deduping against the title, prohibited terms, per-locale quirks, and what actually moved the needle.

2026-05-30Advanced

Preserving Gemini 3 Thought Signatures So Multi-Turn Function Calling Doesn't Degrade

When you build function calling on Gemini 3 thinking models, reasoning quality often drops from the second turn onward. The cause is usually a dropped thought signature. Here is how to keep it and verify the effect.

2026-05-30Intermediate

Why Gemini 2.5 Pro Rejects thinkingBudget: 0 (and How to Fix It)

Setting thinkingBudget to 0 on Gemini 2.5 Pro returns a 400 INVALID_ARGUMENT error. Here is why the per-model thinking budget ranges differ, how to minimize thinking on Pro the right way, and when to switch to Flash, with Python and JavaScript examples.

2026-05-30Intermediate

Two Months of Turning App Store Connect Daily Sales into a Slack Digest with Gemini 2.5 Flash

Notes from two months of running App Store Connect Sales/Trends data through Gemini 2.5 Flash and posting a short morning digest to Slack. Why Flash beat Pro for this job, how AdMob and store revenue stopped colliding, and what a single 'normal/check' label changed.

2026-05-30Advanced

Propagating a Time Budget Through a Multi-Stage Gemini Pipeline

A field memo on killing DEADLINE_EXCEEDED errors in an in-app help search by carrying a single request-wide deadline through the embed, search, and generate stages — sizing maxOutputTokens from the remaining budget and reserving a fallback budget so a breach returns a partial answer instead of an error.

2026-05-29Advanced

Designing a Semantic Clustering Pipeline for App Reviews with Gemini Embeddings

How I cluster 10,000+ app reviews from my indie apps using Gemini Embeddings to compute improvement priorities. The three-layer pipeline and cost design that emerged from a year of running it.

2026-05-29Intermediate

Why HTTP Referrer Restrictions on Your Gemini API Key Cause 403 Errors in Production

Walks through why a Gemini API key with HTTP referrer restrictions can suddenly return 403 PERMISSION_DENIED in production. Covers the exact referrer string format, SDK behavior differences, how to safely route around the limitation with a tiny edge proxy, and how it differs from the CORS error you hit when calling straight from the browser.

2026-05-29Advanced

Layering Gemini API Response Caches in Three Tiers — How I Split Memory, Redis, and Context Cache

Notes from running a three-tier cache (in-memory, Redis, Gemini Context Cache) in front of the Gemini API for six weeks across a wallpaper app — actual hit rates, billing impact, and the invalidation traps that ate me alive.

2026-05-28Intermediate

Why per-turn generationConfig is ignored in Gemini API chat sessions

If you pass a different generationConfig (temperature, max_output_tokens, response_schema) to each send_message in a google-genai chat session and the behavior never changes, this walkthrough shows what is actually happening, why the SDK is designed that way, and three workarounds we use in production for review-summary and reply-draft pipelines.

2026-05-28Advanced

Running an SLO and Error Budget for the Gemini API as an Indie Developer — Guarding Four Sites with Burn-Rate Monitoring

Notes from running the Gemini API inside four production sites as an indie developer. A practical SLO and Error Budget design that fits a single-person operation: Cloudflare Workers and KV for burn-rate calculation, simplified multi-window alerts, and decision rules for what to freeze when the budget runs out.

2026-05-27Intermediate

A Daily Slack Digest of Six Apps' Store Reviews, Built with Gemini Flash

How I built a Cloud Run + Gemini Flash ETL that translates, classifies, and prioritizes 30–80 daily store reviews across six apps and posts them to Slack — cutting my review triage from 60 minutes to 12, for about $4 a month.

2026-05-27Advanced

Letting Gemini Flash Decide continue / pause / rollback for Staged Rollouts: An Indie Developer's Three-Signal Engine

How I built a Gemini Flash decision engine that reads Firebase Crashlytics, App Store / Google Play reviews, and AdMob revenue together, and outputs continue / pause / rollback for each staged rollout across six indie apps. Numbers from two months of production use included.

2026-05-27Intermediate

Two Months of Letting Gemini Audit My Internal Links

An implementation note from running internal link integrity checks on my four Lab sites with Gemini 2.5 Flash for two months. What grep missed, how Flash compared to Pro on this task, and the surprises along the way.

2026-05-26Intermediate

Why Gemini API Streaming Drops on iOS After Backgrounding — and How to Fix It

When your iOS app receives a streaming response from Gemini API and the user briefly switches to another app, the stream often goes silent forever. Here's how URLSession actually treats long-lived HTTP, and the smallest change that brings reliability back.

2026-05-26Intermediate

Running Gemini 3 Pro and Flash in Parallel on AdMob Monthly Reports — Notes from Ten Mornings

Implementation notes from sending the same AdMob monthly report to Gemini 3 Pro and Gemini 3 Flash in parallel for ten days. Cost, latency, and summary quality compared from an indie developer's perspective.

2026-05-26Advanced

Coalescing Gemini API Requests with SSE Fan-out: Collapsing 100 Simultaneous Hits into a Single Call

How I rebuilt the post-push-notification thundering herd on a 50M-download wallpaper app into a Cloudflare Durable Objects coalescer with SSE fan-out, cutting Gemini API costs by 92% with 14 days of production telemetry.

2026-05-26Advanced

Pairing Gemini API with Apple FoundationModels (iOS 26): An On-Device-First Hybrid Routing Notebook

Running iOS 26 FoundationModels alongside Gemini API as a hybrid stack for a wallpaper app's poem-from-image feature: routing decisions, full Swift code, and one week of latency and cost numbers.

2026-05-25Advanced

Designing a Semantic Cache for the Gemini API — Embedding-based Answer Caching That Actually Pays for Itself

A practical design for a semantic cache that sits in front of the Gemini API. Combines text-embedding-004, cosine similarity thresholds, versioned cache keys, and TTL design to balance hit rate and answer quality, with Python and Cloudflare Vectorize code that runs in production.

2026-05-25Intermediate

When gemini-2.5-flash-image Ignores Your Reference Image — Diagnosing Why Nano Banana Returns a Totally Different Picture

A field-tested triage order for the situations where gemini-2.5-flash-image (Nano Banana) silently ignores your reference image, swaps the subject, or refuses to honor your edit instructions. Covers parts ordering, response_modalities, image size, and chat-session pitfalls with runnable code.

2026-05-25Intermediate

Implementation Notes: Building a Personal Blog Operations Dashboard with Streamlit and the Gemini API

Notes from building a single-pane operations dashboard that unifies Google Search Console and GA4 data with Gemini 2.5 Flash-powered quality scoring, after burning out on switching between 12 browser tabs across six sites every morning. Includes the full Streamlit implementation and weekly low-quality detection job.

2026-05-25Intermediate

Running In-App Help Translation on Gemini 2.5 Flash for Three Months — An Indie Developer's Notes

After three months running my iOS and Android in-app help through a Gemini 2.5 Flash translation pipeline, here are the operational notes — when to fall back to Pro, how glossaries help, and the small lift it added to AdMob revenue.

2026-05-25Advanced

Automating App Localization QA with the Gemini API: A Structured-Output Pipeline That Catches Translation Drift Early

Lessons from running 14-language localization across a 50M-download personal app portfolio, distilled into a production-ready Gemini 2.5 Pro structured-output evaluation pipeline that catches translation drift before users do.

2026-05-24Advanced

Apple Vision Framework × Gemini API: Hybrid Image Recognition — Cutting Wallpaper App Cloud Inference Costs by 70%

How I built an on-device prefilter with Apple Vision Framework to cut Gemini Vision API calls by more than half in my iOS wallpaper app. Real cost, accuracy, and latency numbers, with the gotchas an indie developer hits along the way.

2026-05-24Intermediate

Two Weeks of Classifying Half a Year of App Store Reviews with Gemini File API

I ran half a year of App Store Connect reviews through the Gemini File API for two weeks straight, asking it to classify and summarize them. Here is what worked, where Batch Mode fit better, and which sharp edges took me a few days to round off.

2026-05-24Advanced

Taming Gemini API Tail Latency with Request Hedging: A p99 Design Notebook

A four-month operational journal of taming Gemini API tail latency with hedged requests across a production indie app portfolio. Includes measured p50/p95/p99 numbers, a working Swift and TypeScript implementation, and the cost-control parameters that kept monthly billing growth under 18%.

2026-05-24Intermediate

Why Your Gemini File API Uploads Vanish After 48 Hours — and How to Code Around It

Gemini File API resources are auto-deleted 48 hours after upload. Here is how to recognize the failure, why it happens, and concrete patterns for re-uploading, falling back to inline data, and managing expiration safely.

← All Articles