🔤 C'est quoi un token ?
La brique de base des LLM
Un token n'est pas un mot. Ce n'est pas non plus un caractère. C'est une unité intermédiaire que le modèle utilise pour « lire » et « écrire » du texte.
Concrètement, un tokenizer (algorithme de découpage) divise le texte en morceaux appelés sous-mots (subwords). Voici comment ça fonctionne :
| Texte original | Tokens (approximatif) | Nombre |
|---|---|---|
| "Hello world" | ["Hello", " world"] | 2 |
| "Bonjour le monde" | ["Bon", "jour", " le", " monde"] | 4 |
| "anticonstitutionnellement" | ["anti", "constit", "ution", "nelle", "ment"] | 5 |
| "GPT-4" | ["G", "PT", "-", "4"] | 4 |
Les règles de base à retenir
- En anglais : 1 token ≈ 4 caractères ≈ 0.75 mot
- En français : 1 token ≈ 3 caractères ≈ 0.5 mot (le français est ~30% plus « cher » en tokens)
- Les espaces comptent (souvent attachés au mot suivant)
- Les chiffres sont souvent découpés individuellement
- Le code est généralement efficace en tokens (mots-clés courts)
- Les caractères spéciaux et emojis peuvent coûter plusieurs tokens chacun
Pourquoi le français coûte plus cher
Les tokenizers sont principalement entraînés sur du texte anglais. Résultat : les mots anglais courants sont souvent un seul token, alors que leurs équivalents français sont découpés en plusieurs morceaux. Par exemple, avec le tokenizer de GPT-4, la phrase « The cat is on the table » compte 7 tokens, contre 8 pour « Le chat est sur la table ». De même, « Understanding » tient en 1 token, là où « Compréhension » en nécessite 3. Cet écart se retrouve sur la plupart des expressions courantes : « I need to automate this » (6 tokens) face à « J'ai besoin d'automatiser » (9 tokens).
💡 Astuce : pour compter précisément vos tokens, utilisez la bibliothèque tiktoken d'OpenAI (à installer via pip et à importer en Python pour encoder votre texte et obtenir le nombre exact de tokens) ou l'outil de comptage en ligne fourni dans la documentation d'Anthropic (qui permet de coller un texte et d'obtenir le décompte sans écrire de code).
Les différents tokenizers
Chaque famille de modèles utilise son propre tokenizer :
| Modèle | Tokenizer | Vocabulaire |
|---|---|---|
| GPT-4 / GPT-4o | cl100k_base / o200k_base | 100K-200K tokens |
| Claude 3/4 | Propriétaire Anthropic | ~100K tokens |
| Llama 3 | SentencePiece | 128K tokens |
| Gemini | SentencePiece | 256K tokens |
| Mistral | SentencePiece | 32K tokens |
Un même texte peut donc donner un nombre de tokens différent selon le modèle utilisé. C'est important pour estimer les coûts !
📐 La fenêtre de contexte : votre mémoire de travail
Qu'est-ce que le contexte ?
La fenêtre de contexte (context window) représente la quantité maximale de texte qu'un modèle peut « voir » en une seule fois. Elle inclut :
- Le system prompt (instructions de base)
- L'historique de conversation (messages précédents)
- Le message de l'utilisateur (votre question)
- La réponse du modèle (ce qu'il génère)
Tout ça doit tenir dans la fenêtre. Si ça dépasse → le modèle « oublie » les messages les plus anciens.
L'évolution spectaculaire des fenêtres de contexte
| Année | Modèle | Contexte | Équivalent texte |
|---|---|---|---|
| 2022 | GPT-3.5 | 4K tokens | ~3 000 mots |
| 2023 | GPT-4 | 8K-32K tokens | ~6 000-24 000 mots |
| 2023 | Claude 2 | 100K tokens | ~75 000 mots |
| 2024 | GPT-4 Turbo | 128K tokens | ~96 000 mots |
| 2024 | Claude 3 | 200K tokens | ~150 000 mots |
| 2024 | Gemini 1.5 Pro | 1M tokens | ~750 000 mots |
| 2025 | Gemini 2.0 | 2M tokens | ~1 500 000 mots |
| 2025 | Claude 3.5/4 | 200K tokens | ~150 000 mots |
| 2026 | Claude Opus 4 | 200K tokens | ~150 000 mots |
Pour mettre en perspective : 200K tokens, c'est environ un roman de 500 pages. 1M tokens, c'est toute l'œuvre de Harry Potter.
Contexte long : avantages et pièges
✅ Avantages d'un grand contexte :
- Analyser des documents entiers (contrats, rapports, code source)
- Maintenir de longues conversations sans perte de mémoire
- Fournir beaucoup d'exemples (few-shot learning)
⚠️ Pièges à éviter :
- Plus de contexte = plus cher (vous payez TOUS les tokens en input)
- "Lost in the middle" : les modèles ont tendance à moins bien utiliser les informations au milieu d'un long contexte
- Latence : plus le contexte est long, plus la réponse est lente
- Ce n'est pas de la mémoire : chaque requête re-traite tout le contexte depuis zéro
L'impact sur le coût est direct avec un modèle comme Claude Opus 4 (à $15/million de tokens en input). Une conversation courte de 2K tokens coûte environ $0.03, mais ajoutez un document de 50 pages (30K tokens) et le coût monte à $0.45. Avec un historique long atteignant 100K tokens, vous passez à $1.50. Et si vous remplissez la fenêtre maximale de 200K tokens, chaque message vous coûte $3.00 — et c'est uniquement l'input, à chaque envoi.
Stratégies pour gérer le contexte
- Résumé glissant : résumer périodiquement la conversation pour libérer de l'espace
- RAG (Retrieval Augmented Generation) : chercher uniquement les infos pertinentes au lieu de tout envoyer
- Chunking intelligent : découper les documents et n'envoyer que les parties utiles
- System prompts concis : chaque mot du system prompt est re-envoyé à chaque message
💰 Comment sont calculés les coûts
Le modèle input/output
La facturation des API de LLM repose sur un principe simple :
- Tokens en input (ce que vous envoyez) : prix X par million de tokens
- Tokens en output (ce que le modèle génère) : prix Y par million de tokens
- L'output coûte toujours plus cher que l'input (souvent 3 à 5x plus)
Pourquoi l'output coûte plus ? Parce que la génération demande beaucoup plus de calcul que la simple « lecture » de l'input.
Formule de calcul
Le coût total se calcule en deux étapes. D'abord, on multiplie le nombre de tokens en input par le prix au million, puis on divise par un million. Ensuite, on fait la même chose pour les tokens en output. La somme des deux donne le coût total. Prenons un exemple avec Claude Sonnet 4 ($3 input / $15 output par million) : si vous envoyez 2 000 tokens et que le modèle répond avec 500 tokens, le coût en input est de (2 000 × 3 / 1 000 000) = $0.006, et le coût en output est de (500 × 15 / 1 000 000) = $0.0075. Le coût total est donc de $0.0135, soit environ 1.3 centime.
Coûts cachés à surveiller
- System prompt : envoyé à CHAQUE requête, il s'accumule vite
- Historique de conversation : grandit à chaque échange
- Retries : si votre app retente automatiquement, vous payez double
- Streaming : même coût que non-streaming, mais la latence perçue diminue
- Images/fichiers : convertis en tokens (une image peut coûter 1K-10K tokens)
- Thinking/reasoning tokens : les modèles « penseurs » (o1, Claude with thinking) génèrent des tokens de réflexion facturés
📊 Tableau comparatif des prix 2026
Voici les prix actuels des principaux modèles (en dollars par million de tokens) :
Modèles Premium (raisonnement avancé)
| Modèle | Input $/M | Output $/M | Contexte | Idéal pour |
|---|---|---|---|---|
| Claude Opus 4 | $15 | $75 | 200K | Tâches complexes, code, analyse |
| GPT-4.5 | $75 | $150 | 128K | Créativité, nuance |
| o3 (OpenAI) | $10 | $40 | 200K | Raisonnement, maths, code |
| Gemini 2.0 Ultra | $7 | $21 | 2M | Gros contextes, multimodal |
Modèles Intermédiaires (meilleur rapport qualité/prix)
| Modèle | Input $/M | Output $/M | Contexte | Idéal pour |
|---|---|---|---|---|
| Claude Sonnet 4 | $3 | $15 | 200K | Usage quotidien, code |
| GPT-4o | $2.50 | $10 | 128K | Polyvalent, rapide |
| Gemini 2.0 Flash | $0.10 | $0.40 | 1M | Volume, long contexte |
| Llama 3.3 70B | $0.40 | $0.40 | 128K | Self-hosted, privé |
Modèles Économiques (volume élevé)
| Modèle | Input $/M | Output $/M | Contexte | Idéal pour |
|---|---|---|---|---|
| Claude Haiku 3.5 | $0.80 | $4 | 200K | Classification, extraction |
| GPT-4o mini | $0.15 | $0.60 | 128K | Tâches simples, volume |
| Gemini 2.0 Flash Lite | $0.02 | $0.10 | 1M | Ultra-volume |
| Mistral Small | $0.10 | $0.30 | 128K | Europe, RGPD |
⚠️ Note : ces prix évoluent rapidement. Vérifiez toujours les prix actuels sur les sites officiels. Les prix ci-dessus reflètent les tarifs de début 2026.
Pour choisir le modèle le plus adapté à vos besoins et à votre budget, consultez notre guide Claude, GPT, Gemini, Llama : quel modèle choisir en 2026 ?.
Coût par tâche type
Pour mieux visualiser, voici le coût estimé de tâches courantes :
| Tâche | Tokens (in+out) | Modèle éco | Modèle mid | Modèle premium |
|---|---|---|---|---|
| Question simple | 500+200 | $0.0002 | $0.005 | $0.02 |
| Résumé d'article | 3K+500 | $0.001 | $0.02 | $0.08 |
| Analyse document 20p | 15K+2K | $0.004 | $0.08 | $0.37 |
| Génération article long | 2K+4K | $0.003 | $0.07 | $0.33 |
| Session de code (1h) | 50K+20K | $0.02 | $0.45 | $1.75 |
| Agent autonome (tâche) | 200K+50K | $0.07 | $1.35 | $6.75 |
Si ces coûts vous semblent élevés pour votre usage, notre article sur l'utilisation de modèles gratuits sans sacrifier la qualité vous aidera à réduire la facture.
🧮 Calculer son budget mensuel
Méthode simple
Pour estimer votre budget mensuel, procédez étape par étape. D'abord, calculez le coût d'une seule requête : multipliez votre nombre moyen de tokens en input par le prix au million, divisez par un million, puis faites de même pour l'output. Additionnez les deux montants. Ensuite, multipliez ce coût par requête par le nombre de requêtes par jour, puis par 30 (jours). Par exemple, un développeur utilisant Claude Sonnet 4 avec 50 requêtes par jour, 3 000 tokens en input et 1 000 en output, paierait (3 000 × 3 / 1 000 000) + (1 000 × 15 / 1 000 000) = $0.024 par requête, soit $0.024 × 50 × 30 = $36.00 par mois.
Profils types de consommation
| Profil | Requêtes/jour | Modèle typique | Budget/mois |
|---|---|---|---|
| Curieux occasionnel | 5-10 | GPT-4o mini | $0.50-2 |
| Professionnel quotidien | 30-50 | Claude Sonnet 4 | $20-40 |
| Développeur intensif | 100-200 | Mix Sonnet/Haiku | $30-80 |
| Startup / Produit | 1K-10K | GPT-4o mini + Opus | $50-500 |
| Enterprise | 10K+ | Mix multi-modèles | $500+ |
💡 12 astuces pour réduire vos coûts
1. Choisir le bon modèle pour chaque tâche
Ne prenez pas un Ferrari pour aller acheter du pain. Utilisez un modèle économique pour les tâches simples et réservez les modèles premium pour les cas complexes.
Le routing intelligent consiste à classer vos tâches en trois catégories et à assigner un modèle différent à chacune. Les tâches simples (classification, extraction, reformulation) sont routées vers un modèle économique comme Claude Haiku 3.5 ($0.80/$4 par million). Les tâches intermédiaires (résumé, rédaction, code simple) vont vers Claude Sonnet 4 ($3/$15 par million). Enfin, les tâches complexes (analyse approfondie, raisonnement, code complexe) sont envoyées à Claude Opus 4 ($15/$75 par million). Cette seule stratégie peut diviser votre facture par 3 à 5.
2. Optimiser vos prompts
Un prompt concis mais précis coûte moins cher qu'un prompt verbeux. Éliminez les répétitions et les instructions inutiles. Pour aller plus loin, le prompting avancé fait vraiment la différence.
3. Utiliser le caching (prompt caching)
Claude et GPT supportent le prompt caching : si vous envoyez le même system prompt ou contexte répétitivement, les tokens cachés coûtent jusqu'à 90% moins cher. Sans cache, l'input sur Claude est facturé à $3/million. Avec le cache activé, les tokens déjà vus coûtent seulement $0.30/million (avec un léger surcoût de $3.75/million pour l'écriture dans le cache). Sur des requêtes répétitives avec un system prompt long, l'économie peut atteindre 90%.
4. Limiter l'historique de conversation
Ne gardez pas 100 messages d'historique. Résumez régulièrement ou ne gardez que les N derniers échanges.
5. Utiliser des modèles open-source en self-hosting
Pour du volume important, héberger Llama 3.3 ou Qwen3.6 : Alibaba débarque avec une nouvelle famille de modèles LLM sur votre propre GPU peut être bien plus rentable que les API.
6. Batching (regroupement de requêtes)
OpenAI et Anthropic proposent des batch APIs avec 50% de réduction pour les tâches non-urgentes.
7. Structured output pour réduire l'output
Demander du JSON structuré au lieu de texte libre réduit significativement les tokens en output. À titre de comparaison, une réponse verbeuse comme « Le sentiment de ce texte est positif. En effet, l'auteur utilise des mots comme "excellent", "formidable"... » consomme environ 200 tokens. Le même résultat en JSON structuré — {"sentiment": "positif", "score": 0.92, "mots_cles": ["excellent", "formidable"]} — ne consomme qu'environ 20 tokens, soit une réduction de 90%.
8. Pré-filtrer avec des modèles légers
Utilisez un modèle économique pour filtrer/classifier, puis envoyez uniquement les cas pertinents au modèle premium.
9. Mettre en place des limites de dépenses
Toutes les API proposent des spending limits. Configurez-les pour éviter les surprises.
10. Monitorer sa consommation
Utilisez les dashboards de votre provider ou des outils comme OpenRouter pour suivre vos dépenses en temps réel.
11. Compresser les documents avant envoi
Résumez ou extrayez les parties pertinentes d'un document avant de l'envoyer au LLM, plutôt que d'envoyer le document entier.
12. Utiliser un routeur de modèles
Des services comme OpenRouter permettent de basculer facilement entre modèles et de comparer les prix. C'est particulièrement utile avec les nouveaux modèles comme DeepSeek V4 qui changent la donne sur les tarifs.
🔧 Outils pratiques pour gérer ses tokens
Compter ses tokens
Pour compter vos tokens avec tiktoken (la bibliothèque d'OpenAI), installez-la via pip, puis importez-la dans votre script Python. Utilisez tiktoken.encoding_for_model("gpt-4o") pour obtenir l'encodeur adapté à votre modèle, puis appelez enc.encode(votre_texte) pour récupérer la liste des tokens et len() pour connaître leur nombre. Vous pouvez aussi décoder chaque token individuellement avec enc.decode([token]) pour voir comment le texte est découpé.
Côté Anthropic, installez le SDK Python officiel, initialisez un client Anthropic(), puis appelez client.count_tokens("Votre texte ici") pour obtenir directement le nombre de tokens tel que le modèle Claude le compterait. Cette méthode est plus fiable que tiktoken si vous ciblez spécifiquement l'API Claude, puisque chaque modèle a son propre tokenizer.
Surveiller ses dépenses avec OpenRouter
OpenRouter est un routeur multi-modèles qui offre un dashboard centralisé pour suivre vos coûts sur tous les providers. Pour vérifier votre consommation via son API, envoyez une requête GET vers https://openrouter.ai/api/v1/auth/key avec votre clé API en header (Authorization: Bearer VOTRE_CLE). La réponse inclut votre usage actuel, vos limites et les rate limits associées à votre clé.
❌ Erreurs courantes
- Ignorer les tokens de system prompt : votre system prompt est renvoyé à chaque message. Un prompt de 2 000 tokens envoyé 100 fois par jour = 200K tokens payés juste pour les instructions, sans compter le reste.
- Oublier l'historique : dans une conversation de 50 messages, l'historique peut représenter 80% des tokens facturés. Résumez ou tronquez régulièrement.
- Utiliser un modèle premium pour tout : une classification binaire ou une extraction de nom n'a pas besoin de Claude Opus 4. Haiku ou GPT-4o mini suffisent.
- Ne pas activer le caching : si votre system prompt ou votre document de référence est identique d'une requête à l'autre, le caching peut réduire l'input de 90%.
- Comparer les prix sans normaliser : un modèle à $0.10/M mais qui consomme 3x plus de tokens pour le même résultat n'est pas forcément moins cher qu'un modèle à $0.30/M.
❓ FAQ
Un token, c'est un mot ?
Non. En anglais, un token ≈ 0.75 mot. En français, c'est plutôt 0.5 mot. Les mots longs ou rares sont découpés en plusieurs tokens.
Pourquoi l'output coûte plus cher que l'input ?
La génération de texte (output) demande beaucoup plus de puissance de calcul que la simple lecture (input). Le modèle doit prédire chaque token suivant un par un.
Le caching fonctionne sur tous les modèles ?
Non. Claude et GPT le supportent, mais tous les providers et modèles ne l'implémentent pas. Vérifiez la documentation de votre modèle.
Combien coûte une image en tokens ?
Ça dépend de la résolution et du modèle. En général, une image coûte entre 1 000 et 10 000 tokens en input. Les images haute résolution peuvent monter plus haut.
Est-ce que le self-hosting est toujours moins cher ?
Pas forcément. Le self-hosting implique des coûts de GPU (location ou achat), de maintenance et d'énergie. Il devient rentable à partir d'un certain volume, généralement plusieurs millions de tokens par jour.
🛠️ Outils recommandés
| Outil | Usage | Lien |
|---|---|---|
| tiktoken | Compter les tokens (modèles OpenAI) | github.com/openai/tiktoken |
| Anthropic Tokenizer | Compter les tokens (modèles Claude) | Documentation Anthropic |
| OpenRouter | Router entre modèles, comparer les prix | openrouter.ai |
| LiteLLM | Proxy unifié pour multiplier les providers | github.com/BerriAI/litellm |
🎯 L'essentiel
- Un token ≈ 3-4 caractères, pas un mot entier
- La fenêtre de contexte englobe tout ce que le modèle « voit » : prompt, historique et réponse
- L'input (ce que vous envoyez) coûte moins cher que l'output (ce que le modèle génère), souvent 3 à 5x moins
- Les trois leviers d'optimisation les plus puissants : choisir le bon modèle pour chaque tâche, activer le prompt caching, et privilégier le structured output
- Ne payez pas pour la puissance dont vous n'avez pas besoin : un modèle économique bien prompté bat souvent un modèle premium mal utilisé
Conclusion
La facturation des LLM peut sembler complexe au premier abord, mais elle repose sur des mécanismes simples et prévisibles. En comprenant ce qu'est un token, comment la fenêtre de contexte impacte vos coûts, et comment le pricing input/output fonctionne, vous reprenez le contrôle de votre budget.
Les marges de manœuvre sont réelles. Entre le choix du modèle adapté à chaque tâche, le caching des prompts répétitifs, la réduction de l'output via des réponses structurées, et la surveillance active de votre consommation, il est tout à fait possible de diviser vos coûts par 5 à 10 sans sacrifier la qualité des résultats. La clé est de traiter vos dépenses en tokens comme vous traiteriez n'importe quel poste de coût dans un projet : avec de la mesure, du bon sens, et les bons outils.