Gemini 3.7 Flash
Gemini 3.7 Flash is Google's workhorse model for coding and agents, with a 1M tokens context window, text, image, audio, and video input, and configurable thinking.
View API reference- Input and output price50% off
- Prices from: Input $0.75, Output $3.75, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'google/gemini-3.7-flash', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Gemini 3.7 Flash by Google. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Gemini 3.7 Flash
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call Gemini 3.7 Flash through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Gemini 3.7 Flash request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. google/gemini-3.7-flash. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Gemini 3.7 Flash supports up to 65,536 output tokens. Reasoning tokens count toward this limit. |
reasoning | 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | No | Provider-agnostic reasoning effort, available in AI SDK 7 or later. Maps to the provider’s native reasoning configuration; reasoning settings under providerOptions take precedence when both are set. See the Reasoning section below. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 1M-token context window |
| Image | — | URL, base64, Uint8Array | — | — | Sent as image parts in messages; counts as input tokens |
| — | URL, base64, Uint8Array | — | — | Sent as file parts in messages; counts as input tokens |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK google provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['google', 'vertex'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Reasoning
AI Gateway bridges reasoning across every API format. The AI SDK exposes a provider-agnostic top-level reasoning level (none, minimal, low, medium, high, or xhigh); the Chat Completions and Responses formats take the same effort under reasoning.effort; and the Anthropic Messages format uses a native thinking token budget. Whichever you send, the gateway maps it to the target model’s native configuration, converting between effort levels and token budgets as needed. Reasoning-related settings under providerOptions take full precedence over the top-level reasoning value and are never merged. Reasoning tokens typically count toward your output-token usage, though how they’re reported and billed varies by provider.
Learn more in the AI Gateway reasoning guide.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', prompt: 'Explain the Monty Hall problem step by step.', reasoning: 'high', });
console.log(result.text);}
main().catch(console.error);Image input
Send images alongside text as message parts. Images count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe this image.' }, { type: 'image', image: 'https://example.com/photo.jpg' }, ], }, ], });
console.log(result.text);}
main().catch(console.error);PDF input
Attach PDFs as file parts. Their contents count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document.' }, { type: 'file', mediaType: 'application/pdf', data: 'https://example.com/document.pdf', }, ], }, ], });
console.log(result.text);}
main().catch(console.error);Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'google/gemini-3.7-flash', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout Gemini 3.7 Flash
Gemini 3.7 Flash was released August 13, 2026 as Google's workhorse model for coding and agents, arriving three weeks after Gemini 3.6 Flash. It refines the reasoning foundation of 3.6 Flash rather than starting from a new pretraining run, and the improvements land mainly in coding and agentic execution.
Gemini 3.7 Flash accepts text, images, audio, and video, returns text, and works within a context window of 1M tokens with up to 65.5K tokens per response. Thinking is configurable per request, so you can spend more tokens on a hard problem and fewer on a routine one. The knowledge cutoff is March 2026.
Coding and agentic benchmarks moved the most between generations. Gemini 3.7 Flash scores 65.3% on DeepSWE v1.1, up from 49.0%, and 43.6% on FrontierCode 1.1 Main, up from 34.4%. Document comprehension on GDP.pdf reaches 34%, and long-context retrieval on GDM-MRCR v2 at 128k reaches 97.0%, which matters if you intend to actually fill the context window rather than just have it available.
Pricing is introductory and set to rise at the end of 2026. See the pricing panel on this page for current rates.
You can integrate Gemini 3.7 Flash through AI SDK, Chat Completions API, Responses API, Messages API, or other API formats, from TypeScript or Python. Routing rules move traffic from another Gemini model to Gemini 3.7 Flash without changing application code.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Current pricing is introductory and expires at the end of 2026, after which the rate roughly doubles. Anything you size on today's numbers should be re-checked against the pricing panel on this page before it becomes a long-term commitment.
- Configuration: Gemini 3.7 Flash is a refinement of Gemini 3.6 Flash rather than a new foundation, so the gains are concentrated in coding and agentic work. On workloads outside those areas the difference from 3.6 Flash may be small enough not to justify a migration.
- Configuration: The knowledge cutoff is March 2026, so pair Gemini 3.7 Flash with web search or retrieval for anything more recent. Thinking is configurable, which means an unconfigured request can spend more output tokens than you expect on a simple task.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Gemini 3.7 Flash
Best for
- High-Volume Coding: Workhorse pricing on software work that runs constantly
- Long-Context Retrieval: Accurate recall across a filled 1M tokens window
- Multimodal Input: Text, images, audio, and video in one request
- Configurable Thinking: Token spend tuned per request instead of a fixed budget
- Agentic Execution: The area that improved most over Gemini 3.6 Flash
Consider alternatives when
- Frontier Reasoning: A Pro-tier model handles the hardest problems
- Long-Term Price Stability: The introductory rate expires at the end of 2026
- Non-Coding Workloads: Gains over Gemini 3.6 Flash are smaller outside coding
- Post-Cutoff Facts: March 2026 knowledge needs web search or retrieval
Copy link to headingConclusion
Gemini 3.7 Flash is Google's workhorse for coding and agents, with a 1M tokens multimodal context window and thinking you configure per request. Point google/gemini-3.7-flash at AI Gateway to route requests behind one API key, and re-check the pricing panel before the introductory rate ends in December 2026.
Copy link to headingFrequently Asked Questions
What is Gemini 3.7 Flash built for?
Coding and agentic work at workhorse pricing. Google positions it as its most intelligent model in that tier rather than a frontier reasoning model.
How does Gemini 3.7 Flash differ from Gemini 3.6 Flash?
It refines the same reasoning foundation rather than starting from a new pretraining run. Coding and agentic benchmarks moved most: DeepSWE v1.1 from 49.0% to 65.3% and FrontierCode 1.1 Main from 34.4% to 43.6%.
What input types does Gemini 3.7 Flash accept?
Text, images, audio, and video. It returns text.
What is the context window for Gemini 3.7 Flash?
The context window is 1M tokens, with up to 65.5K tokens per response. Long-context retrieval on GDM-MRCR v2 at 128k reaches 97.0%.
Will the price of Gemini 3.7 Flash change?
Yes. Launch pricing is introductory and expires at the end of 2026, after which the rate roughly doubles. Check the pricing panel on this page for current rates.
Can I control how much Gemini 3.7 Flash thinks?
Yes. Thinking is configurable per request, so you can raise the budget for hard problems and lower it for routine ones. An unconfigured request may spend more output tokens than a simple task warrants.
What is the knowledge cutoff for Gemini 3.7 Flash?
March 2026. Pair Gemini 3.7 Flash with web search or retrieval for facts that changed after that date.
Can I move traffic to Gemini 3.7 Flash without changing my code?
Yes. Add an AI Gateway routing rule that rewrites requests from another Gemini model to
google/gemini-3.7-flash. Your application keeps sending the old model identifier.Does Gemini 3.7 Flash support Zero Data Retention?
Yes, Zero Data Retention is available for this model. Zero Data Retention is offered on a per-provider basis. See https://vercel.com/docs/ai-gateway/capabilities/zdr for details.