Cómo contar tokens para los modelos de Gemini

Los modelos Gemini procesan la entrada y la salida en unidades llamadas tokens.

Los tokens pueden ser caracteres individuales, como z, o palabras completas, como cat. Las palabras largas se dividen en varios tokens. El conjunto de todos los tokens que usa el modelo se denomina vocabulario, y el proceso de dividir el texto en tokens se denomina tokenización.

En el caso de los modelos Gemini, un token equivale a aproximadamente 4 caracteres. 100 tokens equivalen a entre 60 y 80 palabras en inglés.

Cada modelo tiene una cantidad máxima de tokens que puede manejar en una instrucción y una respuesta. Conocer el recuento de tokens de tu instrucción te permite saber si superaste este límite. Además, el costo de una solicitud se determina en parte por la cantidad de tokens de entrada y salida, por lo que saber cómo contarlos puede ser útil.

Ten en cuenta que los modelos Gemini 1.0 y 1.5 también admitían un recuento y precios de "caracteres facturables", pero, dado que todos esos modelos ya se retiraron o se retirarán pronto, esta página no describe nada sobre los caracteres facturables.

Modelos compatibles

  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite-preview-06-17
  • gemini-2.0-flash-001 (y su alias actualizado automáticamente gemini-2.0-flash)
  • gemini-2.0-flash-lite-001 (y su alias gemini-2.0-flash-lite actualizado automáticamente)
  • gemini-2.0-flash-preview-image-generation

Opciones para contar tokens

Todas las entradas y salidas de Gemini API se tokenizan, incluidos el texto, los archivos de imagen y otras modalidades que no son de texto. Estas son las opciones para contar tokens:

Verifica el recuento de tokens solo para tus solicitudes (antes de enviarlas al modelo).
Llama a countTokens con la entrada de la solicitud antes de enviarla al modelo. El resultado es el siguiente:
  • total_tokens: Recuento de tokens de la entrada únicamente
Verifica el recuento de tokens de tus solicitudes y respuestas.
Usa el atributo usageMetadata en el objeto de respuesta. Esto incluye lo siguiente:
  • prompt_token_count: Recuento de tokens solo de la entrada
  • candidates_token_count: Recuento de tokens solo de la salida (no incluye los tokens de pensamiento)
  • thoughts_token_count: Recuento de tokens de cualquier token de pensamiento utilizado para generar la respuesta
  • total_token_count: Recuento total de tokens para tanto la entrada como la salida (incluye cualquier token de pensamiento)

Cuando se transmite el resultado, el atributo usageMetadata solo aparece en el último fragmento de la transmisión. Es nil para los fragmentos intermedios.

Ten en cuenta los siguientes puntos sobre las opciones anteriores:

  • No contarán la cantidad de imágenes de entrada ni la cantidad de segundos en los archivos de entrada de audio o video. Sin embargo, el recuento de tokens para cada una de estas modalidades se correlacionará con estos valores.
  • El recuento de tokens de entrada incluye la instrucción (texto y cualquier archivo de entrada), así como las instrucciones y herramientas del sistema.
  • El recuento de tokens de salida no incluye ningún token de pensamiento, ya que estos se proporcionan en un campo independiente.
  • Revisa la información adicional específica para cada tipo de solicitud más adelante en esta página.

Precios de estas opciones

  • Llamada a countTokens: No se aplican cargos por llamar a countTokens (la API de Count Tokens). La cuota máxima para la API de Count Tokens es de 3,000 solicitudes por minuto (RPM).

  • Uso del atributo usageMetadata: Este atributo siempre se devuelve como parte de la respuesta y no genera ningún cargo ni token.

Información adicional

A continuación, encontrarás información adicional para trabajar con tipos específicos de solicitudes.

Cómo contar los tokens de entrada de texto

No hay información adicional.

Cómo contar tokens de chat de varios turnos

Ten en cuenta lo siguiente cuando llames a countTokens mientras usas el chat:

  • Si llamas a countTokens con el historial de chat, se devuelve el recuento total de tokens de ambos roles en el chat (total_tokens).
  • Para comprender qué tan grande será tu próximo turno conversacional, debes agregarlo al historial cuando llames a countTokens.

Cómo contar tokens de entrada multimodal

Ten en cuenta los siguientes puntos sobre el recuento de tokens con entrada multimodal:

  • De manera opcional, puedes llamar a countTokens en el texto y el archivo por separado.
  • Para ambas opciones de recuento de tokens, obtendrás el mismo recuento, ya sea que proporciones el archivo como datos intercalados o con su URL.

Archivos de entrada de imágenes

Los archivos de entrada de imágenes se convierten en tokens según sus dimensiones:

  • Entradas de imágenes con ambas dimensiones menores o iguales que 384 píxeles: Cada imagen se cuenta como 258 tokens.
  • Entradas de imágenes más grandes en una o ambas dimensiones: Cada imagen se corta y se ajusta según sea necesario en mosaicos de 768 × 768 píxeles, y luego cada mosaico se cuenta como 258 tokens.

Archivos de entrada de audio y video

Los archivos de entrada de audio y video se convierten en tokens a las siguientes tasas fijas:

  • Video: 263 tokens por segundo
  • Audio: 32 tokens por segundo

Archivos de entrada de documentos (como PDFs)

Los archivos PDF de entrada se tratan como imágenes, por lo que cada página de un PDF se tokeniza de la misma manera que una imagen.