Skip to content

@anvia/gemini ​

Gemini’s provider adapter connects Anvia to the Gemini Developer API or Vertex AI. It includes completion, embeddings, native Gemini image generation, Imagen generation, transcription, and model listing.

SupportFirst-party
Version0.4.1
RuntimeESM, server-side JavaScript
Peer@anvia/core >=0.7.1 <1.0.0

Install ​

bash
pnpm add @anvia/gemini @anvia/core

Create a Gemini agent ​

ts
import { AgentBuilder } from '@anvia/core'
import { GeminiClient } from '@anvia/gemini'

const gemini = new GeminiClient({
  apiKey: process.env.GEMINI_API_KEY,
})

const agent = new AgentBuilder(
  'assistant',
  gemini.completionModel('gemini-2.5-flash'),
).build()

const result = await agent.prompt('Describe this system in three bullets.').send()
console.log(result.output)

Capabilities ​

CapabilityFactoryDefault
Streaming completioncompletionModel()gemini-2.5-flash
Dense embeddingsembeddingModel()gemini-embedding-001
Gemini-native imagesimageGenerationModel()gemini-2.5-flash-image
Imagen imagesimagenGenerationModel()imagen-4.0-generate-001
Audio transcriptiontranscriptionModel()gemini-2.5-flash
Model inventorylistModels()Provider model list

Gemini-native images run through generateContent; Imagen uses generateImages. They are separate factories because the provider APIs and supported model families differ. Audio generation is not implemented.

Common patterns ​

Use Vertex AI ​

ts
const vertex = new GeminiClient({
  vertexai: true,
  project: 'my-gcp-project',
  location: 'us-central1',
})

const model = vertex.completionModel('gemini-2.5-flash')

Vertex mode uses Google Application Default Credentials unless googleAuthOptions supplies another trusted configuration.

Tune embeddings for retrieval ​

ts
const queryEmbeddings = gemini.embeddingModel('gemini-embedding-001', {
  taskType: 'RETRIEVAL_QUERY',
  dimensions: 768,
  maxBatchSize: 32,
})

Use matching dimensions and a compatible task configuration when indexing and querying the same vector collection. title is intended for document-oriented embedding tasks.

Compatibility ​

@anvia/gemini is ESM and uses @google/genai. The client options are a discriminated union: API-key mode cannot include Vertex project settings, while vertexai: true cannot include apiKey. A preconfigured GoogleGenAI client can be injected in either mode.

Continue ​

Built for Anvia.