Skip to main content
Mastra v1 is coming in January 2026. Get ahead by starting new projects with the beta or upgrade your existing project today.

Google logoGoogle

Access 25 Google models through Mastra's model router. Authentication is handled automatically using the GOOGLE_GENERATIVE_AI_API_KEY environment variable.

Learn more in the Google documentation.

GOOGLE_GENERATIVE_AI_API_KEY=your-api-key
import { Agent } from "@mastra/core";

const agent = new Agent({
name: "my-agent",
instructions: "You are a helpful assistant",
model: "google/gemini-1.5-flash"
});

// Generate a response
const response = await agent.generate("Hello!");

// Stream a response
const stream = await agent.stream("Tell me a story");
for await (const chunk of stream) {
console.log(chunk);
}

ModelsDirect link to Models

ModelContextToolsReasoningImageAudioVideoInput $/1MOutput $/1M
google/gemini-1.5-flash1.0M$0.07$0.30
google/gemini-1.5-flash-8b1.0M$0.04$0.15
google/gemini-1.5-pro1.0M$1$5
google/gemini-2.0-flash1.0M$0.10$0.40
google/gemini-2.0-flash-lite1.0M$0.07$0.30
google/gemini-2.5-flash1.0M$0.30$3
google/gemini-2.5-flash-image33K$0.30$30
google/gemini-2.5-flash-image-preview33K$0.30$30
google/gemini-2.5-flash-lite1.0M$0.10$0.40
google/gemini-2.5-flash-lite-preview-06-171.0M$0.10$0.40
google/gemini-2.5-flash-lite-preview-09-20251.0M$0.10$0.40
google/gemini-2.5-flash-preview-04-171.0M$0.15$0.60
google/gemini-2.5-flash-preview-05-201.0M$0.15$0.60
google/gemini-2.5-flash-preview-09-20251.0M$0.30$3
google/gemini-2.5-flash-preview-tts8K$0.50$10
google/gemini-2.5-pro1.0M$1$10
google/gemini-2.5-pro-preview-05-061.0M$1$10
google/gemini-2.5-pro-preview-06-051.0M$1$10
google/gemini-2.5-pro-preview-tts8K$1$20
google/gemini-3-pro-preview1.0M$2$12
google/gemini-embedding-0012K$0.15
google/gemini-flash-latest1.0M$0.30$3
google/gemini-flash-lite-latest1.0M$0.10$0.40
google/gemini-live-2.5-flash128K$0.50$2
google/gemini-live-2.5-flash-preview-native-audio131K$0.50$2
25 available models

Advanced ConfigurationDirect link to Advanced Configuration

Custom HeadersDirect link to Custom Headers

const agent = new Agent({
name: "custom-agent",
model: {
id: "google/gemini-1.5-flash",
apiKey: process.env.GOOGLE_GENERATIVE_AI_API_KEY,
headers: {
"X-Custom-Header": "value"
}
}
});

Dynamic Model SelectionDirect link to Dynamic Model Selection

const agent = new Agent({
name: "dynamic-agent",
model: ({ runtimeContext }) => {
const useAdvanced = runtimeContext.task === "complex";
return useAdvanced
? "google/gemini-live-2.5-flash-preview-native-audio"
: "google/gemini-1.5-flash";
}
});

Provider OptionsDirect link to Provider Options

Google supports the following provider-specific options via the providerOptions parameter:

const response = await agent.generate("Hello!", {
providerOptions: {
google: {
// See available options in the table below
}
}
});

Available OptionsDirect link to Available Options

responseModalities?:

("TEXT" | "IMAGE")[] | undefined

thinkingConfig?:

{ thinkingBudget?: number | undefined; includeThoughts?: boolean | undefined; thinkingLevel?: "low" | "medium" | "high" | undefined; } | undefined

cachedContent?:

string | undefined

structuredOutputs?:

boolean | undefined

safetySettings?:

{ category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_DANGEROUS_CONTENT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_CIVIC_INTEGRITY"; threshold: "HARM_BLOCK_THRESHOLD_UNSPECIFIED" | ... 4 more ... | "OFF"; }[] | undefined

threshold?:

"HARM_BLOCK_THRESHOLD_UNSPECIFIED" | "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE" | "OFF" | undefined

audioTimestamp?:

boolean | undefined

labels?:

Record<string, string> | undefined

mediaResolution?:

"MEDIA_RESOLUTION_UNSPECIFIED" | "MEDIA_RESOLUTION_LOW" | "MEDIA_RESOLUTION_MEDIUM" | "MEDIA_RESOLUTION_HIGH" | undefined

imageConfig?:

{ aspectRatio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | "16:9" | "21:9" | undefined; imageSize?: "1K" | "2K" | "4K" | undefined; } | undefined

Direct Provider InstallationDirect link to Direct Provider Installation

This provider can also be installed directly as a standalone package, which can be used instead of the Mastra model router string. View the package documentation for more details.

npm install @ai-sdk/google

For detailed provider-specific documentation, see the AI SDK Google provider docs.