A API CountTokens calcula o número de tokens de entrada antes de enviar uma solicitação à API Gemini.
Use a API CountTokens para evitar que as solicitações excedam a janela de contexto do modelo e estime os possíveis custos com base em caracteres ou tokens faturáveis.
A API CountTokens pode usar o mesmo parâmetro contents das solicitações de inferência da API Gemini.
Modelos compatíveis
- Gemini 2.5 Flash (pré-lançamento)
- Gemini 2.5 Flash-Lite (pré-lançamento)
- Imagem do Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash com geração de imagens (pré-lançamento)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
Lista de parâmetros
Essa classe consiste em duas properties principais: role e parts. A property role indica o indivíduo que produz o conteúdo, enquanto a property parts contém vários elementos, cada um representando um segmento de dados em uma mensagem.
| Parâmetros | |
|---|---|
|
Opcional: A identidade da entidade que cria a mensagem. Defina a string com uma das seguintes opções:
O valor Para conversas que não têm vários turnos, esse campo pode ser deixado em branco ou sem definição. |
|
Uma lista de partes ordenadas que compõem uma única mensagem. Partes diferentes podem ter tipos MIME IANA distintos. |
Part
Um tipo de dados que contém mídia que faz parte de uma mensagem Content de várias partes.
| Parâmetros | |
|---|---|
|
Opcional: Um comando de texto ou snippet de código. |
|
Opcional: Dados inline em bytes brutos. |
|
Opcional: Dados armazenados em um arquivo. |
Blob
blob de conteúdo Se possível, envie como texto em vez de bytes brutos.
| Parâmetros | |
|---|---|
|
Tipo MIME IANA dos dados. |
|
Bytes brutos. |
FileData
Dados baseados em URI.
| Parâmetros | |
|---|---|
|
Tipo MIME IANA dos dados. |
|
O URI do Cloud Storage para o arquivo que armazena os dados. |
system_instruction
Este campo é para system_instructions fornecido pelo usuário. Ele é igual
a contents, mas com suporte limitado aos tipos de conteúdo.
| Parâmetros | |
|---|---|
|
Tipo MIME IANA dos dados. Este campo é ignorado internamente. |
|
Somente texto. Instruções que os usuários querem transmitir ao modelo. |
FunctionDeclaration
Uma representação estruturada de uma declaração de função, conforme definido pela especificação OpenAPI 3.0 (link em inglês) que representa uma função em que o modelo pode gerar entradas JSON.
| Parâmetros | |
|---|---|
|
O nome da função a ser chamada. |
|
Opcional: Descrição e propósito da função. |
|
Opcional: Descreve os parâmetros da função no formato de objeto de esquema JSON da OpenAPI: especificação OpenAPI 3.0. |
|
Opcional: Descreve a saída da função no formato de objeto de esquema JSON da OpenAPI: especificação OpenAPI 3.0. |
Exemplos
Receber a contagem de tokens de um comando de texto
Este exemplo conta os tokens de um único comando de texto:
REST
Para conferir a contagem de tokens e o número de caracteres faturáveis de um comando usando a API do Vertex AI, envie uma solicitaçãoPOST para o endpoint do modelo do editor.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: a região para processar a solicitação. As opções disponíveis incluem:
Clicar para abrir uma lista parcial das regiões disponíveis
us-central1us-west4northamerica-northeast1us-east4us-west1asia-northeast3asia-southeast1asia-northeast1
- PROJECT_ID: o ID do projeto.
- MODEL_ID: o ID do modelo multimodal que você quer usar.
- ROLE: o papel em uma conversa associada ao conteúdo. É necessário especificar um papel mesmo em
casos de uso de turno único.
Os valores aceitáveis são os seguintes:
USER: especifica o conteúdo que é enviado por você.
- TEXT: as instruções de texto a serem incluídas no comando.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Corpo JSON da solicitação:
{
"contents": [{
"role": "ROLE",
"parts": [{
"text": "TEXT"
}]
}]
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Python
Instalar
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Instalar
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Receber a contagem de tokens do comando de mídia
Neste exemplo, os tokens de um comando que usa vários tipos de mídia são contados.
REST
Para conferir a contagem de tokens e o número de caracteres faturáveis de um comando usando a API do Vertex AI, envie uma solicitaçãoPOST para o endpoint do modelo do editor.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: a região para processar a solicitação. As opções disponíveis incluem:
Clicar para abrir uma lista parcial das regiões disponíveis
us-central1us-west4northamerica-northeast1us-east4us-west1asia-northeast3asia-southeast1asia-northeast1
- PROJECT_ID: .
- MODEL_ID: o ID do modelo multimodal que você quer usar.
- ROLE: o papel em uma conversa associada ao conteúdo. É necessário especificar um papel mesmo em
casos de uso de turno único.
Os valores aceitáveis são os seguintes:
USER: especifica o conteúdo que é enviado por você.
- TEXT: as instruções de texto a serem incluídas no comando.
- FILE_URI:
o URI ou URL do arquivo a ser incluído no comando. Os valores aceitáveis são os seguintes:
- URI do bucket do Cloud Storage:o objeto precisa ser publicamente legível ou residir no
mesmo projeto Google Cloud que está enviando a solicitação. Para
gemini-2.0-flashegemini-2.0-flash-lite, o limite de tamanho é de 2 GB. - URL HTTP: o URL do arquivo precisa ser legível publicamente. É possível especificar um arquivo de vídeo, um arquivo de áudio e até 10 arquivos de imagem por solicitação. Os arquivos de áudio, vídeo e documentos não podem exceder 15 MB.
- URL do vídeo do YouTube:o vídeo do YouTube precisa ser de propriedade da conta que você usou para fazer login no console Google Cloud ou ser público. Somente um URL de vídeo do YouTube é aceito por solicitação.
Ao especificar um
fileURI, você também precisa especificar o tipo de mídia (mimeType) do arquivo. Se o VPC Service Controls estiver ativado, não será possível especificar um URL de arquivo de mídia parafileURI. - URI do bucket do Cloud Storage:o objeto precisa ser publicamente legível ou residir no
mesmo projeto Google Cloud que está enviando a solicitação. Para
- MIME_TYPE:
O tipo de mídia do arquivo especificado em
dataoufileUri. Os valores aceitáveis são os seguintes:Clique para expandir os tipos MIME.
application/pdfaudio/mpegaudio/mp3audio/wavimage/pngimage/jpegimage/webptext/plainvideo/movvideo/mpegvideo/mp4video/mpgvideo/avivideo/wmvvideo/mpegpsvideo/flv
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Corpo JSON da solicitação:
{
"contents": [{
"role": "ROLE",
"parts": [
{
"file_data": {
"file_uri": "FILE_URI",
"mime_type": "MIME_TYPE"
}
},
{
"text": "TEXT
}
]
}]
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Python
Instalar
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Instalar
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
A seguir
- Saiba mais sobre a API Gemini.