Method: models.countTokens
- Endpoint
- Path parameters
- Request body
- Response body
- Authorization scopes
- Example request
- GenerateContentRequest
Runs a model's tokenizer on input content and returns the token count.
Endpoint
post
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:countTokens
Path parameters
model
string
Required. The model's resource name. This serves as an ID for the Model to use.
This name should match a model name returned by the models.list
method.
Format: models/{model}
It takes the form models/{model}
.
Request body
The request body contains data with the following structure:
Optional. The input given to the model as a prompt. This field is ignored when generateContentRequest
is set.
Optional. The overall input given to the model. models.countTokens will count prompt, function calling, etc.
Example request
Text
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
Chat
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
Inline media
Python
Node.js
Kotlin
Swift
Dart
Java
Files
Python
Node.js
Cache
Python
Node.js
System Instruction
Python
Node.js
Kotlin
Swift
Dart
Java
Tools
Python
Node.js
Kotlin
Swift
Dart
Java
Response body
A response from models.countTokens
.
It returns the model's tokenCount
for the prompt
.
If successful, the response body contains data with the following structure:
totalTokens
integer
The number of tokens that the model
tokenizes the prompt
into.
Always non-negative. When cachedContent is set, this is still the total effective prompt size. I.e. this includes the number of tokens in the cached content.
JSON representation |
---|
{ "totalTokens": integer } |
GenerateContentRequest
Request to generate a completion from the model.
JSON representation |
---|
{ "model": string, "contents": [ { object ( |
model
string
Required. The name of the Model
to use for generating the completion.
Format: name=models/{model}
.
Required. The content of the current conversation with the model.
For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.
Optional. A list of Tools
the model may use to generate the next response.
A Tool
is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. The only supported tool is currently Function
.
Optional. Tool configuration for any Tool
specified in the request.
Optional. A list of unique SafetySetting
instances for blocking unsafe content.
This will be enforced on the GenerateContentRequest.contents
and GenerateContentResponse.candidates
. There should not be more than one setting for each SafetyCategory
type. The API will block any contents and responses that fail to meet the thresholds set by these settings. This list overrides the default settings for each SafetyCategory
specified in the safetySettings. If there is no SafetySetting
for a given SafetyCategory
provided in the list, the API will use the default safety setting for that category. Harm categories HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT are supported.
Optional. Developer set system instruction. Currently, text only.
Optional. Configuration options for model generation and outputs.
cachedContent
string
Optional. The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: cachedContents/{cachedContent}