Optimisation des coûtsAnalyse
Combien de tokens consomme une requête API ? Mesuré sur 3 tâches
Des chiffres d'usage réels de DeepSeek-V4-Flash : une question courte, un résumé de paragraphe et un e-mail converti en JSON, avec le coût de 1 000 requêtes et un script pour vos propres prompts.

Sur cette page
Demandez combien coûte une requête à une API d'IA et vous entendrez généralement « ça dépend ». C'est vrai, mais on ne peut pas planifier un budget là-dessus. Nous avons donc pris trois tâches du quotidien, les avons envoyées à DeepSeek-V4-Flash via l'API CheapTokens le 23 octobre 2026, et noté ce que disait le champ usage à chaque fois.
En bref : une question rapide a donné 110 tokens, un résumé de paragraphe 396, et la conversion d'un e-mail en JSON 299. Voici à quoi ressemblait chaque requête, ce qui est revenu, et ce que ça coûte.
Une question rapide#
Nous avons commencé par quelque chose que les gens demandent tout le temps aux assistants de chat : la différence entre git merge et git rebase, en deux ou trois phrases.

La question a pris 23 tokens, la réponse 87. C'est la première chose à remarquer : la réponse est presque quatre fois plus longue que la question, et c'est la sortie qui coûte le plus cher ; sur MiniMax-M2.7, c'est actuellement $0.15 par million de tokens de sortie contre $0.05 pour l'entrée. À ces tarifs, une requête comme celle-ci coûte $0.000014. Mille d'entre elles, $0.0142.
Voici cette requête exacte, si vous voulez voir les chiffres sur votre propre écran :
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
],
"max_tokens": 2048,
"temperature": 0.2
}'Les compteurs se trouvent dans le bloc usage à la fin de la réponse : prompt_tokens correspond à ce que vous avez envoyé, completion_ à ce que le modèle a écrit, total_tokens aux deux réunis.
Un résumé, et les tokens que vous ne lisez pas#
Deuxième tâche : réduire un court rapport d'incident à deux phrases. Les équipes font tourner ce genre de chose dans un modèle toute la journée : tickets, rapports, longs fils d'e-mails. Voici le prompt :
Summarize this incident report in two sentences.
On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.Et la réponse :
Mardi, un changement de configuration qui a réduit le pool de connexions à la base de données de 50 à 5 a provoqué des erreurs sur l'API de paiement pour environ 6 % des requêtes pendant le pic de l'après-midi, jusqu'à son annulation à 14 h 44. Pour éviter que cela se reproduise, la taille du pool est désormais validée en CI et une alerte se déclenche lorsque les temps d'attente de connexion dépassent les seuils.
Deux phrases, 331 caractères et 146 tokens de sortie. Cela semblait beaucoup pour si peu de texte, et la réponse a expliqué pourquoi : usage avait un champ de plus, reasoning_. Avant de répondre, le modèle a passé 76 tokens à réfléchir. Ils font partie des 146 (250 en entrée + 146 en sortie = 396 au total), donc environ la moitié de la sortie est allée dans un raisonnement qui ne fait pas partie du texte de la réponse, et il est facturé comme n'importe quel autre token de sortie.
Bon à savoir quand on planifie un budget : sur les tâches où le modèle s'arrête pour réfléchir, la sortie peut être sensiblement plus grosse que le texte que vous récupérez. Mille résumés comme celui-ci coûtent $0.0344.
Un e-mail en entrée, du JSON propre en sortie#
Troisième tâche : une confirmation de commande qui doit devenir un enregistrement en base de données.

Le modèle a renvoyé exactement les clés demandées et rien autour, pas de « Voici votre JSON ». Le total correspond à l'e-mail, et la date de livraison est revenue sous la forme 2026-11-03, déjà dans le format demandé. 199 tokens en entrée, 100 en sortie.
Ce qui frappe, c'est la densité : 100 tokens pour 276 caractères de JSON, alors que la réponse sur git a pris 87 tokens pour 421 caractères de texte brut. Les guillemets, accolades et virgules sont aussi des tokens, donc une sortie structurée coûte plus cher par caractère que de la prose. Mille e-mails comme celui-ci : $0.025.
Les trois côte à côte#
Faites défiler le tableau vers la droite →
| Tâche | Tokens en entrée | Tokens en sortie | 1 000 requêtes |
|---|---|---|---|
| Question rapide | 23 | 87 | $0.0142 |
| Résumé | 250 | 146 | $0.0344 |
| E-mail en JSON | 199 | 100 | $0.025 |
Les coûts sont calculés à partir de ces compteurs de tokens au prix actuel de MiniMax-M2.7, donc ils restent justes quand les prix changent.
La sortie l'emporte dans toutes les tâches, même le résumé, où nous avons envoyé plus que nous n'avons reçu. Le levier le plus simple sur votre facture est donc la longueur de la réponse : « en deux ou trois phrases » ou « renvoie uniquement du JSON » font un vrai travail.
Pour donner l'échelle : un bot de support qui répond à 2 000 questions rapides par jour, chacune comme la première, dépense environ $0.852 par mois sur MiniMax-M2.7. Un vrai chat renvoie son historique à chaque tour, donc l'entrée grossit à chaque message, mais pour des questions ponctuelles, c'est toute la facture.
Essayez sur vos propres prompts#
Vos prompts donneront des chiffres différents, et il faut une minute pour le savoir. Ce script envoie chaque prompt, ignore les réponses tronquées et affiche les tokens et le coût de 1 000 requêtes :
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])
MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00 # USD per 1M tokens: example values, use the current ones from the price list
PROMPTS = [
"What is the difference between git merge and git rebase? Answer in two or three sentences.",
# add your own prompts here
]
for prompt in PROMPTS:
r = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt}],
max_tokens=2048,
temperature=0.2,
)
if r.choices[0].finish_reason != "stop":
print("cut off at max_tokens, raise the limit:", prompt[:40])
continue
tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")Mettez les prix actuels dans PRICE_IN et PRICE_OUT : pour MiniMax-M2.7, c'est $0.05 par million de tokens d'entrée et $0.15 par million de tokens de sortie. Le premier prompt est celui de notre test ; les compteurs de tokens varient un peu d'un modèle à l'autre, donc attendez-vous à des chiffres dans la même plage que 23 en entrée et 87 en sortie. Il vous faudra le paquet openai (pip install openai) et votre clé dans CHEAPTOKENS_.
Si un chiffre semble bizarre : finish_ signifie que la réponse a atteint max_tokens (pourquoi les réponses s'arrêtent en milieu de phrase) ; un reasoning_tokens élevé explique une sortie plus grosse que le texte ; et la formule complète des prix d'entrée et de sortie se trouve dans tokens d'entrée vs de sortie.
Par où commencer#
Au total, en comptant l'entrée et la sortie ensemble, MiniMax-M2.7 sur CheapTokens est moins cher que le prix de référence d'OpenRouter pour les trois tâches ci-dessus. Il dispose d'un contexte de 180K, de réponses allant jusqu'à 8 192 tokens et d'un prix unique à toute heure. Rechargez votre solde, créez une clé et envoyez la requête curl du haut de cette page : la documentation couvre la clé et l'URL de base, la page DeepSeek contient le catalogue des modèles, et la tarification donne la liste des prix en direct.



