◉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 shut down on 10/23. 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 shut down on 10/23. 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/Gemini Basics
◉ Gemini Basics/2026-10-24Beginner

When Model Names Stop Making Sense: Reading Them in Four Parts

How to read a long Gemini model name like gemini-3.8-flash-lite-tts as generation, line, variant and release stage, plus a short script and where to check words you can't read.

Gemini94model namesGemini API251preview3beginner16

You paste a model name from an older tutorial and the call fails. You open the official list and find twenty-odd similar names side by side, with no clear sense of which one to switch to. I expect this to happen to all of us a few more times.

What I'd like to pass on is that a model name isn't something to memorize; it's something to split into four parts. Here is the reading order, and where to check when a word doesn't make sense.

A name is generation, line, variant and release stage

The official models page (which I checked on October 24, 2026) has a naming and versioning section before the list. It describes four version types.

TypeWhat the docs say (in short)How it looks
StablePoints to a specific stable model that usually doesn't change; recommended for productiongemini-3.6-flash
PreviewMay be used in production, may have tighter limits, and is deprecated with at least two weeks' noticegemini-3.1-pro-preview
LatestAn alias that is hot-swapped with each new release; breaking changes get two weeks' notice by emailgemini-flash-latest
ExperimentalTypically not for production, stricter limits, availability may changelyria-realtime-exp

With that table in mind, split a name from left to right.

  1. Generation: numbers such as 3.8, 3.6 or 4. A bigger number is a newer generation, and that reading rarely misleads.
  2. Line: flash or pro. Within one generation, they play different roles.
  3. Variant: lite, tts, live, image and so on, meaning a smaller version, speech synthesis, real-time conversation, or images.
  4. Release stage: a trailing preview, sometimes followed by a month and year such as 04-2026.

The docs don't formally define suffixes like lite or tts. The meanings above are my reading of each model's description, so I try not to overstate them.

Splitting real names

Here are names from the list, fitted to the four parts.

Model nameGenerationLineVariantStage
gemini-3.8-flash-lite-tts3.8flashlite, ttsStable
gemini-3.1-pro-preview3.1prononePreview
gemini-2.5-flash-native-audio-preview-12-20252.5flashnative-audioPreview (Dec 2025)
deep-research-preview-04-2026nonenonedeep-researchPreview (Apr 2026)
gemini-4-argon4argonnoneStable

The last two rows don't fit cleanly. Deep Research is a separate product without a generation and line, and argon doesn't look like a line word such as flash or pro. The page doesn't explain what argon means, so I treat it as a provisional "new line name" and don't claim more.

A script that flags the words you can't read

Splitting by hand makes it easy to skip a word you don't know. So I wrote a short script that splits a name and honestly reports unknown words as unregistered. It uses no external libraries, only Python.

import re
import sys
 
STAGE = {
    "preview": "プレビュー版(仕様や提供が変わりやすい)",
    "exp": "実験版(本番利用は想定されていない)",
    "latest": "最新版を指す別名(中身が入れ替わる)",
}
ROLE = {
    "lite": "小型・低コスト寄りの派生",
    "tts": "文章を音声にするモデル",
    "live": "リアルタイムの音声・映像のやりとり向け",
    "image": "画像を扱うモデル",
    "pro": "上位(高性能)の系統",
    "flash": "高速・軽量の系統",
}
VERSION = re.compile(r"^\d+(\.\d+)*$")
MONTH_YEAR = re.compile(r"^(0[1-9]|1[0-2])$")
 
 
def decode(name):
    parts = name.split("-")
    out = []
    for i, p in enumerate(parts):
        nxt = parts[i + 1] if i + 1 < len(parts) else ""
        if i == 0:
            out.append((p, "ブランドまたは製品名"))
        elif VERSION.match(p) and len(p) == 4 and p.isdigit() and MONTH_YEAR.match(parts[i - 1]):
            out.append((p, "年(直前の月と対で日付になる)"))
        elif MONTH_YEAR.match(p) and len(nxt) == 4 and nxt.isdigit():
            out.append((p, "月(このあと年が続く)"))
        elif VERSION.match(p):
            out.append((p, "世代・バージョン"))
        elif p in STAGE:
            out.append((p, "公開段階: " + STAGE[p]))
        elif p in ROLE:
            out.append((p, "役割・系統: " + ROLE[p]))
        else:
            out.append((p, "未登録の語(公式のモデル一覧で確認する)"))
    return out
 
 
if __name__ == "__main__":
    for name in sys.argv[1:]:
        print(name)
        for token, meaning in decode(name):
            print(f"  {token:<10} {meaning}")

Run it by listing the names you want to check.

python3 decode_model_name.py gemini-3.8-flash-lite-tts deep-research-preview-04-2026 gemini-4-argon

Part of what it printed on my machine (the labels are in Japanese because I wrote the script for my own use; swap the strings if you prefer English):

gemini-3.8-flash-lite-tts
  gemini     brand or product name
  3.8        generation / version
  flash      line: fast, lightweight
  lite       variant: smaller, lower cost
  tts        variant: text to speech
deep-research-preview-04-2026
  deep       brand or product name
  research   unregistered word (check the official model list)
  preview    stage: preview
  04         month (a year follows)
  2026       year
gemini-4-argon
  gemini     brand or product name
  4          generation / version
  argon      unregistered word (check the official model list)

The Deep Research output is wrong: the script took deep as the brand and research as an unknown word. The first hyphen-separated word isn't always a brand, and sometimes several words form one name.

I've left that mistake in on purpose. A rule that quietly misreads a name it doesn't fit shows exactly where this method stops. When a word comes back as unregistered, such as argon or research, go back to the places below.

Where to check a word you can't read

Please don't guess at meanings. This order has kept me from getting lost.

  1. The official models page: it lists current models with names and descriptions. First, look for the name there.
  2. The official deprecations page: if it isn't on the list, check whether it moved there as deprecated or shut down. The shutdown date can read "no shutdown date announced."
  3. The model description: what a name can't tell you is usually written in the description on the list.

If the name is listed but only your environment can't use it, the cause may be restricted availability rather than the name. I covered that distinction in these posts.

What I do before switching a name

Once names become readable, it is tempting to rush to the newest generation. But a higher generation with a different line or variant won't behave as you expect. A tts model can't be called to write text.

So before switching, I write down three things.

  • The generation, line, variant and stage of the current name
  • The same four items for the replacement
  • Which of the four differ

If only the generation differs, a straight swap often works. If the line or variant differs, I'm switching to a model for a different job, so I stop and reread the official description.

A name is a clue for where to go and check, not something to read by force.

One thing you can do today: pick one model name you use and split it into the four parts. The word you couldn't place is the one to check on the official page next.

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 →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

◉ Gemini Basics2026-10-08
Free Tier Shows Up, but You Get a 429 With `limit: 0` — What to Check in the First Hour of a New Gemini API Project
A new Gemini API project says Free tier, yet the very first call returns 429 with limit: 0. Here is the order I check things in, how to read the error body, and a 40-line script that tests models one by one.
◉ Gemini Basics2026-08-16
The Strongest Gemini Is in Preview and the Cheap One Is GA. That Ordering Should Drive Your Model Choice
Sort the Gemini lineup by release stage instead of capability and the order inverts: the strongest reasoning model sits in preview while the fast, inexpensive Flash models are GA. Here is how a solo developer handles that, plus a 30-line script that counts how many preview models your code already depends on.
◉ Gemini Basics2026-10-18
Bought Credits but the Balance Still Says 0 — Which Page to Check First for the Gemini API
You bought Gemini API prepaid credits, yet the balance shows 0 and requests still fail with 402. Here is the order I use to tell a short delay from a real billing problem.