Comptage des tokens de raisonnement
Sur cette page
Leçon réécrite le 3 novembre 2026 d’après la référence de l’API xAI (Chat Completions et Responses), le guide Reasoning et l’exemple Reasoning Effort Evals du cookbook : chez xAI,
completion_tokens(ououtput_tokens) ne compte que la réponse visible, le raisonnement est compté à part et le total additionne les trois ; le plafond de sortie ne limite pas le raisonnement. L’ancienne version affirmait l’inverse, utilisait des champs de Chat Completions sur une réponse de la Responses API, réglait un effort surgrok-4.20-0309-reasoningqui n’en accepte pas, et montrait une capture d’écran qui ne correspondait pas à l’API ; ces éléments sont corrigés ou retirés. Sources : Chat Completions · Responses · Reasoning Effort Evals.
Comprendre les tokens de raisonnement
Les modèles de raisonnement produisent deux sortes de tokens : ceux de la réponse visible, et ceux de la réflexion interne du modèle. Comprendre comment xAI les compte est essentiel pour maîtriser vos coûts et lire correctement vos tableaux de bord.
L’objet usage en Chat Completions
Chaque réponse inclut un objet usage qui détaille la consommation. Voici l’exemple de la référence de l’API Chat Completions de xAI :
{
"usage": {
"prompt_tokens": 32,
"completion_tokens": 9,
"total_tokens": 135,
"completion_tokens_details": {
"reasoning_tokens": 94
}
}
}
Dans cet exemple :
- prompt_tokens (32) : tokens du message d’entrée
- completion_tokens (9) : tokens de la réponse visible
- reasoning_tokens (94) : tokens consacrés au raisonnement interne
- total_tokens (135) : la somme des trois, 32 + 9 + 94
Le raisonnement n’est donc pas inclus dans completion_tokens : il s’y ajoute. Attention si vous venez d’une autre API où la convention diffère, ou si votre tableau de bord calcule la réponse visible par soustraction.
Accéder aux tokens de raisonnement en code
Dans la Responses API, les mêmes informations portent d’autres noms : input_tokens, output_tokens pour la réponse visible, et output_tokens_details.reasoning_tokens pour le raisonnement.
response = client.responses.create(
model="grok-4.7",
input="Résolvez l'intégrale de x^2 * e^x dx.",
reasoning={"effort": "high"},
)
reponse_visible = response.usage.output_tokens
raisonnement = response.usage.output_tokens_details.reasoning_tokens
sortie_facturee = reponse_visible + raisonnement
print(f"Tokens de raisonnement : {raisonnement}")
print(f"Tokens de réponse : {reponse_visible}")
print(f"Part du raisonnement : {raisonnement / sortie_facturee * 100:.0f} %")
L’effort se règle sur grok-4.7, grok-4.6 et grok-4.5 ; grok-4.20-0309-reasoning raisonne toujours, sans paramètre d’effort.
Facturation au tarif de sortie
Les tokens de raisonnement sont facturés au tarif des tokens de sortie, comme le rappelle l’exemple Reasoning Effort Evals du cookbook de xAI. Pour grok-4.7 à 6 $ par million de tokens en sortie (prompt sous 200 000 tokens), chaque token de raisonnement coûte le même prix qu’un token de réponse.
L’effort pèse donc sur la facture, mais pas toujours autant qu’on l’imagine. Dans ce même exemple, sur trente tickets de support courts traités par grok-4.7, les efforts medium, high et xhigh ont consommé à peu près autant de raisonnement — environ 600 tokens par réponse —, tandis que low en consommait environ 140 et coûtait deux fois moins cher, pour des scores tous compris entre 87 et 93 %. Mesurez sur vos propres données avant de choisir.
Exemple de calcul de coût
# grok-4.7 : 6.00 $/M tokens de sortie (prompt < 200k)
cout_par_token = 6.00 / 1_000_000
raisonnement = 600
reponse_visible = 350
sortie_facturee = raisonnement + reponse_visible # 950
cout = sortie_facturee * cout_par_token
print(f"Coût sortie : ${cout:.4f}") # $0.0057
Le rôle de max_completion_tokens
Le plafond de sortie — max_completion_tokens en Chat Completions, max_output_tokens dans la Responses API — ne s’applique qu’à la réponse visible : d’après la référence de l’API, les tokens de raisonnement et d’appels de fonction n’y comptent pas. Sans valeur, il vaut 128 000 tokens. Pour limiter le raisonnement, c’est l’effort qu’il faut régler (leçon 10).
{
"model": "grok-4.7",
"messages": [
{"role": "user", "content": "Expliquez la relativité restreinte."}
],
"reasoning_effort": "medium",
"max_completion_tokens": 2000
}
Tarifs vérifiés le 3 novembre 2026 — les prix évoluent régulièrement : avant tout calcul de budget, vérifiez la grille en vigueur sur la page officielle des modèles et tarifs xAI.
Points clés à retenir
- Les tokens de raisonnement sont dans
usage.completion_tokens_details.reasoning_tokens(Chat Completions) ouusage.output_tokens_details.reasoning_tokens(Responses) - Chez xAI,
completion_tokensetoutput_tokensne comptent que la réponse visible ; le total additionne entrée, réponse et raisonnement - Les tokens de raisonnement sont facturés au tarif de sortie
- Le plafond de sortie ne limite que la réponse visible ; l’effort règle le raisonnement
- L’écart de coût entre efforts dépend de la tâche : mesurez-le sur vos propres données