Compter les jetons pour les modèles Gemini

Les modèles Gemini 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 fractionnement 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 les compter.

Notez que les modèles Gemini 1.0 et 1.5 étaient également compatibles avec un nombre de "caractères facturables" et une tarification, mais comme ces modèles sont tous arrêtés ou le seront bientôt, cette page ne décrit rien concernant les caractères facturables.

Modèles compatibles

  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite-preview-06-17
  • 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)
  • gemini-2.0-flash-preview-image-generation

Options de comptabilisation des jetons

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

Vérifiez le nombre de jetons pour vos requêtes uniquement (avant de les envoyer au modèle).
Appelez
avec l'entrée de la requête avant de l'envoyer au modèle.countTokens Cette opération renvoie les valeurs suivantes :
  • total_tokens : nombre de jetons de l'entrée uniquement
Vérifiez le nombre de jetons pour vos requêtes et vos réponses.
 Utilisez l'attribut usageMetadata sur l'objet de réponse. Par exemple :
  • 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 (y compris les jetons de réflexion)

Lors de la diffusion du résultat, l'attribut usageMetadata n'apparaît que sur le dernier bloc du flux. nil pour les blocs intermédiaires.

Notez les points suivants concernant les options ci-dessus :

  • Ils 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 sera corrélé à ces valeurs.
  • Le nombre de jetons d'entrée inclut la requête (texte et fichiers d'entrée), ainsi que les instructions et outils système.
  • Le nombre de jetons de sortie n'inclut aucun jeton de réflexion. Ceux-ci sont fournis dans un champ distinct.
  • Consultez les informations supplémentaires spécifiques à chaque type de demande plus loin sur cette page.

Tarification de ces options

  • Appel de countTokens : l'appel de countTokens (API CountTokens) 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 la réponse et n'entraîne aucun jeton ni aucun frais.

Informations supplémentaires

Voici quelques informations supplémentaires à prendre en compte lorsque vous traitez des types de demandes spécifiques.

Compter les jetons d'entrée de texte

Aucune information supplémentaire.

Compter les jetons multitours (chat)

Voici ce que vous devez savoir lorsque vous appelez countTokens en utilisant le chat :

  • Si vous appelez countTokens avec l'historique des discussions, il renvoie le nombre total de jetons des deux rôles dans la discussion (total_tokens).
  • Pour comprendre l'ampleur de votre prochaine réponse conversationnelle, 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 sur le texte et le fichier séparément.
  • Pour les deux options de comptabilisation des jetons, vous obtiendrez le même nombre de jetons, que vous fournissiez le fichier sous forme de données intégrées ou à l'aide de son URL.

Fichiers d'entrée d'image

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

  • Images dont les deux dimensions sont inférieures ou égales à 384 pixels : chaque image est comptabilisée comme 258 jetons.
  • Images dont l'une ou les deux dimensions sont plus grandes : 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 type document (comme les PDF)

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