Skip to main content
POST
/
genai
/
v1beta
/
models
/
{model}
:countTokens
Count tokens (Gemini format)
curl --request POST \
  --url http://localhost:8080/genai/v1beta/models/{model}:countTokens \
  --header 'Content-Type: application/json' \
  --data '
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "<string>",
          "thought": true,
          "thoughtSignature": "aSDinaTvuI8gbWludGxpZnk=",
          "inlineData": {
            "mimeType": "<string>",
            "data": "aSDinaTvuI8gbWludGxpZnk=",
            "displayName": "<string>"
          },
          "fileData": {
            "mimeType": "<string>",
            "fileUri": "<string>",
            "displayName": "<string>"
          },
          "functionCall": {
            "id": "<string>",
            "name": "<string>",
            "args": {}
          },
          "functionResponse": {
            "id": "<string>",
            "name": "<string>",
            "response": {},
            "willContinue": true,
            "scheduling": "<string>"
          },
          "executableCode": {
            "language": "<string>",
            "code": "<string>"
          },
          "codeExecutionResult": {
            "outcome": "OUTCOME_UNSPECIFIED",
            "output": "<string>"
          },
          "videoMetadata": {
            "fps": 123,
            "startOffset": "<string>",
            "endOffset": "<string>"
          }
        }
      ]
    }
  ],
  "generateContentRequest": {
    "model": "<string>",
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "<string>",
            "thought": true,
            "thoughtSignature": "aSDinaTvuI8gbWludGxpZnk=",
            "inlineData": {
              "mimeType": "<string>",
              "data": "aSDinaTvuI8gbWludGxpZnk=",
              "displayName": "<string>"
            },
            "fileData": {
              "mimeType": "<string>",
              "fileUri": "<string>",
              "displayName": "<string>"
            },
            "functionCall": {
              "id": "<string>",
              "name": "<string>",
              "args": {}
            },
            "functionResponse": {
              "id": "<string>",
              "name": "<string>",
              "response": {},
              "willContinue": true,
              "scheduling": "<string>"
            },
            "executableCode": {
              "language": "<string>",
              "code": "<string>"
            },
            "codeExecutionResult": {
              "outcome": "OUTCOME_UNSPECIFIED",
              "output": "<string>"
            },
            "videoMetadata": {
              "fps": 123,
              "startOffset": "<string>",
              "endOffset": "<string>"
            }
          }
        ]
      }
    ],
    "systemInstruction": {
      "role": "user",
      "parts": [
        {
          "text": "<string>",
          "thought": true,
          "thoughtSignature": "aSDinaTvuI8gbWludGxpZnk=",
          "inlineData": {
            "mimeType": "<string>",
            "data": "aSDinaTvuI8gbWludGxpZnk=",
            "displayName": "<string>"
          },
          "fileData": {
            "mimeType": "<string>",
            "fileUri": "<string>",
            "displayName": "<string>"
          },
          "functionCall": {
            "id": "<string>",
            "name": "<string>",
            "args": {}
          },
          "functionResponse": {
            "id": "<string>",
            "name": "<string>",
            "response": {},
            "willContinue": true,
            "scheduling": "<string>"
          },
          "executableCode": {
            "language": "<string>",
            "code": "<string>"
          },
          "codeExecutionResult": {
            "outcome": "OUTCOME_UNSPECIFIED",
            "output": "<string>"
          },
          "videoMetadata": {
            "fps": 123,
            "startOffset": "<string>",
            "endOffset": "<string>"
          }
        }
      ]
    },
    "generationConfig": {
      "temperature": 123,
      "topP": 123,
      "topK": 123,
      "candidateCount": 123,
      "maxOutputTokens": 123,
      "stopSequences": [
        "<string>"
      ],
      "responseMimeType": "<string>",
      "responseSchema": {
        "type": "TYPE_UNSPECIFIED",
        "format": "<string>",
        "title": "<string>",
        "description": "<string>",
        "nullable": true,
        "enum": [
          "<string>"
        ],
        "properties": {},
        "required": [
          "<string>"
        ],
        "items": {
          "type": "TYPE_UNSPECIFIED",
          "format": "<string>",
          "title": "<string>",
          "description": "<string>",
          "nullable": true,
          "enum": [
            "<string>"
          ],
          "properties": {},
          "required": [
            "<string>"
          ],
          "items": "<unknown>",
          "minItems": 123,
          "maxItems": 123,
          "minLength": 123,
          "maxLength": 123,
          "minimum": 123,
          "maximum": 123,
          "pattern": "<string>",
          "default": "<unknown>",
          "example": "<unknown>",
          "anyOf": "<array>",
          "propertyOrdering": [
            "<string>"
          ],
          "minProperties": 123,
          "maxProperties": 123
        },
        "minItems": 123,
        "maxItems": 123,
        "minLength": 123,
        "maxLength": 123,
        "minimum": 123,
        "maximum": 123,
        "pattern": "<string>",
        "default": "<unknown>",
        "example": "<unknown>",
        "anyOf": [
          {
            "type": "TYPE_UNSPECIFIED",
            "format": "<string>",
            "title": "<string>",
            "description": "<string>",
            "nullable": true,
            "enum": [
              "<string>"
            ],
            "properties": {},
            "required": [
              "<string>"
            ],
            "items": "<unknown>",
            "minItems": 123,
            "maxItems": 123,
            "minLength": 123,
            "maxLength": 123,
            "minimum": 123,
            "maximum": 123,
            "pattern": "<string>",
            "default": "<unknown>",
            "example": "<unknown>",
            "anyOf": "<array>",
            "propertyOrdering": [
              "<string>"
            ],
            "minProperties": 123,
            "maxProperties": 123
          }
        ],
        "propertyOrdering": [
          "<string>"
        ],
        "minProperties": 123,
        "maxProperties": 123
      },
      "responseJsonSchema": {},
      "responseModalities": [
        "MODALITY_UNSPECIFIED"
      ],
      "speechConfig": {
        "voiceConfig": {
          "prebuiltVoiceConfig": {
            "voiceName": "<string>"
          }
        },
        "multiSpeakerVoiceConfig": {
          "speakerVoiceConfigs": [
            {
              "speaker": "<string>",
              "voiceConfig": {
                "prebuiltVoiceConfig": {
                  "voiceName": "<string>"
                }
              }
            }
          ]
        },
        "languageCode": "<string>"
      },
      "thinkingConfig": {
        "includeThoughts": true,
        "thinkingBudget": 123,
        "thinkingLevel": "THINKING_LEVEL_UNSPECIFIED"
      },
      "frequencyPenalty": 123,
      "presencePenalty": 123,
      "seed": 123,
      "logprobs": 123,
      "responseLogprobs": true,
      "audioTimestamp": true,
      "mediaResolution": "<string>",
      "routingConfig": {
        "autoMode": {
          "modelRoutingPreference": "<string>"
        },
        "manualMode": {
          "modelName": "<string>"
        }
      },
      "modelSelectionConfig": {
        "featureSelectionPreference": "<string>"
      },
      "enableAffectiveDialog": true
    },
    "safetySettings": [
      {
        "category": "<string>",
        "threshold": "<string>",
        "method": "<string>"
      }
    ],
    "tools": [
      {
        "functionDeclarations": [
          {
            "name": "<string>",
            "description": "<string>",
            "parameters": {
              "type": "TYPE_UNSPECIFIED",
              "format": "<string>",
              "title": "<string>",
              "description": "<string>",
              "nullable": true,
              "enum": [
                "<string>"
              ],
              "properties": {},
              "required": [
                "<string>"
              ],
              "items": "<unknown>",
              "minItems": 123,
              "maxItems": 123,
              "minLength": 123,
              "maxLength": 123,
              "minimum": 123,
              "maximum": 123,
              "pattern": "<string>",
              "default": "<unknown>",
              "example": "<unknown>",
              "anyOf": "<array>",
              "propertyOrdering": [
                "<string>"
              ],
              "minProperties": 123,
              "maxProperties": 123
            },
            "parametersJsonSchema": {},
            "response": {
              "type": "TYPE_UNSPECIFIED",
              "format": "<string>",
              "title": "<string>",
              "description": "<string>",
              "nullable": true,
              "enum": [
                "<string>"
              ],
              "properties": {},
              "required": [
                "<string>"
              ],
              "items": {
                "type": "TYPE_UNSPECIFIED",
                "format": "<string>",
                "title": "<string>",
                "description": "<string>",
                "nullable": true,
                "enum": [
                  "<string>"
                ],
                "properties": {},
                "required": [
                  "<string>"
                ],
                "items": "<unknown>",
                "minItems": 123,
                "maxItems": 123,
                "minLength": 123,
                "maxLength": 123,
                "minimum": 123,
                "maximum": 123,
                "pattern": "<string>",
                "default": "<unknown>",
                "example": "<unknown>",
                "anyOf": "<array>",
                "propertyOrdering": [
                  "<string>"
                ],
                "minProperties": 123,
                "maxProperties": 123
              },
              "minItems": 123,
              "maxItems": 123,
              "minLength": 123,
              "maxLength": 123,
              "minimum": 123,
              "maximum": 123,
              "pattern": "<string>",
              "default": "<unknown>",
              "example": "<unknown>",
              "anyOf": [
                {
                  "type": "TYPE_UNSPECIFIED",
                  "format": "<string>",
                  "title": "<string>",
                  "description": "<string>",
                  "nullable": true,
                  "enum": [
                    "<string>"
                  ],
                  "properties": {},
                  "required": [
                    "<string>"
                  ],
                  "items": "<unknown>",
                  "minItems": 123,
                  "maxItems": 123,
                  "minLength": 123,
                  "maxLength": 123,
                  "minimum": 123,
                  "maximum": 123,
                  "pattern": "<string>",
                  "default": "<unknown>",
                  "example": "<unknown>",
                  "anyOf": "<array>",
                  "propertyOrdering": [
                    "<string>"
                  ],
                  "minProperties": 123,
                  "maxProperties": 123
                }
              ],
              "propertyOrdering": [
                "<string>"
              ],
              "minProperties": 123,
              "maxProperties": 123
            },
            "responseJsonSchema": {},
            "behavior": "UNSPECIFIED"
          }
        ],
        "googleSearch": {
          "timeRangeFilter": {
            "startTime": "2023-11-07T05:31:56Z",
            "endTime": "2023-11-07T05:31:56Z"
          },
          "excludeDomains": [
            "<string>"
          ]
        },
        "googleSearchRetrieval": {
          "dynamicRetrievalConfig": {
            "mode": "<string>",
            "dynamicThreshold": 123
          }
        },
        "retrieval": {
          "disableAttribution": true,
          "externalApi": {
            "endpoint": "<string>",
            "apiSpec": "API_SPEC_UNSPECIFIED",
            "authConfig": {
              "authType": "AUTH_TYPE_UNSPECIFIED",
              "apiKeyConfig": {
                "apiKeyString": "<string>"
              },
              "googleServiceAccountConfig": {
                "serviceAccount": "<string>"
              },
              "httpBasicAuthConfig": {
                "credentialSecret": "<string>"
              },
              "oauthConfig": {
                "accessToken": "<string>",
                "serviceAccount": "<string>"
              },
              "oidcConfig": {
                "idToken": "<string>",
                "serviceAccount": "<string>"
              }
            },
            "elasticSearchParams": {
              "index": "<string>",
              "numHits": 123,
              "searchTemplate": "<string>"
            }
          },
          "vertexAiSearch": {
            "datastore": "<string>",
            "engine": "<string>",
            "filter": "<string>",
            "maxResults": 123,
            "dataStoreSpecs": [
              {
                "dataStore": "<string>",
                "filter": "<string>"
              }
            ]
          },
          "vertexRagStore": {
            "ragCorpora": [
              "<string>"
            ],
            "ragResources": [
              {
                "ragCorpus": "<string>",
                "ragFileIds": [
                  "<string>"
                ]
              }
            ],
            "ragRetrievalConfig": {
              "topK": 123,
              "filter": {
                "metadataFilter": "<string>",
                "vectorDistanceThreshold": 123,
                "vectorSimilarityThreshold": 123
              },
              "hybridSearch": {
                "alpha": 123
              },
              "ranking": {
                "llmRanker": {
                  "modelName": "<string>"
                },
                "rankService": {
                  "modelName": "<string>"
                }
              }
            },
            "similarityTopK": 123,
            "storeContext": true,
            "vectorDistanceThreshold": 123
          }
        },
        "codeExecution": {},
        "enterpriseWebSearch": {
          "excludeDomains": [
            "<string>"
          ]
        },
        "googleMaps": {
          "authConfig": {
            "authType": "AUTH_TYPE_UNSPECIFIED",
            "apiKeyConfig": {
              "apiKeyString": "<string>"
            },
            "googleServiceAccountConfig": {
              "serviceAccount": "<string>"
            },
            "httpBasicAuthConfig": {
              "credentialSecret": "<string>"
            },
            "oauthConfig": {
              "accessToken": "<string>",
              "serviceAccount": "<string>"
            },
            "oidcConfig": {
              "idToken": "<string>",
              "serviceAccount": "<string>"
            }
          }
        },
        "urlContext": {},
        "computerUse": {
          "environment": "ENVIRONMENT_UNSPECIFIED"
        }
      }
    ],
    "toolConfig": {
      "functionCallingConfig": {
        "mode": "MODE_UNSPECIFIED",
        "allowedFunctionNames": [
          "<string>"
        ]
      },
      "retrievalConfig": {
        "latLng": {
          "latitude": 123,
          "longitude": 123
        },
        "languageCode": "<string>"
      }
    },
    "cachedContent": "<string>",
    "labels": {},
    "requests": [
      {
        "model": "<string>",
        "content": {
          "role": "user",
          "parts": [
            {
              "text": "<string>",
              "thought": true,
              "thoughtSignature": "aSDinaTvuI8gbWludGxpZnk=",
              "inlineData": {
                "mimeType": "<string>",
                "data": "aSDinaTvuI8gbWludGxpZnk=",
                "displayName": "<string>"
              },
              "fileData": {
                "mimeType": "<string>",
                "fileUri": "<string>",
                "displayName": "<string>"
              },
              "functionCall": {
                "id": "<string>",
                "name": "<string>",
                "args": {}
              },
              "functionResponse": {
                "id": "<string>",
                "name": "<string>",
                "response": {},
                "willContinue": true,
                "scheduling": "<string>"
              },
              "executableCode": {
                "language": "<string>",
                "code": "<string>"
              },
              "codeExecutionResult": {
                "outcome": "OUTCOME_UNSPECIFIED",
                "output": "<string>"
              },
              "videoMetadata": {
                "fps": 123,
                "startOffset": "<string>",
                "endOffset": "<string>"
              }
            }
          ]
        },
        "taskType": "<string>",
        "title": "<string>",
        "outputDimensionality": 123
      }
    ],
    "fallbacks": [
      "<string>"
    ]
  }
}
'
{
  "totalTokens": 123,
  "cachedContentTokenCount": 123,
  "promptTokensDetails": [
    {
      "modality": "<string>",
      "tokenCount": 123
    }
  ],
  "cacheTokensDetails": [
    {
      "modality": "<string>",
      "tokenCount": 123
    }
  ]
}

Path Parameters

model
string
required

Model name with action (e.g., gemini-pro:countTokens)

Body

application/json
contents
object[]
generateContentRequest
object

Response

Successful response

totalTokens
integer

Number of tokens that the model tokenizes the prompt into

cachedContentTokenCount
integer

Number of tokens in the cached part of the prompt

promptTokensDetails
object[]

Modalities processed in the request input

cacheTokensDetails
object[]

Modalities in the cached content