Guide
Traitement par lots (batch) : l'API à moitié prix
Envoyer des milliers de requêtes non urgentes à l'API Claude, Mistral ou Gemini pour 50 % du prix : limites, délais, résultats, pièges, d'après les docs.
Mis à jour le
Le traitement par lots (« batch ») consiste à envoyer d'un coup un grand nombre de requêtes qui n'ont pas besoin de réponse immédiate ; l'éditeur les traite en différé et vous facture 50 % du prix normal, en entrée comme en sortie. Anthropic, Mistral et Google le proposent. C'est la bonne option pour classer une base de fiches, résumer des archives, générer des descriptions de produits ou faire tourner une évaluation, pas pour un assistant qui répond en direct. Détails d'après les documentations lues le 15/11/2026.
Chez Claude : la Message Batches API
Une requête dans un lot est une requête Messages ordinaire, accompagnée d'un identifiant à vous, le custom_id (1 à 64 caractères : lettres, chiffres, tirets et tirets bas) :
curl https://api.anthropic.com/v1/messages/batches \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2026-10-21" \
-H "content-type: application/json" \
-d '{
"requests": [
{
"custom_id": "fiche-0001",
"params": {
"model": "claude-opus-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello, world"}]
}
}
]
}'
Le lot démarre avec le statut in_progress et passe à ended quand tout est traité. Vous interrogez son état, puis téléchargez les résultats, un par ligne (format JSONL, une ligne JSON par résultat).
Les limites à connaître
| Point | Règle |
|---|---|
| Taille d'un lot | 100 000 requêtes ou 256 Mo, le premier atteint |
| Délai | La plupart des lots finissent en moins d'une heure ; expiration au bout de 24 heures |
| Conservation des résultats | 29 jours après la création |
| Ordre des résultats | Non garanti : utilisez custom_id |
| Requêtes en file d'attente | 200 000 au palier Start, 300 000 au palier Build, 500 000 au palier Scale |
| Paramètres refusés | stream: true, le mode rapide (speed), fallbacks, max_tokens: 0 |
Presque tout le reste passe : images, outils, consignes système, conversations à plusieurs tours, réflexion étendue. Le traitement par lots n'est pas soumis aux limites de montée en charge.
Ce qui est facturé
Chaque résultat a l'un de quatre types : succeeded (réussi), errored (erreur), canceled (annulé) ou expired (expiré). Seules les requêtes réussies sont facturées ; les erreurs, annulations et expirations ne le sont pas. Exemple de prix, relevé le 15/11/2026 : Claude Sonnet 5.5 passe de 2 $ à 1 $ par million de jetons en entrée et de 10 $ à 5 $ en sortie.
Combiner lots et cache
Les remises se cumulent avec le prompt caching. Anthropic prévient toutefois que, les requêtes d'un lot étant traitées en parallèle et dans n'importe quel ordre, les lectures en cache se font « au mieux ». Comme un lot peut durer plus de 5 minutes, la documentation conseille le cache d'une heure pour les lots qui partagent un même début de prompt.
Chez Mistral
L'inférence par lots de Mistral annonce elle aussi une remise de 50 %. Les requêtes se préparent dans un fichier JSONL, chaque ligne contenant un custom_id et un body, puis le fichier est déposé par l'API des fichiers (avec l'usage « batch ») ou par le Studio. Un lot par fichier accepte jusqu'à 1 million de requêtes ; le lot « en ligne » (inline) sert pour moins de 10 000 requêtes. Un lot n'utilise qu'un seul modèle. Les statuts : QUEUED, RUNNING, SUCCESS, FAILED, TIMEOUT_EXCEEDED, CANCELLATION_REQUESTED, CANCELLED.
Attention : le traitement par lots n'est pas disponible sur les adresses régionales de Mistral (comme api.eu.mistral.ai). Si vous avez choisi l'adresse européenne pour vos données, vos lots passent par l'adresse mondiale, ou ne se font pas. Voir API d'IA en Europe.
Chez Google
La page tarifs de l'API Gemini donne un prix « Batch » pour chaque modèle, égal à la moitié du prix standard : par exemple 0,75 $ en entrée et 3,75 $ en sortie par million de jetons pour Gemini 4 Hydrogen, contre 1,50 $ et 7,50 $.
Bien découper ses tâches
- Listez ce qui peut attendre une nuit : enrichissement de fiches, traduction de catalogues, analyse de questionnaires, tests de non-régression d'un assistant.
- Donnez des
custom_idparlants (le numéro de la fiche, du document) : ils servent à rapprocher les résultats et à relancer seulement les échecs. - Traitez les résultats en flux plutôt qu'en un seul téléchargement : les fichiers peuvent être gros.
- Prévoyez la reprise : relancez dans un nouveau lot les requêtes
erroredouexpired.
Questions fréquentes
Combien de temps prend un lot chez Claude ?
La plupart des lots se terminent en moins d'une heure, selon Anthropic. Les résultats sont disponibles quand tout est traité ou au bout de 24 heures ; ce qui n'est pas traité en 24 heures expire et n'est pas facturé.
Les résultats reviennent-ils dans l'ordre d'envoi ?
Non. Chez Claude, l'ordre n'est pas garanti : rapprochez chaque résultat de sa requête grâce au champ custom_id.
Sources
Pages consultées pour écrire cet article :
- https://platform.claude.com/docs/en/build-with-claude/batch-processing
- https://platform.claude.com/docs/en/api/rate-limits
- https://platform.claude.com/docs/en/about-claude/pricing
- https://docs.mistral.ai/capabilities/batch/
- https://mistral.ai/pricing
- https://aistudio.google.com/docs/pricing
- https://docs.mistral.ai/inference/regional-inference