GenerativeModel class

Class for generative model APIs.

Signature:

exportdeclareclassGenerativeModelextendsAIModel

Extends:AIModel

Constructors

ConstructorModifiersDescription
(constructor)(ai, modelParams, requestOptions, chromeAdapter)Constructs a new instance of theGenerativeModel class

Properties

PropertyModifiersTypeDescription
generationConfigGenerationConfig
requestOptionsRequestOptions
safetySettingsSafetySetting[]
systemInstructionContent
toolConfigToolConfig
toolsTool[]

Methods

MethodModifiersDescription
countTokens(request)Counts the tokens in the provided request.
generateContent(request)Makes a single non-streaming call to the model and returns an object containing a singleGenerateContentResponse.
generateContentStream(request)Makes a single streaming call to the model and returns an object containing an iterable stream that iterates over all chunks in the streaming response as well as a promise that returns the final aggregated response.
startChat(startChatParams)Gets a newChatSession instance which can be used for multi-turn chats.

GenerativeModel.(constructor)

Constructs a new instance of theGenerativeModel class

Signature:

constructor(ai:AI,modelParams:ModelParams,requestOptions?:RequestOptions,chromeAdapter?:ChromeAdapter|undefined);

Parameters

ParameterTypeDescription
aiAI
modelParamsModelParams
requestOptionsRequestOptions
chromeAdapterChromeAdapter | undefined

GenerativeModel.generationConfig

Signature:

generationConfig:GenerationConfig;

GenerativeModel.requestOptions

Signature:

requestOptions?:RequestOptions;

GenerativeModel.safetySettings

Signature:

safetySettings:SafetySetting[];

GenerativeModel.systemInstruction

Signature:

systemInstruction?:Content;

GenerativeModel.toolConfig

Signature:

toolConfig?:ToolConfig;

GenerativeModel.tools

Signature:

tools?:Tool[];

GenerativeModel.countTokens()

Counts the tokens in the provided request.

Signature:

countTokens(request:CountTokensRequest|string|Array<string|Part>):Promise<CountTokensResponse>;

Parameters

ParameterTypeDescription
requestCountTokensRequest | string | Array<string |Part>

Returns:

Promise<CountTokensResponse>

GenerativeModel.generateContent()

Makes a single non-streaming call to the model and returns an object containing a singleGenerateContentResponse.

Signature:

generateContent(request:GenerateContentRequest|string|Array<string|Part>):Promise<GenerateContentResult>;

Parameters

ParameterTypeDescription
requestGenerateContentRequest | string | Array<string |Part>

Returns:

Promise<GenerateContentResult>

GenerativeModel.generateContentStream()

Makes a single streaming call to the model and returns an object containing an iterable stream that iterates over all chunks in the streaming response as well as a promise that returns the final aggregated response.

Signature:

generateContentStream(request:GenerateContentRequest|string|Array<string|Part>):Promise<GenerateContentStreamResult>;

Parameters

ParameterTypeDescription
requestGenerateContentRequest | string | Array<string |Part>

Returns:

Promise<GenerateContentStreamResult>

GenerativeModel.startChat()

Gets a newChatSession instance which can be used for multi-turn chats.

Signature:

startChat(startChatParams?:StartChatParams):ChatSession;

Parameters

ParameterTypeDescription
startChatParamsStartChatParams

Returns:

ChatSession

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-07 UTC.