GeminiGenerativeProvider
Defined in: providers/gemini.ts:122
Extends
Section titled “Extends”BaseProviderAdapter
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new GeminiGenerativeProvider(
client):GeminiGenerativeProvider
Defined in: providers/base-provider.ts:23
Parameters
Section titled “Parameters”client
Section titled “client”unknown
Returns
Section titled “Returns”GeminiGenerativeProvider
Inherited from
Section titled “Inherited from”BaseProviderAdapter.constructor
Properties
Section titled “Properties”providerId
Section titled “providerId”
readonlyproviderId:"gemini"
Defined in: providers/gemini.ts:123
Overrides
Section titled “Overrides”BaseProviderAdapter.providerId
Methods
Section titled “Methods”countTokens()
Section titled “countTokens()”countTokens(
messages,descriptor,_spec?):Promise<number>
Defined in: providers/gemini.ts:570
Count tokens in messages using Gemini’s native token counting API.
This method provides accurate token estimation for Gemini models by:
- Using the SDK’s countTokens() method
- Converting system messages to user+model exchanges (same as in generation)
- This gives perfect token counting accuracy (0% error vs actual usage)
Parameters
Section titled “Parameters”messages
Section titled “messages”The messages to count tokens for
descriptor
Section titled “descriptor”Model descriptor containing the model name
_spec?
Section titled “_spec?”Optional model specification (currently unused)
Returns
Section titled “Returns”Promise<number>
Promise resolving to the estimated input token count
Throws
Section titled “Throws”Never throws - falls back to character-based estimation (4 chars/token) on error
Example
Section titled “Example”const count = await provider.countTokens( [{ role: "user", content: "Hello!" }], { provider: "gemini", name: "gemini-1.5-pro" });generateImage()
Section titled “generateImage()”generateImage(
options):Promise<ImageGenerationResult>
Defined in: providers/gemini.ts:145
Parameters
Section titled “Parameters”options
Section titled “options”Returns
Section titled “Returns”Promise<ImageGenerationResult>
generateSpeech()
Section titled “generateSpeech()”generateSpeech(
options):Promise<SpeechGenerationResult>
Defined in: providers/gemini.ts:233
Parameters
Section titled “Parameters”options
Section titled “options”Returns
Section titled “Returns”Promise<SpeechGenerationResult>
getImageModelSpecs()
Section titled “getImageModelSpecs()”getImageModelSpecs():
ImageModelSpec[]
Defined in: providers/gemini.ts:137
Returns
Section titled “Returns”getModelSpecs()
Section titled “getModelSpecs()”getModelSpecs():
ModelSpec[]
Defined in: providers/gemini.ts:129
Optionally provide model specifications for this provider. This allows the model registry to discover available models and their capabilities.
Returns
Section titled “Returns”Overrides
Section titled “Overrides”BaseProviderAdapter.getModelSpecs
getSpeechModelSpecs()
Section titled “getSpeechModelSpecs()”getSpeechModelSpecs():
SpeechModelSpec[]
Defined in: providers/gemini.ts:225
Returns
Section titled “Returns”stream()
Section titled “stream()”stream(
options,descriptor,spec?):LLMStream
Defined in: providers/base-provider.ts:37
Template method that defines the skeleton of the streaming algorithm. This orchestrates the four-step process without dictating provider-specific details.
Parameters
Section titled “Parameters”options
Section titled “options”descriptor
Section titled “descriptor”Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”BaseProviderAdapter.stream
supports()
Section titled “supports()”supports(
descriptor):boolean
Defined in: providers/gemini.ts:125
Parameters
Section titled “Parameters”descriptor
Section titled “descriptor”Returns
Section titled “Returns”boolean
Overrides
Section titled “Overrides”BaseProviderAdapter.supports
supportsImageGeneration()
Section titled “supportsImageGeneration()”supportsImageGeneration(
modelId):boolean
Defined in: providers/gemini.ts:141
Parameters
Section titled “Parameters”modelId
Section titled “modelId”string
Returns
Section titled “Returns”boolean
supportsSpeechGeneration()
Section titled “supportsSpeechGeneration()”supportsSpeechGeneration(
modelId):boolean
Defined in: providers/gemini.ts:229
Parameters
Section titled “Parameters”modelId
Section titled “modelId”string
Returns
Section titled “Returns”boolean