DEV Community

Cover image for Comment utiliser l'API GLM-5.3 ?
Antoine Laurent
Antoine Laurent

Posted on Originally published at apidog.com

Comment utiliser l'API GLM-5.3 ?

Zhipu AI, le laboratoire chinois qui opère à l'international sous le nom de Z.ai, a lancé GLM-5.3 le 14 août 2026. Selon le rapport de lancement de BigGo, les évaluations internes indiquent une amélioration de 50 % des capacités de codage par rapport à GLM-5.2, tandis que le score Terminal-Bench 3.0 est passé de 4,6 à 28,3. Zhipu décrit les capacités de codage et d’agent du modèle comme « approchant Claude Fable 5 ». Les poids ouverts devraient suivre environ deux semaines après le lancement. Pour les capacités complètes et les benchmarks, consultez ce qu’est GLM-5.3 ; ce guide se concentre sur la prise en main de l’API.

Essayez Apidog dès aujourd’hui

Vous allez : créer une clé API, envoyer une première requête avec cURL, utiliser les SDK OpenAI en Python et Node.js, activer le streaming, régler les paramètres essentiels et valider vos requêtes dans Apidog avant l’intégration applicative.

L’API de Z.ai est compatible avec OpenAI : si vous utilisez déjà un endpoint de type OpenAI, vous pouvez réutiliser la majorité de votre code.

GLM-5.3 vient d’être lancé et la documentation Zhipu peut évoluer rapidement. Les éléments confirmés ci-dessous proviennent de la documentation officielle disponible au moment de la rédaction. Vérifiez l’ID de modèle, les quotas et la tarification avant un déploiement en production.

En bref

  • GLM-5.3 a été lancé le 14 août 2026. Zhipu rapporte +50 % sur le codage par rapport à GLM-5.2 et un score Terminal-Bench 3.0 de 28,3, contre 4,6 précédemment.
  • L’API est compatible avec OpenAI.
    • International : POST https://api.z.ai/api/paas/v4/chat/completions
    • Chine continentale : POST https://open.bigmodel.cn/api/paas/v4/chat/completions
  • L’authentification utilise Authorization: Bearer $GLM_API_KEY.
  • La documentation GLM-5 listait glm-5 comme ID de modèle au lancement. La convention suggère glm-5.3, mais confirmez-le avant de le coder en dur.
  • Zhipu n’avait pas publié de tarification propre à GLM-5.3 au lancement. La page de tarification officielle indiquait GLM-5.2 à 1,40 $ par million de jetons d’entrée et 4,40 $ par million de jetons de sortie.
  • Les poids ouverts sont attendus sur Hugging Face autour du 28 août 2026.
  • Testez vos prompts dans Apidog avant de les intégrer à votre application : variables d’environnement, réponses sauvegardées et comparaison de variantes limitent les appels facturés.

Pourquoi GLM-5.3 est important

Le modèle de base reste celui de la famille GLM-5. Les gains annoncés proviennent du post-entraînement. Zhipu rapporte notamment :

  • Terminal-Bench 3.0 : de 4,6 à 28,3 ;
  • une progression importante sur SWE-Marathon par rapport à GLM-5.2 ;
  • CyberGym à 84,5 % ;
  • ExploitBench à 54,4 %.

Ces chiffres sont des évaluations fournisseur : utilisez-les comme point de départ pour vos propres tests, pas comme garantie de performance en production.

Résultats de benchmark GLM-5.3

La famille GLM-5 utilise une architecture Mixture of Experts (MoE) avec 744 milliards de paramètres au total, environ 40 milliards actifs par passe avant et une fenêtre de contexte de 200K jetons, selon la documentation Z.ai. Ces caractéristiques concernent la famille GLM-5 et ne constituent pas nécessairement des spécifications exclusives à GLM-5.3.

Les poids ouverts annoncés font également de l’API un bon point de départ pour préparer une référence de régression. Si l’auto-hébergement est prévu, enregistrez dès maintenant vos prompts, sorties attendues, latences et consommations de jetons. Consultez aussi le guide de préparation à l’auto-hébergement de GLM-5.3.

Obtenir une clé API

Zhipu propose deux plateformes selon la région.

Z.ai : international

Inscrivez-vous sur z.ai, ouvrez la console API, puis créez une clé. La documentation est disponible sur docs.z.ai.

Utilisez cette plateforme si votre trafic provient de l’extérieur de la Chine continentale.

Bigmodel.cn : Chine continentale

La plateforme domestique est open.bigmodel.cn. Le format de l’API et l’authentification restent identiques, mais l’hôte et la facturation sont distincts.

Exportez votre clé dans une variable d’environnement :

export GLM_API_KEY="votre-cle-de-la-console"
Enter fullscreen mode Exit fullscreen mode

Ne stockez pas cette clé dans votre dépôt Git, votre code frontend ou vos fichiers de configuration versionnés.

Point de terminaison et authentification

Endpoint international :

POST https://api.z.ai/api/paas/v4/chat/completions
Enter fullscreen mode Exit fullscreen mode

Endpoint pour la Chine continentale :

POST https://open.bigmodel.cn/api/paas/v4/chat/completions
Enter fullscreen mode Exit fullscreen mode

Ajoutez les en-têtes suivants :

Authorization: Bearer $GLM_API_KEY
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

Le format est compatible avec les complétions de chat OpenAI :

  • requête : model et messages ;
  • réponse : choices, message, finish_reason et usage ;
  • streaming : via stream: true.

L’ID glm-5.3 est utilisé dans les exemples suivants, mais vérifiez la documentation GLM-5 avant de le déployer. Si cet ID renvoie une erreur dans votre région, essayez glm-5, qui correspond à la même famille de modèles.

Votre première requête avec cURL

Créez un fichier glm-request.sh :

curl "https://api.z.ai/api/paas/v4/chat/completions" \
  -H "Authorization: Bearer $GLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.3",
    "messages": [
      {
        "role": "system",
        "content": "Vous êtes un réviseur de code. Signalez les problèmes comme bloquants ou non bloquants."
      },
      {
        "role": "user",
        "content": "Vérifiez ce script shell pour la sécurité :\n\nrm -rf $BUILD_DIR/*\ncp dist/* $DEPLOY_TARGET"
      }
    ],
    "temperature": 0.3,
    "max_tokens": 1024
  }'
Enter fullscreen mode Exit fullscreen mode

Exécutez-le :

bash glm-request.sh
Enter fullscreen mode Exit fullscreen mode

La sortie suit le format OpenAI. Récupérez notamment :

choices[0].message.content
usage.prompt_tokens
usage.completion_tokens
Enter fullscreen mode Exit fullscreen mode

Pour les tests de code, commencez avec une température basse, par exemple 0.2 à 0.4, afin de réduire la variabilité des réponses.

Activer le raisonnement

La documentation mentionne le paramètre thinking :

"thinking": { "type": "enabled" }
Enter fullscreen mode Exit fullscreen mode

Activez-le pour des tâches de codage ou d’agent en plusieurs étapes. Désactivez-le pour les extractions simples, classifications ou réponses courtes où le raisonnement supplémentaire n’apporte pas de valeur.

Démarrage rapide avec Python

Installez le SDK OpenAI :

pip install --upgrade openai
Enter fullscreen mode Exit fullscreen mode

Puis configurez base_url pour Z.ai :

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GLM_API_KEY"],
    base_url="https://api.z.ai/api/paas/v4",
)

response = client.chat.completions.create(
    model="glm-5.3",
    messages=[
        {
            "role": "system",
            "content": "Vous êtes un réviseur de code. Signalez les problèmes comme bloquants ou non bloquants.",
        },
        {
            "role": "user",
            "content": (
                "Vérifiez cette route Flask pour les problèmes de sécurité :\n\n"
                "@app.route('/user/<id>')\n"
                "def get_user(id):\n"
                "    return db.execute(f'SELECT * FROM users WHERE id = {id}')"
            ),
        },
    ],
    temperature=0.3,
    max_tokens=2048,
)

print(response.choices[0].message.content)
print("Jetons d’entrée :", response.usage.prompt_tokens)
print("Jetons de sortie :", response.usage.completion_tokens)
Enter fullscreen mode Exit fullscreen mode

En production, journalisez au minimum :

  • le modèle ;
  • la latence ;
  • prompt_tokens ;
  • completion_tokens ;
  • finish_reason ;
  • le code HTTP en cas d’erreur.

Ces données vous permettront d’évaluer le coût réel lorsque la tarification spécifique à GLM-5.3 sera disponible.

Démarrage rapide avec Node.js

Installez le package :

npm install openai
Enter fullscreen mode Exit fullscreen mode

Utilisez ensuite la même interface que pour OpenAI :

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.GLM_API_KEY,
  baseURL: "https://api.z.ai/api/paas/v4",
});

const response = await client.chat.completions.create({
  model: "glm-5.3",
  messages: [
    {
      role: "system",
      content:
        "Vous êtes un agent d'automatisation de terminal. Renvoyez chaque étape comme une commande shell avec une justification en une ligne.",
    },
    {
      role: "user",
      content:
        "Un service Node sur le port 3000 a cessé de répondre après un déploiement. Donnez-moi une séquence de diagnostic.",
    },
  ],
  temperature: 0.3,
  max_tokens: 2048,
});

console.log(response.choices[0].message.content);
console.log("Usage :", response.usage);
Enter fullscreen mode Exit fullscreen mode

Si votre application appelle déjà OpenAI, créez une seconde instance OpenAI avec la baseURL de Z.ai, puis routez les requêtes selon le type de tâche. Cela permet de comparer GLM-5.3 à votre fournisseur actuel sans réécrire votre couche d’intégration.

Streaming

Activez le streaming avec stream=True en Python :

stream = client.chat.completions.create(
    model="glm-5.3",
    messages=[
        {
            "role": "user",
            "content": "Expliquez le problème de requête N+1 avec un exemple ORM concret.",
        }
    ],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
Enter fullscreen mode Exit fullscreen mode

Avec HTTP brut, ajoutez :

"stream": true
Enter fullscreen mode Exit fullscreen mode

La réponse est alors transmise en Server-Sent Events (SSE). Chaque ligne data: contient un delta au format compatible OpenAI.

Points pratiques :

  1. Le total des jetons est généralement disponible à la fin du flux.
  2. Fermez proprement le flux en cas d’annulation côté client.
  3. Avec thinking activé, le délai avant le premier jeton visible peut augmenter sur les tâches complexes.
  4. Mesurez le temps jusqu’au premier jeton, pas seulement la durée totale de la requête.

Paramètres importants

Paramètre Type Utilisation pratique
max_tokens entier Limite la taille de sortie. C’est votre principal levier de coût.
temperature nombre Utilisez 0.2 à 0.4 pour le code et l’extraction ; 0.7+ pour les tâches créatives.
thinking objet {"type":"enabled"} active le raisonnement pour les tâches multi-étapes.
stream booléen Active les réponses progressives via SSE.
messages tableau Utilise les rôles system, user et assistant.

Concernant les coûts, consultez toujours la page de tarification officielle. Au lancement, GLM-5.2 était listé à 1,40 $ par million de jetons d’entrée et 4,40 $ par million de jetons de sortie, tandis que GLM-5 était listé à 1,00 $ et 3,20 $.

Pour maîtriser vos dépenses :

  • limitez max_tokens ;
  • évitez thinking sur les requêtes triviales ;
  • réutilisez les prompts système stables ;
  • surveillez usage sur chaque route ;
  • mettez en cache les réponses déterministes lorsque c’est possible.

L’entrée en cache des modèles GLM payants bénéficie d’une réduction annoncée de 80 à 85 %. Structurez donc les prompts système répétitifs pour exploiter ce mécanisme. Pour une méthode plus large de contrôle des coûts, consultez cette analyse de l’augmentation de prix de DeepSeek.

Testez GLM-5.3 dans Apidog avant d’écrire le code applicatif

Tester des prompts directement dans un script implique souvent une boucle lente : modifier, relancer, retrouver la réponse, comparer, recommencer. Un client API comme Apidog permet de stabiliser le contrat de requête avant l’intégration.

Configuration recommandée

  1. Créez une requête POST /chat/completions.

Utilisez l’endpoint international ou continental et définissez un corps compatible OpenAI :

   {
     "model": "{{GLM_MODEL}}",
     "messages": [
       {
         "role": "user",
         "content": "Expliquez cette erreur de production."
       }
     ],
     "temperature": 0.3,
     "max_tokens": 1024
   }
Enter fullscreen mode Exit fullscreen mode
  1. Créez deux environnements.
  • zai-international
  • bigmodel-mainland

Définissez dans chaque environnement :

   BASE_URL=https://api.z.ai/api/paas/v4
   GLM_API_KEY=votre-cle
   GLM_MODEL=glm-5.3
Enter fullscreen mode Exit fullscreen mode

Pour l’environnement continental :

   BASE_URL=https://open.bigmodel.cn/api/paas/v4
Enter fullscreen mode Exit fullscreen mode
  1. Ajoutez l’authentification via variable.
   Authorization: Bearer {{GLM_API_KEY}}
Enter fullscreen mode Exit fullscreen mode

La clé ne doit jamais apparaître dans une requête enregistrée ou un exemple partagé.

  1. Placez l’ID de modèle dans {{GLM_MODEL}}.

Si l’ID évolue après le lancement, ou si vous voulez comparer glm-5.3 et glm-5.2, vous modifiez une seule variable.

  1. Comparez thinking activé et désactivé.

Dupliquez la même requête, activez le raisonnement sur une copie, puis comparez :

  • la qualité de réponse ;
  • le temps avant le premier jeton ;
  • la latence totale ;
  • l’utilisation des jetons.
  1. Enregistrez les bonnes réponses comme exemples ou fixtures.

Vous pourrez réutiliser ces réponses dans vos tests sans appeler l’API à chaque itération.

  1. Ajoutez des assertions de régression.

Vérifiez par exemple :

  • finish_reason ;
  • la présence de choices[0].message.content ;
  • un schéma JSON attendu ;
  • un plafond de jetons ;
  • l’absence de termes interdits ou de sorties vides.

Pour généraliser cette approche, consultez le guide de test d’API pour les ingénieurs QA.

Gestion des erreurs et limites de débit

Attendez-vous à des erreurs de style OpenAI avec un objet error contenant généralement message, type et code.

Cas fréquents :

Code Cause probable Action recommandée
400 Corps mal formé ou ID de modèle inconnu Validez le JSON et vérifiez le modèle configuré.
401 Clé absente, invalide ou révoquée Vérifiez GLM_API_KEY et l’en-tête Authorization.
429 Limite de débit dépassée Réessayez avec backoff exponentiel et jitter.
5xx Erreur transitoire du fournisseur Réessayez un nombre limité de fois.

Exemple de stratégie de retry en Python :

import random
import time
from openai import APIStatusError

def call_with_retry(request_fn, max_retries=4):
    for attempt in range(max_retries):
        try:
            return request_fn()
        except APIStatusError as error:
            retryable = error.status_code == 429 or error.status_code >= 500

            if not retryable or attempt == max_retries - 1:
                raise

            delay = min(2 ** attempt, 16) + random.uniform(0, 0.5)
            time.sleep(delay)
Enter fullscreen mode Exit fullscreen mode

Bonnes pratiques pour un lancement de modèle :

  • appliquez un backoff exponentiel avec jitter sur les 429 et 5xx ;
  • ne supposez pas de chiffres fixes pour les limites de débit ;
  • vérifiez les quotas dans la documentation officielle ;
  • conservez l’ID de modèle dans une variable de configuration ;
  • prévoyez un rollback vers glm-5.2 si nécessaire.

Le flux de débogage présenté pour l’API Grok s’applique aussi ici grâce à la compatibilité OpenAI.

FAQ

Quel est l’ID du modèle pour l’API GLM-5.3 ?

L’ID attendu est glm-5.3, suivant la convention de glm-5.2 et glm-5.1. Toutefois, la documentation GLM-5 listait glm-5 au lancement. Vérifiez la valeur actuelle avant un déploiement en production et conservez-la dans une variable de configuration.

L’API GLM-5.3 fonctionne-t-elle avec le SDK OpenAI ?

Oui. Les packages officiels openai pour Python et Node.js fonctionnent après avoir défini :

base_url=https://api.z.ai/api/paas/v4
Enter fullscreen mode Exit fullscreen mode

Pour la Chine continentale, utilisez l’hôte open.bigmodel.cn. Les formats de requête, de réponse et de streaming suivent le standard des complétions de chat OpenAI.

Combien coûte l’API GLM-5.3 ?

Zhipu n’avait pas publié de tarification spécifique à GLM-5.3 lors du lancement. Consultez la page de tarification officielle plutôt que les estimations de revendeurs.

À titre indicatif, GLM-5.2 était listé à 1,40 $ par million de jetons d’entrée et 4,40 $ par million de jetons de sortie.

Comment GLM-5.3 se compare-t-il à Claude et GPT ?

Zhipu indique que les capacités de codage et d’agent « approchent Claude Fable 5 », avec des résultats élevés sur certains benchmarks. Ces chiffres proviennent du fournisseur et doivent être validés sur vos jeux de tests, vos prompts et vos contraintes de production.

Pour une comparaison entre modèles, consultez Grok 4.6 vs GPT-5.6 vs Claude Fable 5.

Puis-je exécuter GLM-5.3 localement au lieu d’utiliser l’API ?

Pas encore au moment du lancement. Zhipu indique que les poids ouverts devraient être publiés environ deux semaines après la sortie, autour du 28 août 2026, sur son organisation Hugging Face.

La famille GLM-5 repose sur une architecture MoE de 744 milliards de paramètres. L’auto-hébergement est donc un sujet d’infrastructure serveur, pas un simple déploiement sur ordinateur portable.

Où GLM-5.3 s’intègre dans votre stack

Évaluez GLM-5.3 si votre produit exécute :

  • des revues de code ;
  • des assistants de terminal ;
  • des agents multi-étapes ;
  • des workflows de résolution d’incidents ;
  • des tâches d’automatisation logicielle.

Commencez par un test court et reproductible :

  1. créez une clé API ;
  2. exécutez la requête cURL ;
  3. importez la requête dans Apidog ;
  4. configurez les environnements régional et modèle ;
  5. testez thinking activé et désactivé sur vos prompts réels ;
  6. enregistrez les réponses et métriques comme références ;
  7. portez ensuite l’intégration vers Python ou Node.js.

Vous pouvez télécharger Apidog pour configurer ces environnements, versionner vos requêtes et transformer vos tests de fumée en suite de régression.

Top comments (0)