Facturation et optimisation des coûts
Les tokens de raisonnement sur votre facture
La facturation des tokens de raisonnement est un aspect critique de l’utilisation des modèles grok-4. Comme ces tokens sont facturés au tarif des tokens de sortie (le tarif le plus élevé), une utilisation non optimisée peut rapidement faire exploser les coûts.
Tarification par modèle
| Modèle | Entrée $/M | Sortie $/M | Entrée cachée $/M |
|---|---|---|---|
| grok-4.20-reasoning | $2.00 | $6.00 | $0.20 |
| grok-4-fast-reasoning | $0.20 | $0.50 | $0.05 |
Les tokens de raisonnement sont facturés au tarif de la colonne “Sortie”. Avec grok-4.20-reasoning, chaque million de tokens de raisonnement coûte 6,00 $. Avec grok-4-fast-reasoning, seulement 0,50 $.
Suivi des coûts avec cost_in_usd_ticks et cost_in_nano_usd
Certaines réponses de l’API xAI peuvent inclure des champs de coût directement dans l’objet usage :
cost_in_usd_ticks: coût en micro-unités de dollars (1 tick = une fraction de centime)cost_in_nano_usd: coût en nano-dollars (1 nano-dollar = 10^-9 USD)
Ces champs vous permettent de suivre les coûts requête par requête sans avoir à calculer manuellement à partir du nombre de tokens.
response = client.responses.create(
model="grok-4.20-reasoning",
input="Résolvez ce problème de programmation dynamique...",
reasoning={"effort": "high"}
)
# Calculer le coût manuellement
input_cost = response.usage.prompt_tokens * 2.00 / 1_000_000
output_cost = response.usage.completion_tokens * 6.00 / 1_000_000
total_cost = input_cost + output_cost
print(f"Coût entrée : ${input_cost:.6f}")
print(f"Coût sortie : ${output_cost:.6f}")
print(f"Coût total : ${total_cost:.6f}")
Stratégies d’optimisation des coûts
1. Adapter l’effort à la tâche
La première et plus efficace optimisation est de choisir le bon niveau d’effort. Un effort low peut consommer 10x moins de tokens de raisonnement qu’un effort high :
# Tri des requêtes par complexité
if complexite == "simple":
effort = "low" # ~100-300 tokens de raisonnement
elif complexite == "moyen":
effort = "medium" # ~500-1500 tokens de raisonnement
else:
effort = "high" # ~2000-5000+ tokens de raisonnement
2. Utiliser le bon modèle
Pour les tâches de raisonnement courantes, grok-4-fast-reasoning à 0,50 $/M en sortie est 12x moins cher que grok-4.20-reasoning à 6,00 $/M. Réservez le modèle premium aux tâches qui le nécessitent vraiment.
3. Exploiter le cache automatique
Le cache automatique de xAI réduit le coût des tokens d’entrée de 90 % pour grok-4.20-reasoning (de 2,00 $ à 0,20 $/M). Pour maximiser le taux de cache, utilisez le header x-grok-conv-id avec un UUID cohérent par conversation :
response = client.responses.create(
model="grok-4.20-reasoning",
input="Votre question...",
extra_headers={"x-grok-conv-id": "550e8400-e29b-41d4-a716-446655440000"}
)
4. Batch API pour les traitements en masse
La Batch API offre une réduction de 50 % sur les tarifs standard des tokens. Pour des analyses non urgentes (traitement de nuit, rapports hebdomadaires), c’est une économie substantielle :
- grok-4.20-reasoning en batch : 3,00 $/M en sortie au lieu de 6,00 $
- grok-4-fast-reasoning en batch : 0,25 $/M en sortie au lieu de 0,50 $
5. Limiter max_completion_tokens
Définissez un max_completion_tokens raisonnable pour éviter les raisonnements excessivement longs sur des questions simples.
Suivi budgétaire en production
class CostTracker:
def __init__(self):
self.total_cost = 0
self.request_count = 0
def track(self, response, model="grok-4.20-reasoning"):
rates = {
"grok-4.20-reasoning": {"input": 2.00, "output": 6.00},
"grok-4-fast-reasoning": {"input": 0.20, "output": 0.50}
}
rate = rates[model]
cost = (
response.usage.prompt_tokens * rate["input"] / 1e6 +
response.usage.completion_tokens * rate["output"] / 1e6
)
self.total_cost += cost
self.request_count += 1
return cost
Points clés à retenir
- Les tokens de raisonnement sont facturés au tarif des tokens de sortie
- Grok-4-fast-reasoning est 12x moins cher que grok-4.20-reasoning en sortie
- Le cache automatique réduit les coûts d’entrée de 90 %
- La Batch API offre 50 % de réduction sur tous les tokens
- Suivez vos coûts requête par requête pour éviter les surprises