ai-provider-google-gemini-sdk
Google Gemini SDK Patterns
Quick Guide: Use the
@google/genaipackage (the unified SDK, NOT the deprecated@google/generative-ai) for all Gemini API interactions. All operations flow through a centralGoogleGenAIclient with service accessors:ai.modelsfor generation,ai.chatsfor multi-turn,ai.filesfor uploads,ai.cachesfor context caching. UseresponseMimeType: "application/json"withresponseJsonSchemafor structured output. Access response text viaresponse.text(property, not method). Streaming usesgenerateContentStreamreturning an async iterable -- iterate withfor await.
<critical_requirements>
CRITICAL: Before Using This Skill
All code must follow project conventions in CLAUDE.md (kebab-case, named exports, import ordering,
import type, named constants)
(You MUST use @google/genai (the new unified SDK) -- NOT the deprecated @google/generative-ai package)
(You MUST access response text via response.text (a property) -- NOT response.text() (the old SDK used a method call))
(You MUST pass model as a string parameter in every API call -- there is no getGenerativeModel() step)
(You MUST use config for all generation parameters (temperature, safetySettings, tools, systemInstruction) -- NOT top-level properties)