◉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, 6 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, 6 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/API / SDK
◈ API / SDK/2026-05-04Advanced

Judging Gemma 4 and Nemotron 3 Nano Omni on 100 of My Own Images, Not a Benchmark Score

Heron-Bench and JMMMU headline scores are the wrong input for an adoption decision on local Japanese multimodal models. Using a wallpaper classifier as the case, here is how to build a 100-image eval set, weight errors by what they actually cost, and catch regressions when you re-quantize.

Gemma 412Nemotron 3 Nano OmniMultimodal AIGemini API249Evaluation3Production33Japanese LLM

✦ Premium Article

The wallpaper app I run sorts incoming images into about 30 categories, and the Gemini API does that sorting. Day to day the volume is trivial. The bill arrives when I revise the category definitions, because that means re-running all ~38,000 images: roughly ¥3,400 and about five hours, three or four times a year.

Could that full re-classification run locally? That was the question.

The case looked good on paper. Gemma 4's multimodal variants ship under Apache 2.0 with no commercial restrictions, and NVIDIA's Nemotron 3 Nano Omni unifies vision, audio, and language in one 30B-parameter architecture with just 3B active. Read the published benchmark tables long enough and you start thinking this is clearly good enough now. I thought exactly that.

Then I measured it on 100 of my own images, and the conclusion flipped.

It flipped not because accuracy was low. Accuracy was fine. The way it was wrong was not. Here is where that gap comes from, and how to see it before you commit — with the code I actually used.

Getting the three models straight first

Compare these without pinning down their roles and none of the later numbers will read correctly.

Gemini API (Gemini 3.x family): the frontier cloud option. Everything I measured here was pinned to gemini-3.5-flash. The lineup has moved on since — gemini-3.8-flash is now generally available — and for stable Japanese multimodal understanding the cloud side stays clearly ahead across those generations. Usage-based pricing, and image-bearing calls cost noticeably more than text-only ones. One caveat worth flagging early: what gemini-flash-latest resolves to changes with every generation, which makes it an awkward thing to anchor a baseline on. There's a section on that later.

Gemma 4 (26B A4B, 31B Dense, and friends): mid-sized open models for local and on-prem use, Apache 2.0, commercially free. The multimodal variants handle image and audio understanding and fit on a workstation you can actually own.

Nemotron 3 Nano Omni: NVIDIA's omni-modal model, built around a single architecture spanning vision, audio, and language, and tuned for edge AI agents. With only 3B active parameters it runs on DGX Spark–class hardware.

One thing worth flagging early: the "omni" in Nemotron is a bet on work that crosses modalities. Pulling a single label out of a single still image — my entire use case — gives that design nothing to work with. The numbers later show this plainly.

Why a headline score doesn't represent your workload

Japanese multimodal evaluation usually points at Heron-Bench and JMMMU. Both are good benchmarks. Neither headline score belongs in an adoption decision.

Heron-Bench is a collection of subtasks — captioning, OCR, chart and diagram understanding — and what gets published is their weighted average. JMMMU is the Japanese counterpart to MMMU, solving university-entrance-level problems across disciplines from images and text. It measures academic comprehension well.

Now line that up against my workload: one image in, one of 30 categories out. No OCR. No chart reading. No multi-step reasoning. No vertical text.

Most of what constitutes the headline score has nothing to do with me. A two-point gap tells me nothing if that gap was earned entirely outside the subtasks I use.

The reverse happens just as often — a model that loses on the aggregate wins on the one subtask you care about.

Benchmarks answer "which model is broadly capable." They do not answer "should this model go into my production." Only your own data answers the second question.

✦

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
✦A stratified 100-image eval set across 30 categories, with the Python that builds it (sampling, accuracy, confusion matrix)
✦Why 82% accuracy still failed the adoption bar — building a cost matrix and a cost-weighted error rate
✦Going from Q4 to Q5 raised accuracy but made cost-weighted error worse: the measurement, and the regression job that catches it
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

◈ API / SDK2026-05-21
Designing Event-Driven AI Workflows with Gemini API and Cloud Pub/Sub — Notes from an Indie Developer
An implementation memo on wiring Gemini API into Cloud Pub/Sub event-driven workflows. Using an app-review analysis pipeline as the running example, the article covers retry policy, dead-lettering, idempotency, and cost guardrails — from the perspective of someone running it solo.
◈ API / SDK2026-04-26
Gemini API × Stripe — Production Usage-Based Billing for Indie AI SaaS
A complete guide to building a usage-based billing system for your Gemini API SaaS using Stripe Metered Billing and webhooks — production patterns included.
◈ API / SDK2026-04-26
Architecting a Multi-Tenant SaaS on Gemini API — Tenant Isolation, Usage Metering, and Runaway Cost Defense in Production
A field-tested blueprint for serving Gemini API to multiple tenants on a single backend — covering tenant isolation choices, per-tenant rate limiting in Redis, request-level usage metering for billing, and runaway-cost defenses.