Compter les jetons pour les modèles Gemini

Gemini modèles traitent les entrées et les sorties en unités appelées jetons.

Les jetons peuvent être des caractères uniques comme z ou des mots entiers comme cat. Les mots longs sont divisés en plusieurs jetons. L'ensemble de tous les jetons utilisés par le modèle est appelé vocabulaire, et le processus de division du texte en jetons est appelé tokenisation.

Pour les modèles Gemini, un jeton équivaut à environ quatre caractères. 100 jetons correspondent à environ 60 à 80 mots en anglais.

Chaque modèle dispose d'un nombre maximal de jetons qu'il peut gérer dans une requête et une réponse. Connaître le nombre de jetons de votre requête vous permet de savoir si vous avez dépassé cette limite. De plus, le coût d'une requête est déterminé en partie par le nombre de jetons d'entrée et de sortie. Il peut donc être utile de savoir comment compter les jetons.

Modèles compatibles

  • gemini-3.1-pro-preview
  • gemini-3-flash-preview
  • gemini-3.1-flash-lite-preview
  • gemini-3-pro-image-preview
  • gemini-3.1-flash-image-preview
  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite
  • gemini-2.0-flash-001 (et son alias mis à jour automatiquement gemini-2.0-flash)
  • gemini-2.0-flash-lite-001 (et son alias mis à jour automatiquement gemini-2.0-flash-lite)

Options de comptage des jetons

Toutes les entrées et sorties pour le Gemini API sont tokenisées, y compris le texte, les fichiers image et d'autres modalités non textuelles. Voici les options de comptage des jetons :

Vérifiez le nombre de jetons uniquement pour vos requêtes (avant de les envoyer au modèle).
Appelez countTokens avec l'entrée de la requête avant de l'envoyer au modèle. Cette opération renvoie :
  • total_tokens : nombre de jetons de l'entrée uniquement
Vérifiez le nombre de jetons pour vos requêtes et vos réponses.
Accédez à l'usageMetadata attribut de l' objet de réponse. Il inclut les éléments suivants :
  • prompt_token_count : nombre de jetons de l'entrée uniquement
  • candidates_token_count : nombre de jetons de la sortie uniquement (n'inclut pas les jetons de réflexion)
  • thoughts_token_count : nombre de jetons de réflexion utilisés pour générer la réponse
  • total_token_count : nombre total de jetons pour l'entrée et la sortie (inclut tous les jetons de réflexion)

Lors de la diffusion en flux continu, l'attribut usageMetadata n'apparaît que sur le dernier fragment du flux. Il est nil pour les fragments intermédiaires.

Notez les points suivants concernant les options ci-dessus :

  • Elles ne comptabilisent pas le nombre d'images d'entrée ni le nombre de secondes dans les fichiers d'entrée vidéo ou audio. Toutefois, le nombre de jetons pour chacune de ces modalités correspond à ces valeurs.
  • Le nombre de jetons d'entrée inclut la requête (texte et tous les fichiers d'entrée), ainsi que toutes les instructions et tous les outils système.
  • Le nombre de jetons de sortie n'inclut pas les jetons de réflexion. Ils sont fournis dans un champ distinct.
  • Consultez les informations supplémentaires spécifiques à chaque type de requête plus loin sur cette page.
  • Les modèles Gemini Live API ne sont pas compatibles avec countTokens. De plus, Firebase AI Logic n' est pas encore compatible avec l'attribut usageMetadata dans la réponse des Live API modèles, mais cela sera bientôt le cas.

Tarifs de ces options

  • Appel de countTokens : l'appel de countTokens (API Count Tokens) est sans frais. Le quota maximal pour l'API Count Tokens est de 3 000 requêtes par minute.

  • Utilisation de l'attribut usageMetadata : cet attribut est toujours renvoyé dans le cadre de la réponse et n'entraîne aucun jeton ni aucun frais.

Informations supplémentaires

Voici quelques informations supplémentaires lorsque vous utilisez des types de requêtes spécifiques.

Compter les jetons d'entrée de texte

Aucune information supplémentaire.

Compter les jetons multitours (chat)

Notez les points suivants concernant l'appel de countTokens lorsque vous utilisez le chat :

  • Si vous appelez countTokens avec l'historique de chat, le nombre total de jetons des deux rôles du chat est renvoyé (total_tokens).
  • Pour comprendre la taille de votre prochain tour de conversation, vous devez l'ajouter à l'historique lorsque vous appelez countTokens.

Compter les jetons d'entrée multimodaux

Notez les points suivants concernant le comptage des jetons avec une entrée multimodale :

  • Vous pouvez éventuellement appeler countTokens séparément sur le texte et le fichier.
  • Pour les deux options de comptage de jetons, vous obtiendrez le même nombre de jetons, que vous fournissiez le fichier en tant que données intégrées ou à l'aide de son URL.

Fichiers d'entrée image

Les fichiers d'entrée image sont convertis en jetons en fonction de leurs dimensions :

  • Entrées image dont les deux dimensions sont inférieures ou égales à 384 pixels : chaque image est comptabilisée comme 258 jetons.
  • Entrées image dont l'une ou les deux dimensions sont supérieures : chaque image est recadrée et mise à l'échelle si nécessaire en vignettes de 768 x 768 pixels, puis chaque vignette est comptabilisée comme 258 jetons.

Fichiers d'entrée vidéo et audio

Les fichiers d'entrée vidéo et audio sont convertis en jetons aux taux fixes suivants :

  • Vidéo : 263 jetons par seconde
  • Audio : 32 jetons par seconde

Fichiers d'entrée de document (comme les PDF)

Les fichiers d'entrée PDF sont traités comme des images. Par conséquent, chaque page d'un PDF est tokenisée de la même manière qu'une image.