or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

built-in-tools.mdimage-generation.mdindex.mdlanguage-models.mdprovider-setup.mdtext-embeddings.md
tile.json

tessl/npm-ai-sdk--google

Google Generative AI provider for AI SDK with language models, image generation, embeddings, and tool integrations

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/@ai-sdk/google@2.0.x

To install, run

npx @tessl/cli install tessl/npm-ai-sdk--google@2.0.0

index.mddocs/

@ai-sdk/google

@ai-sdk/google is a comprehensive Google Generative AI provider for the AI SDK, enabling developers to integrate Google's Generative AI APIs including Gemini models into their applications. It offers language model support for text generation, chat functionality, image generation capabilities, text embedding models, and built-in tool integrations.

Package Information

  • Package Name: @ai-sdk/google
  • Package Type: npm
  • Language: TypeScript
  • Installation: npm install @ai-sdk/google

Core Imports

import { createGoogleGenerativeAI, google } from "@ai-sdk/google";

For CommonJS:

const { createGoogleGenerativeAI, google } = require("@ai-sdk/google");

Internal APIs (for advanced usage):

import { GoogleGenerativeAILanguageModel, googleTools } from "@ai-sdk/google/internal";

Basic Usage

import { google } from "@ai-sdk/google";
import { generateText } from "ai";

// Use the default provider instance
const result = await generateText({
  model: google("gemini-1.5-flash"),
  prompt: "Tell me about the weather",
});

// Or create a custom provider with your API key
import { createGoogleGenerativeAI } from "@ai-sdk/google";

const google = createGoogleGenerativeAI({
  apiKey: process.env.GOOGLE_GENERATIVE_AI_API_KEY,
});

const result = await generateText({
  model: google("gemini-1.5-pro"),
  prompt: "Explain quantum computing",
});

Architecture

@ai-sdk/google is built around several key components:

  • Provider Factory: createGoogleGenerativeAI() for creating configured provider instances
  • Default Provider: Pre-configured google instance for immediate use
  • Language Models: Support for Gemini models with streaming and non-streaming text generation
  • Image Models: Image generation using Google's Imagen models
  • Embedding Models: Text embeddings using Google's embedding models
  • Built-in Tools: Google Search, code execution, and URL context tools
  • Type System: Full TypeScript integration with comprehensive type definitions

Capabilities

Provider Setup

Core provider functionality for configuring and creating Google Generative AI provider instances.

function createGoogleGenerativeAI(
  options?: GoogleGenerativeAIProviderSettings
): GoogleGenerativeAIProvider;

const google: GoogleGenerativeAIProvider;

interface GoogleGenerativeAIProviderSettings {
  baseURL?: string;
  apiKey?: string;
  headers?: Record<string, string>;
  fetch?: typeof fetch;
  generateId?: () => string;
}

Provider Setup

Language Models

Text generation and chat functionality using Google's Gemini models with support for streaming, structured outputs, and advanced features.

interface GoogleGenerativeAIProvider {
  /** Callable interface - shorthand for languageModel() */
  (modelId: GoogleGenerativeAIModelId): LanguageModelV2<
    GoogleGenerativeAIProviderOptions,
    GoogleGenerativeAIProviderMetadata
  >;
  
  languageModel(modelId: GoogleGenerativeAIModelId): LanguageModelV2<
    GoogleGenerativeAIProviderOptions,
    GoogleGenerativeAIProviderMetadata
  >;
  chat(modelId: GoogleGenerativeAIModelId): LanguageModelV2<
    GoogleGenerativeAIProviderOptions,
    GoogleGenerativeAIProviderMetadata
  >;
}

type GoogleGenerativeAIModelId = 
  | "gemini-1.5-flash"
  | "gemini-1.5-flash-latest"
  | "gemini-1.5-flash-001"
  | "gemini-1.5-flash-002"
  | "gemini-1.5-flash-8b"
  | "gemini-1.5-flash-8b-latest"
  | "gemini-1.5-flash-8b-001"
  | "gemini-1.5-pro"
  | "gemini-1.5-pro-latest"
  | "gemini-1.5-pro-001"
  | "gemini-1.5-pro-002"
  | "gemini-2.0-flash"
  | "gemini-2.0-flash-001"
  | "gemini-2.0-flash-live-001"
  | "gemini-2.0-flash-lite"
  | "gemini-2.0-pro-exp-02-05"
  | "gemini-2.0-flash-thinking-exp-01-21"
  | "gemini-2.0-flash-exp"
  | "gemini-2.5-pro"
  | "gemini-2.5-flash"
  | "gemini-2.5-flash-lite"
  | "gemini-2.5-flash-image-preview"
  | "gemini-2.5-pro-exp-03-25"
  | "gemini-2.5-flash-preview-04-17"
  | "gemini-exp-1206"
  | "gemma-3-12b-it"
  | "gemma-3-27b-it"
  | (string & {});

Language Models

Image Generation

Image generation capabilities using Google's Imagen models for creating high-quality images from text prompts.

interface GoogleGenerativeAIProvider {
  image(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV2<
    GoogleGenerativeAIImageProviderOptions
  >;
  imageModel(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV2<
    GoogleGenerativeAIImageProviderOptions
  >;
}

type GoogleGenerativeAIImageModelId = "imagen-3.0-generate-002";

Image Generation

Text Embeddings

Text embedding models for semantic search, similarity analysis, and vector operations.

interface GoogleGenerativeAIProvider {
  textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<
    GoogleGenerativeAIEmbeddingProviderOptions
  >;
  textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<
    GoogleGenerativeAIEmbeddingProviderOptions
  >;
  
  /** @deprecated Use textEmbedding() instead */
  embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<
    GoogleGenerativeAIEmbeddingProviderOptions
  >;
}

type GoogleGenerativeAIEmbeddingModelId = 
  | "text-embedding-004"
  | "gemini-embedding-001"
  | (string & {});

Text Embeddings

Built-in Tools

Google-specific tool integrations including web search, code execution, and URL content analysis.

interface GoogleGenerativeAIProvider {
  tools: {
    googleSearch: (options?: GoogleSearchOptions) => Tool;
    urlContext: () => Tool;
    codeExecution: () => Tool;
  };
}

Built-in Tools

Error Handling

interface GoogleErrorData {
  error: {
    code: number;
    message: string;
    status: string;
  };
}

The provider includes comprehensive error handling for Google API responses, with detailed error information and proper HTTP status code mapping.

Types

Core Provider Types

interface GoogleGenerativeAIProvider extends ProviderV2 {
  /** Callable interface - shorthand for languageModel() */
  (modelId: GoogleGenerativeAIModelId): LanguageModelV2;
  
  languageModel(modelId: GoogleGenerativeAIModelId): LanguageModelV2;
  chat(modelId: GoogleGenerativeAIModelId): LanguageModelV2;
  image(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV2;
  imageModel(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV2;
  textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2;
  textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2;
  
  /** @deprecated Use textEmbedding() instead */
  embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2;
  
  /** @deprecated Use chat() instead */
  generativeAI(modelId: GoogleGenerativeAIModelId): LanguageModelV2;
  
  tools: {
    googleSearch: (options?: GoogleSearchOptions) => Tool;
    urlContext: () => Tool;
    codeExecution: () => Tool;
  };
}

interface GoogleGenerativeAIProviderMetadata {
  groundingMetadata?: GoogleGenerativeAIGroundingMetadata[];
  urlContextMetadata?: GoogleGenerativeAIUrlContextMetadata[];
  safetyRatings?: SafetyRating[];
}