La facture de l'API MiniMax ne se résume pas à un prix unitaire du token. Texte, voix, vidéo et images utilisent des unités différentes : un même compte peut cumuler des tokens, des durées, des caractères, des images et des exécutions de tâches. Un budget calculé sur le seul prix du texte sous-estime fortement les coûts dès qu'on ajoute la voix ou la vidéo.

Côté texte non plus, la facture n'est pas « nombre total de tokens × un prix ». Entrées, sorties et hits de cache sont facturés séparément, et un contexte long peut passer dans une tranche supérieure ; les retries et l'historique des messages gonflent l'usage réel.

Cet article décompose les unités de facturation par capacité, la structure de la facture texte, les points d'amplification liés au contexte long et aux retries, ainsi que les méthodes d'estimation et de rapprochement à partir du champ usage. Les prix unitaires précis figurent sur la page Tarifs et dans la documentation officielle.

Note : MiniMax est une marque de son titulaire. Cet article est purement technique et n'a aucun lien d'affiliation avec MiniMax. Les règles de facturation, noms de modèles et prix peuvent évoluer ; cet article s'appuie sur les documents publics d'octobre 2026, vérifiez les pages officielles avant tout achat.

1. Identifier l'unité de facturation de chaque capacité

La facturation à l'usage de MiniMax dépend de la capacité. La documentation officielle actuelle distingue approximativement :

Capacité Unité principale Point souvent négligé
Modèles de langage, certaines tâches vidéo Token (entrée, sortie et hits de cache séparés) Prompt système, historique et définitions d'outils comptent en entrée
Reconnaissance vocale Durée audio Les silences et les envois répétés occupent aussi de la durée
Synthèse vocale Caractères (par dizaines de milliers) Un caractère chinois compte pour deux, ponctuation et espaces inclus
Conception ou clonage de voix Frais uniques par voix Déduits à la première synthèse
Génération vidéo Secondes de sortie + matériel d'entrée Une régénération refacture le matériel d'entrée
Génération d'images Par image Vérifier d'abord la taille et le nombre
Appel d'outils, musique Par appel ou par morceau Une boucle d'agent accumule en continu

N'utilisez pas un « coût moyen par requête » pour couvrir toute l'activité. Service client texte, service client vocal et vidéo courte ont des structures de coût totalement différentes ; si vous n'utilisez que le texte, surveillez les trois postes de tokens ; dès que vous ajoutez voix ou vidéo, construisez un tableau de coûts séparé.

2. Les trois postes du texte : entrée, sortie et cache

Une requête texte se décompose généralement en entrée, sortie et hits de cache, certains modèles ajoutant l'écriture de cache. L'entrée ne se limite pas à la phrase de l'utilisateur : prompt système, historique, définitions d'outils et documents de recherche comptent aussi ; en conversation multi-tours, l'historique peut être renvoyé à chaque tour, ce qui accumule le plus vite.

Le cache sert à réutiliser les préfixes répétés. Le cache de prompts MiniMax fonctionne par correspondance de préfixe ; l'ordre officiel est : définitions d'outils, prompt système, historique. Le cache s'active automatiquement, mais l'entrée doit atteindre au moins 512 tokens. La partie en cache est facturée à un tarif d'entrée inférieur, les nouvelles entrées au tarif standard ; l'existence de frais d'écriture de cache dépend du modèle.

Coût d'un appel = entrée en cache × prix du cache + nouvelle entrée × prix d'entrée + sortie × prix de sortie ; ajoutez un poste si des frais d'écriture de cache s'appliquent.

Le poste le plus sous-estimé est la « nouvelle entrée ». Insérer le manuel complet à chaque tour, ou renvoyer au tour suivant la réponse complète d'un outil, le fait croître en continu. Le cache atténue les préfixes répétés, mais ne remplace ni la recherche ciblée ni le découpage.

3. Contexte long : 512k est une frontière tarifaire

Une grande fenêtre de contexte ne signifie pas un coût faible. La documentation officielle indique actuellement qu'au-delà de 512k tokens d'entrée, M3 passe dans une tranche tarifaire supérieure, entrées comme sorties étant facturées plus cher ; les seuils peuvent varier selon le modèle, voir le tableau tarifaire.

Le deuxième niveau de coût vient du nombre de tours : plus le contexte est long, plus chaque tour transporte d'historique. Si chaque tour conserve la conversation complète, l'entrée s'accumule et la facture croît plus vite que l'intuition ; les assistants de code, le questions-réponses documentaire et les tâches d'agent sont les plus exposés.

Trois actions prioritaires pour maîtriser le coût : réduire le périmètre par la recherche documentaire, résumer l'historique en roulant, et placer les contenus stables au début pour améliorer les hits de cache. N'étirez le contexte que lorsque le raisonnement croisé entre documents l'exige réellement.

4. Retries et requêtes échouées : ne pas supposer la gratuité

Chaque retry est une nouvelle requête, qui peut renvoyer l'entrée complète ; un renvoi automatique après 429 ou timeout, sans backoff ni limite, amplifie facilement l'usage. Pour les requêtes texte échouées, la documentation officielle ne formule pas d'engagement uniforme sur la facturation : fiez-vous à l'historique d'usage et à la facture. Côté vidéo, la règle est plus explicite : un échec de génération ou un blocage par la modération ne déduit pas de points ; voix et images suivent leurs propres documents.

Recommandations pratiques :

  • Ne retenter que les erreurs récupérables ; ne renvoyez pas les erreurs d'authentification ou de paramètres.
  • Utiliser un backoff exponentiel avec un nombre maximal de tentatives.
  • Journaliser le request ID, le modèle, la longueur d'entrée et le nombre de retries.
  • Valider d'abord le taux de succès des tâches par lots sur un petit échantillon.

5. Estimer de façon reproductible avec le champ usage

Ne devinez pas les tokens à partir du nombre de caractères. Lisez le champ usage après chaque appel et journalisez-le une semaine durant : vous obtiendrez la structure réelle de votre activité. Voici un exemple d'appel via un point d'entrée compatible OpenAI avec lecture des champs de cache :

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ZSQH_API_KEY"],
    base_url="https://ai.zhongshangqihang.com/v1",
)

resp = client.chat.completions.create(
    model="MiniMax-M3",  # nom de modèle selon la page tarifaire du site
    messages=[
        {"role": "system", "content": "Tu es un assistant client ; réponds en trois phrases maximum."},
        {"role": "user", "content": "Peut-on modifier l'adresse après l'expédition d'une commande ?"},
    ],
    max_completion_tokens=256,
)

usage = resp.usage
cached = 0
details = getattr(usage, "prompt_tokens_details", None)
if details is not None:
    cached = getattr(details, "cached_tokens", 0) or 0

print("entrée totale", usage.prompt_tokens)
print("hits de cache", cached)
print("nouvelle entrée", usage.prompt_tokens - cached)
print("sortie", usage.completion_tokens)

Consignez l'heure, le projet, le modèle, l'entrée, les hits de cache, la sortie et le nombre de retries, puis agrégez par projet, modèle et scénario. L'ordre de grandeur officiel est d'environ 1 600 caractères chinois pour 1 000 tokens, mais la variation est forte : le champ usage reste la référence.

Un budget par fourchettes basse, moyenne et haute est plus proche de la facture réelle qu'un chiffre unique. Taux de cache, longueur de sortie et proportion de retries fluctuent : une estimation par intervalle est plus prudente.

6. Ordre de réduction des coûts : mesurer avant de changer de modèle

  1. Mesurer : calculer avec usage et les journaux l'entrée, la sortie, les hits de cache et les retries de chaque fonction.
  2. Améliorer le cache : figer l'ordre des outils et le prompt système, déplacer horodatages et identifiants aléatoires en fin de requête.
  3. Réduire l'entrée : ne rappeler que les extraits pertinents, résumer l'historique, ne conserver que les champs utiles des retours d'outils.
  4. Limiter la sortie : fixer un max_completion_tokens raisonnable, demander du JSON ou des champs fixes.
  5. Router par modèle : classification et extraction sur un modèle léger, raisonnement complexe sur un modèle supérieur ; pour la latence, envisager une tranche prioritaire.
  6. Asynchronisme et alertes : mettre les tâches hors ligne en file, fixer budget par projet et par clé, avec alerte de solde bas.

N'inversez pas l'ordre. Changer d'abord pour un modèle plus économique sans traiter l'entrée ni le cache ne fait pas baisser la facture et dégrade la qualité.

7. Budget, facture et rapprochement

Le budget mensuel s'obtient en additionnant « usage par scénario × prix unitaire », puis en appliquant un coefficient de sécurité ; les prix unitaires viennent de la page Tarifs. Séparez les clés de test et de production, avec des plafonds distincts, pour éviter les prélèvements croisés.

Le rapprochement porte sur trois points : la structure des tokens correspond-elle aux journaux, la tranche de modèle est-elle correcte, et les échecs retentés produisent-ils des lignes supplémentaires. La facture du compte officiel se base sur le montant réellement payé ; la part couverte par des bons n'est généralement pas facturable.

Les équipes qui ont besoin d'une facture unifiée en yuans et d'un usage multi-modèles peuvent recharger et facturer via une passerelle IA locale ; prix, taux de change et règles de facture suivent la page tarifaire et la page de recharge du site.

Questions fréquentes

L'API MiniMax facture-t-elle par nombre d'appels ?

Pas exactement. Le texte est facturé au token, la reconnaissance vocale à la durée, la synthèse vocale au caractère, la vidéo à la seconde et au matériel, l'image à l'unité. Identifiez d'abord la capacité utilisée par votre activité.

Qu'est-ce qui coûte le plus cher, l'entrée ou la sortie ?

Pour la plupart des modèles, le prix de sortie dépasse celui de l'entrée, et l'entrée en cache est moins chère. Ne comparez pas seulement les prix unitaires : calculez le coût par appel selon votre ratio entrée/sortie.

Le contexte long est-il forcément plus cher ?

Pas forcément, mais le risque est plus élevé. Au-delà du seuil, la tranche tarifaire augmente, et l'historique transporté à chaque tour accumule l'entrée. Pour les tâches résolubles par recherche et résumé, ne remplissez pas tout le contexte.

Les retries échoués sont-ils facturés ?

Côté texte, la documentation officielle ne formule pas d'engagement uniforme ; un retry est une nouvelle requête, à vérifier dans l'usage et la facture. Côté vidéo, un échec de génération ou un blocage de modération ne déduit pas de points ; les autres capacités suivent leurs propres documents.

Pourquoi l'estimation ne correspond-elle pas à la facture ?

Les oublis courants : historique des messages, définitions d'outils, cache manqué, retries, sorties longues et différences de tranche. Le rapprochement par request ID avec les journaux permet de localiser l'écart.

Étape suivante

Créez d'abord une clé de test sur ZSQH AI Gateway, exécutez de vraies tâches pendant une semaine, enregistrez entrées, sorties, hits de cache et retries, puis convertissez le budget avec la page Tarifs.

Pour aller plus loin