GEMINI LABJP
SUNSET — Three days until the image models shut down: Imagen 4 and the Gemini 3 Image family stop on August 17MIGRATE — gemini-3.1-flash-image is the recommended target; calls to generate_images() fail hard after the cutoff, so there is no grace periodFLASH — Gemini 3.6 Flash is generally available, with better token efficiency and stronger code and agentic planning at a lower price than 3.5 FlashLITE — Gemini 3.5 Flash-Lite also reached GA as a low-latency, cost-conscious subagent option aimed at high-volume automationPARAMS — The sampling parameters temperature, top_p, and top_k are now deprecated, so existing calls are worth revisitingROBOTICS — gemini-robotics-er-1.6-preview shuts down on August 31, so this is the window to plan the migrationSUNSET — Three days until the image models shut down: Imagen 4 and the Gemini 3 Image family stop on August 17MIGRATE — gemini-3.1-flash-image is the recommended target; calls to generate_images() fail hard after the cutoff, so there is no grace periodFLASH — Gemini 3.6 Flash is generally available, with better token efficiency and stronger code and agentic planning at a lower price than 3.5 FlashLITE — Gemini 3.5 Flash-Lite also reached GA as a low-latency, cost-conscious subagent option aimed at high-volume automationPARAMS — The sampling parameters temperature, top_p, and top_k are now deprecated, so existing calls are worth revisitingROBOTICS — gemini-robotics-er-1.6-preview shuts down on August 31, so this is the window to plan the migration
TAG

Gemini API

209 articles
Back to all tags
Related:
Production30Python29troubleshooting14production12RAG11Automation11Architecture10multimodal10Function Calling9indie development9Structured Output9Cost Optimization9
Gemini API/2026-08-14Intermediate

Rewriting generate_images as generate_content, where the arguments actually go

Ahead of the August 17 Imagen shutdown, I checked the SDK directly: of the 17 arguments in GenerateImagesConfig, only 5 move across unchanged. Here is the mapping, a compatibility layer that keeps callers working, and a way to verify the request shape without an API key.

Gemini Advanced/2026-08-09Advanced

The Memory Wasn't Lost — It Was Written to a Different Profile

A Memory Bank profile is identified by the pair of schema and scope. When call sites build that scope slightly differently, extra profiles appear with no error at all. Here are the measured numbers for how badly it fragments, and how three candidate fixes actually performed.

Gemini API/2026-08-08Advanced

A Timeout Was Never Evidence of Failure — Designing Around Blocking Function Calls

When a tool call cannot return until the real-world effect finishes, two habits reverse on you: parallel dispatch and generous timeouts. Measured numbers from a sandbox harness, plus the design that replaces retries with observation.

Gemini API/2026-08-07Advanced

When Streaming Responses Quietly Lose Non-ASCII Text: Measuring the Byte Boundary and the Event Boundary Separately

I measured why Japanese text disappears from streaming Gemini responses using a local mock SSE server. Two separate layers were broken, one of them silently, and an English-only test suite caught neither.

Gemini Advanced/2026-08-06Advanced

The Day the Knowledge Cutoff Moved Forward, the Stale Part Was My System Instruction

When a model's knowledge cutoff advances, the thing that goes stale is not the model — it is the dated assertions in your system instruction. Here is why only the lines written between the two cutoffs flip from helpful to contradictory, plus a working audit script and its measured results.

Gemini Dev/2026-08-05Intermediate

Green Tests, Dead Production — How Recorded Fixtures Hide a Model Retirement, and a Freshness Gate to Catch It

A test suite that replays recorded API responses will sail straight past a model retirement. I reproduce the failure in a minimal setup and build a cassette freshness gate, with measured overhead.

Gemini API/2026-08-04Advanced

Retrying a Retired Model Never Showed Up in Success Latency

With the image generation models shutting down soon, I rebuilt a mock server to see what my retry layer actually does when it hits a retired model ID. The damage landed in wall time and queue wait, and never touched the metric I was watching.

Gemini API/2026-08-03Advanced

Measuring Update Policies for Memory Profiles: The Guard That Cost Me 16 Points of Accuracy

Memory profiles went GA in Memory Bank, making structured memory available to downstream code. I built three update policies and compared them under identical conditions. The one that looked obviously correct turned out to be the worst. Full harness code and the path to per-field TTLs.

Gemini API/2026-08-02Advanced

Measuring a Guard in environment hooks: 46 Microseconds to Decide, 23 Milliseconds to Start

A record of building a destructive-command guard for Managed Agents environment hooks. A regex denylist let 9 of 20 dangerous commands through; argv parsing reached 100 percent detection. The startup cost turned out to be 500 times the decision cost.

Gemini API/2026-08-01Advanced

When Sampling Parameters Were Deprecated, Diversity Broke Before Determinism Did

Deprecating temperature, top_p and top_k hurt the diversity-generating side of my pipeline, not the deterministic side. Counting real call sites, moving diversity to the input layer, and measuring effective diversity.

Gemini API/2026-07-30Advanced

What Decided Our Cascade's Economics Wasn't the Escalation Rate

Putting Flash-Lite in front of 3.6 Flash and escalating only the hard items looks like an easy win. Estimating it from the escalation rate alone will mislead you. Here is the break-even solved with the escalated subset's output length in the equation.

Gemini API/2026-07-29Advanced

A 17% Drop in Output Tokens Sounded Big. Then I Decomposed the Bill

Output pricing fell 16.67% and output tokens fell about 17%. Adding those numbers does not give you the savings. Here is an exact price/volume/cross-term decomposition, plus a loop measurement where the savings rate went down instead of up.