L'API Moonshot est l'interface de la plateforme ouverte de Moonshot AI. En 2026, cette plateforme a beaucoup changé : la console développeur a migré vers platform.kimi.com, la gamme principale est passée aux séries Kimi K3 et K2.7, et l'ancienne série moonshot-v1 a été retirée le 31 août 2026. Beaucoup de problèmes décrits comme « l'accès depuis la Chine ne fonctionne pas » viennent en réalité d'un point d'entrée, d'un nom de modèle ou d'une région de compte mal alignés, pas du réseau lui-même.

Cet article compare trois routes — accès direct, proxy auto-hébergé et passerelle IA nationale — et complète avec le réseau, le paiement et la facturation, la limitation de débit et la méthode d'acceptation de la bascule. Les modèles et les tarifs font foi sur la page Tarifs des modèles.

Remarque : Moonshot, Kimi et Moonshot AI (Yuezhi Anmian) sont des marques ou marques déposées de Beijing Moonshot Technology Co., Ltd. Cet article est purement technique et n'implique aucune affiliation avec les détenteurs. Les interfaces, modèles et règles de facturation suivent la documentation officielle.

1. Vérifier d'abord à quelle plateforme vous accédez

Trois niveaux faciles à confondre coexistent ; une erreur sur l'un d'eux provoque une panne :

  • Niveau marque : Moonshot AI est le nom de l'entreprise, Kimi le nom des modèles et du produit ; ce ne sont pas deux services indépendants.
  • Niveau plateforme : le site chinois est platform.kimi.com, le site international platform.kimi.ai. Comptes, soldes et clés sont totalement indépendants ; les mélanger renvoie un 401.
  • Niveau interface : le site chinois utilise couramment https://api.moonshot.cn/v1, le site international un autre domaine, à vérifier dans la documentation.

Par ailleurs, les clés de la plateforme ouverte, les abonnements du client Kimi et les produits comme Kimi Code ne sont pas interchangeables. Une clé prévue pour le client, utilisée sur la plateforme ouverte, échoue aussi à l'authentification. Confirmez d'abord la plateforme d'inscription et la ligne de produit de la clé avant de parler d'optimisation réseau.

2. Les trois routes dans un seul tableau

Critère Accès direct Proxy auto-hébergé Passerelle IA nationale
Point d'entrée Adresses officielles comme api.moonshot.cn Reverse proxy sur votre domaine Adresse unifiée compatible OpenAI
Compte et facturation Compte officiel, rechargement en yuans Facture officielle plus coût serveur Compte passerelle, facture unifiée en yuans
Périmètre de modèles Moonshot/Kimi uniquement Selon la configuration du proxy Plusieurs fournisseurs selon activation
Responsabilité d'exploitation Officielle et réseau local Entièrement à votre charge Partagée entre le prestataire et vous
Équipe adaptée Un seul modèle, accès stable, équipe capable de gérer les 429 Capacité d'exploitation, besoin d'un point de sortie et d'audit uniques Plusieurs modèles, besoin de factures, réduction de l'exploitation

Aucune route ne convient à tout le monde. L'ordre de décision : le métier peut-il tolérer une interruption, avez-vous besoin de plusieurs modèles et d'une facture unifiée, quelqu'un maintient-il les tentatives et la supervision ? Si les trois réponses sont simples, l'accès direct suffit ; dès que l'une se complique, ajoutez une couche.

3. Réseau : les quatre vrais points à vérifier

L'accès à l'API Moonshot depuis la Chine ne demande généralement aucun outil réseau supplémentaire, mais quatre problèmes sont souvent pris à tort pour une panne réseau :

  1. Région et clé incompatibles : une clé du site chinois avec une adresse internationale, ou l'inverse, renvoie directement un 401. Ce n'est pas un problème DNS.
  2. Proxy d'entreprise et interception TLS : un proxy qui réécrit les certificats ou une résolution DNS anormale se manifeste par une erreur de certificat, un timeout ou un 499.
  3. Timeouts sur requêtes longues : une requête non streamée sans réponse prolongée peut recevoir un 504 de la passerelle ; la documentation évoque le cas des 900 secondes. La génération de textes longs doit activer le streaming par défaut.
  4. Liste blanche IP du site international : le site international peut restreindre les IP appelantes ; une IP absente de la liste blanche de l'organisation renvoie un 403. Changer de réseau ne sert à rien, il faut configurer la console.

En production, activez aussi la réutilisation de connexion pour éviter une poignée de main à chaque requête ; pour le streaming, réglez un timeout d'inactivité et un heartbeat afin qu'un proxy intermédiaire ne coupe pas une connexion sans données.

4. Paiement et facturation : le point de blocage fréquent

Un test technique réussi ne signifie pas que la mise en production est possible ; les achats et la finance sont souvent le vrai goulot. Selon les indications officielles de 2026, la vérification d'entreprise exige un nom d'entreprise, un compte bancaire professionnel au même nom et un code d'identification sociale unifié ; la plateforme verse un montant aléatoire pour vérifier la propriété du compte. Un compte individuel peut être converti en compte entreprise, mais l'inverse n'est pas possible.

Pour le rechargement, un particulier peut utiliser WeChat ou Alipay ; une entreprise peut recharger en ligne ou par virement. Le virement doit partir d'un compte de l'entité vérifiée ; il prend généralement 1 à 5 jours ouvrés, puis environ 10 minutes pour être crédité. La facture se demande en ligne, sur le montant consommé ou rechargé, avec Beijing Moonshot comme émetteur et la catégorie « services techniques ». Le destinataire d'un compte entreprise ne peut être que l'entité vérifiée ; seul un compte individuel peut choisir un destinataire personnel ou société.

Si votre société exige un contrat, des délais de paiement ou une facture dédiée, passez d'abord par le canal commercial : ne découvrez pas l'incompatibilité après le rechargement. Les règles de paiement et de facturation varient selon les passerelles ; faites-les confirmer par écrit avant de signer.

5. Limitation : un 429 n'est pas une seule erreur

Les limites de Moonshot sont graduées selon le montant cumulé rechargé : plus le palier est élevé, plus la concurrence, le RPM, le TPM et le TPD sont larges. Les coupons n'entrent généralement pas dans le cumul, donc « recharger avec un coupon » ne fait pas forcément monter de palier. Le QPS de la recherche web est un quota distinct, calculé séparément du RPM et du TPM de l'interface de dialogue.

Un même 429 appelle des traitements différents :

  • engine_overloaded_error : surcharge serveur ; appliquez un backoff selon Retry-After, recharger ou monter de palier ne change rien.
  • rate_limit_reached_error : concurrence, RPM, TPM ou TPD de l'organisation dépassés ; ralentissez, mettez en file ou attendez la réinitialisation.
  • exceeded_current_quota_error : impayé ou quota insuffisant ; ne réessayez pas, traitez d'abord le solde.

La plateforme peut aussi déclencher une limitation de contrôle des risques sur un compte anormal, et la documentation indique qu'elle peut ne pas être levée. Un projet peut fixer un budget quotidien : une fois le plafond atteint, toutes ses requêtes sont refusées, avec un décalage d'environ 10 minutes dû à la facturation. Activez aussi l'alerte SMS de solde bas, pour ne pas découvrir l'impayé au moment du 429.

6. Bascule : utile uniquement pour les erreurs transitoires

La bascule ne consiste pas à « changer de route pour toutes les erreurs ». Un solde insuffisant, une clé erronée, un paramètre invalide ou un blocage de sécurité de contenu ne se règlent pas en changeant de canal, et cela aggrave la facture et le diagnostic. Voici une structure minimale :

import os
from openai import OpenAI

clients = [
    OpenAI(api_key=os.environ["PRIMARY_KEY"],
           base_url=os.environ["PRIMARY_BASE"], max_retries=0),
    OpenAI(api_key=os.environ["BACKUP_KEY"],
           base_url=os.environ["BACKUP_BASE"], max_retries=0),
]

def ask(prompt: str) -> str:
    last_error = None
    for client in clients:
        try:
            resp = client.chat.completions.create(
                model=os.environ["MODEL"],
                messages=[{"role": "user", "content": prompt}],
                max_completion_tokens=512,
                stream=False,
            )
            return resp.choices[0].message.content
        except Exception as exc:  # en production, distinguez selon error.type
            last_error = exc
            if "quota" in str(exc).lower() or "content_filter" in str(exc).lower():
                raise
    raise RuntimeError("Aucun canal principal ni de secours disponible") from last_error

Attention : les comptes du site chinois et du site international sont indépendants ; une prétendue « reprise après sinistre » ne se contente pas de changer l'URL de base, le canal de secours doit être créé, rechargé et validé séparément. Après bascule, journalisez request_id, nom de modèle, usage et durée, sinon vous ne saurez pas si le canal de secours fonctionne réellement.

7. Checklist avant mise en production

  1. Envoyez une requête minimale avec un modèle en vente actuel (kimi-k3, kimi-k2.6) et confirmez un retour 200.
  2. Validez séparément les formats Chat Completions, Responses et Anthropic Messages, pour couvrir les protocoles réellement utilisés par le projet.
  3. Vérifiez que model, usage et request_id sont présents dans la réponse et journalisables.
  4. Testez le streaming avec une sortie longue : retour par blocs, fin complète, absence de tampon dans le proxy intermédiaire.
  5. Provoquez volontairement 401, 404 et 429, et vérifiez que le client distingue correctement les types.
  6. Réglez les timeouts de connexion et de lecture, activez Keep-Alive, et configurez le budget quotidien et l'alerte de solde du projet.
  7. Observez pendant une semaine les latences p50 et p95 ainsi que les proportions de 429 et 5xx, pas seulement un test de charge ponctuel.
  8. Déroulez le processus de virement et de facturation, et confirmez contrat, facture et règles de remboursement.
  9. Conservez un canal direct de repli et documentez les conditions de bascule.

Ne basculez pas le cœur de métier si l'acceptation échoue. Une passerelle ajoute un saut et peut augmenter légèrement la latence ; sa valeur réside dans l'entrée unifiée, la bascule, la facturation et l'isolation des clés, pas dans un prétendu « accélérateur ».

Questions fréquentes

L'API Moonshot et le site web Kimi, est-ce la même chose ?

Non. Le site web est un produit grand public ; l'API Moonshot est une interface développeur. Les systèmes de comptes, la facturation et les clés sont différents.

Un accès direct depuis la Chine exige-t-il un outil réseau supplémentaire ?

Généralement non. Moonshot est un fournisseur chinois et l'interface du site chinois est accessible directement en Chine. Les causes réelles sont le plus souvent une région, une clé, un nom de modèle ou une configuration de proxy incorrects.

Le code utilisant l'ancien moonshot-v1 fonctionne-t-il encore ?

La série moonshot-v1 a été retirée le 31 août 2026 ; les appels renvoient désormais un 404. Migrez vers kimi-k3, kimi-k2.7 ou kimi-k2.6 selon la liste officielle des modèles, et vérifiez à nouveau les paramètres.

Le paiement entreprise passe-t-il obligatoirement par un virement ?

Non, ce n'est pas la seule voie. Après vérification de l'entreprise, vous pouvez choisir WeChat, Alipay ou le virement professionnel ; le virement est plus lent et convient aux équipes ayant un processus financier.

Que faire si un 429 ne disparaît pas ?

Regardez d'abord error.type. Si le quota est insuffisant, rechargez ; si la concurrence ou le TPD est dépassé, ralentissez et attendez la réinitialisation ; si le serveur est surchargé, appliquez un backoff selon Retry-After. Si le problème persiste, conservez request_id et contactez le support de la plateforme.

Pour aller plus loin

Si vous utilisez plusieurs modèles, avez besoin d'une facture unifiée ou d'un canal de secours, créez d'abord une clé de test sur ZSQH AI Gateway, comparez avec le même jeu de requêtes la latence, le taux d'erreur et la facture entre direct et passerelle, puis choisissez la route de production. Les modèles et la facturation font foi sur la page Tarifs des modèles.

Articles liés :