# The Gemini model family: pro, flash, and when to use each
Google ships Gemini Pro for the hardest, slowest, most-reasoning-heavy work, and Gemini Flash for everything that needs to be fast and cheap, and both are natively multimodal from the ground up. The skill that separates a hobbyist from someone who ships reliable AI features is knowing which one to call, when, and why. That choice is called *model routing*, and it is the single biggest lever you have over the cost, latency, and quality of anything you build on Gemini.
Gemini is a family, not one model. The two tiers you will reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.View full definition → for constantly:
"Natively multimodal" is the part people underuse. Both tiers accept text, images, audio, PDFs, and video *in the same request*, not through a bolt-on vision module. You can hand Flash a screenshot and a question and it reads both as one input. You will use this constantly.
Both tiers also share Gemini's defining trait: a very large context windowcontext windowThe context window is the maximum amount of text (measured in tokens) a language model can process at once, including both the input prompt and the generated output.View full definition →. We are talking hundreds of thousands to over a million tokenstokensA token is the basic unit of text that language models process, often a word fragment, whole word, or punctuation mark rather than a single character.View full definition → depending on the model version. That is enough to drop an entire codebase, a long contract, or hours of transcript into a single prompt. Long context changes how you architect: sometimes "just put the whole document in the prompt" beats a complicated retrieval pipelinepipelineAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing.View full definition →. (More on that tradeoff below.)
Always check current model IDs, context limits, and pricing in the Gemini models documentation, because version names and limits move fast.
Here is the mental model. Ask: does this task need reasoning, or just processing?
Consider two jobs on the same support ticket.
Job A: "Summarize this ticket in two sentences for the queue."
High volume, low stakes, no chain of reasoning. This is Flash. It runs thousands of times a day and nobody re-reads the output.
Job B: "Read this ticket, the customer's three prior tickets, our refund policy PDF, and the order history, then decide whether the customer qualifies for a refund, cite the exact policy clause, and draft the response."
Multiple sources, a policy to apply correctly, a decision with money attached, and a citation that must be right. This is Pro.
The trap is using one model for both. Sending Job A to Pro burns money and adds latency for no quality gain. Sending Job B to Flash risks a confidently wrong refund decision. Route per task, not per app.
A common production pattern is a Flash-first cascade: Flash attempts the task, and you escalate to Pro only when a cheap confidence check fails or the task is flagged as high-stakes.
from google import genai
client = genai.Client() # reads GEMINI_API_KEY from env
def answer(question: str, complex_task: bool = False) -> str:
model = "gemini-2.5-pro" if complex_task else "gemini-2.5-flash"
resp = client.models.generate_content(
model=model,
contents=question,
)
return resp.text
print(answer("Summarize this ticket in two sentences: ..."))
print(answer("Decide refund eligibility and cite the policy clause: ...", complex_task=True))That complex_task flag is where real systems get interesting. You can set it from a fast Flash classifier, from metadata (ticket value, customer tier), or from a regex on keywords like "refund" or "legal." The routing logic is your product, not an afterthought.
You already know RAG as a concept. Gemini's long context forces a real architectural decision you did not have with smaller models.
If your knowledge fits comfortably in the window and rarely changes, stuffing the whole thing into the prompt is often simpler and more accurate than building a retrieval pipeline. No chunking, no embeddingembeddingAn embedding is a numerical vector that represents data (text, images, or items) in a way that captures meaning, so similar items sit close together in space.View full definition → store, no relevance tuning. You hand Pro the full 80-page contract and ask your question against all of it at once.
But long context is not free. Cost scales with input tokenstokensA token is the basic unit of text that language models process, often a word fragment, whole word, or punctuation mark rather than a single character.View full definition →, and very long prompts add latency. So the rule of thumb:
The honest answer for many production systems is both: RAG narrows millions of documents down to the ten most relevant, then you pass those ten in full into the long context windowcontext windowThe context window is the maximum amount of text (measured in tokens) a language model can process at once, including both the input prompt and the generated output.View full definition → rather than aggressive chunking. Long context makes your retrieval step less fragile.
The same models show up across Google's surfaces. Pick the surface to match how serious the work is.
Google AI Studio is where you start. Free-tier web UI for testing prompts, comparing Flash vs Pro side by side, tuning temperature and system instructions, and grabbing the exact APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.View full definition → code for what you built. When a prompt works in AI Studio, you click to export it.
The Gemini app is the consumer and Workspace assistant. Inside it you can build Gems: saved, reusable assistants with their own instructions and (on supported plans) their own reference files. Think of a Gem as a packaged system prompt plus context that a non-engineer can create and share. A "Brand Voice Editor" Gem or a "Quarterly Report Analyst" Gem means your team stops re-pasting the same instructions.
Gemini in Google Workspace puts the models directly into Docs, Gmail, Sheets, Slides, Meet, and Drive. Draft in Gmail, summarize a Doc, generate a table in Sheets, get meeting notes in Meet. For automation beyond the UI, Apps Script lets you call Gemini from inside a spreadsheet or a Workspace workflow with a few lines of script.
Knowledge check
1. According to the lesson, what is the term for the practice of deciding which Gemini model to call, when, and why?
2. Which Gemini tier does the lesson describe as the 'workhorse' best suited for classification, extraction, summarization, and chat?
3. In Google's broader Gemini lineup, which model variant is designed to run efficiently on-device (such as on mobile phones) rather than in the cloud?
4. Select ALL correct answers about what 'natively multimodal' means for Gemini according to the lesson.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers about Gemini's large context window as described in the lesson.
Sélectionnez toutes les réponses correctes.
A raw model answers from training data, which goes stale and invents facts. Grounding with Google Search connects a Gemini APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.View full definition → call to live Search results, and the response comes back with supporting links you can show users. Turn it on per request when freshness or verifiability matters (current events, prices, recent docs). Leave it off for closed tasks like "rewrite this paragraph."
from google import genai
from google.genai import types
client = genai.Client()
resp = client.models.generate_content(
model="gemini-2.5-flash",
contents="What were the headline announcements at the most recent Google I/O?",
config=types.GenerateContentConfig(
tools=[types.Tool(google_search=types.GoogleSearch())]
),
)
print(resp.text)Vertex AI is the enterprise path on Google Cloud: the same Gemini models with IAM, data residency controls, higher quotas, monitoring, tuning, and a path that satisfies procurement. The rule of thumb: prototype on the Gemini APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.View full definition → with an AI Studio key, then graduate to Vertex AI when you need governance and scale.
Tie it together. Imagine an internal "deal desk" assistant that reviews sales contracts.
1. Intake (Flash). A user uploads a PDF. Flash classifies it: contract, NDA, or junk. Cheap, instant, runs on everything.
2. Extraction (Flash, multimodal). For contracts, Flash reads the PDF directly (no separate OCR step) and pulls structured fields: parties, value, term, governing law.
3. Risk review (Pro, long context). The full contract text plus your playbook PDF go into Pro, which flags non-standard clauses and explains each one, grounded in your playbook. This is the reasoning step, so it earns the Pro price.
4. Drafting (Flash). Flash drafts the redline email back to the rep using Pro's findings.
5. Live questions (Flash + grounding). The rep asks "is this counterparty in the news?" and a grounded Flash call answers with Search-backed links.
One workflow, four model calls, and only one of them is Pro. That is what good routing looks like: spend the expensive reasoning capacity exactly where the decision matters, and let Flash carry the volume.