Introduction
GLM 5.3 est le grand modèle à long contexte de Z.ai, proposé ici sous la forme d’un point de terminaison compatible OpenAI sur /v1/chat/completions. Il lit jusqu’à 1 048 576 tokens répartis sur 256 messages au plus et répond en 131 072 tokens au plus : tout un corpus et l’argumentation qu’on en tire tiennent dans le même appel.
L’effort de raisonnement accepte low, high ou max, et max est déjà la valeur par défaut. temperature (de 0 à 1) et top_p sont acceptés, response_format renvoie du JSON, jusqu’à 128 outils peuvent être déclarés, le contenu des messages est uniquement textuel et les réponses sont diffusées en Server-Sent Events.
Fonctionnalités et points forts
La matière et le raisonnement dans un seul appel
Une longue fenêtre n’est que la moitié de la promesse ; l’autre moitié, c’est qu’une chaîne d’inférences tienne encore à cette longueur. Chargez un contrat-cadre avec ses avenants, ou une spécification avec le code qui l’implémente, et demandez des conclusions qui s’appuient sur des passages séparés par des centaines de pages.
Un échelon supérieur qui mérite ses tokens
low, high et max se distinguent sur les réponses où plusieurs choses doivent être justes à la fois : une déduction qui repose sur trois paragraphes jamais réunis, ou une modification qui doit respecter un invariant déclaré ailleurs. Réservez max à ces cas et utilisez low pour les passes mécaniques.
De la place pour l’argumentation, pas seulement le verdict
Une réponse peut atteindre 131 072 tokens : assez pour la conclusion, les pistes écartées et les citations qui tranchent. Demandez explicitement le raisonnement quand quelqu’un devra le vérifier.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
messages | Oui | 256 tours ordonnés au maximum, contenu texte uniquement. Mettez la matière dans un message user, et la question plus le format de sortie dans le message system. 1 éléments minimum · 256 éléments maximum |
reasoning_effort | Non | low, high ou max. |
stop | Non | Une seule séquence, sous forme de chaîne ou de tableau à un élément : Z.ai n’en lit qu’une. 1 caractères minimum · 1 éléments minimum · 1 éléments maximum |
max_tokens | Non | Plafonne la réponse à 131 072. 32 768 par défaut ; relevez-le quand vous demandez le raisonnement et pas seulement le verdict. |
seed | Non | N’importe quel entier. |
temperature | Non | 0 à 1, 1 par défaut. Gardez-le à 0 dès que la réponse est lue par du code. |
top_p | Non | 0,01 à 1, 0,95 par défaut. Ajustez celui-ci ou temperature, jamais les deux dans la même comparaison. |
tools | Non | Jusqu’à 128 définitions de fonctions par requête. 128 éléments maximum |
parallel_tool_calls | Non | true ou false, true par défaut : le modèle peut demander plusieurs appels d’outils dans un même tour. Valeur par défaut: |
tool_choice | Non | auto, none, required, ou un objet qui nomme une fonction. |
response_format | Non | Réclamez un objet JSON et nommez chaque clé dans le message system. |
Tarification
Entrée $1.05 / Sortie $3.30 par 1 million de tokens
Cas d’utilisation
Quatre documents et une question
Chargez un contrat-cadre et ses trois avenants dans une requête et demandez quelles clauses se contredisent désormais. La réponse tient à deux passages très éloignés, précisément là où une couche de recherche échoue : elle ramène ce qui semble pertinent pour la question, pas la paire qui se contredit.
Revue d’incident sur tous les artefacts
Placez la chronologie des alertes, le journal de déploiement, le diff de configuration et la transcription d’astreinte dans le même appel, et demandez la chaîne causale, avec les preuves de chaque maillon et les hypothèses écartées.
Des backends d’agents où un appel est une vraie action
Déclarez jusqu’à 128 fonctions – remboursement, changement de droits, escalade de ticket – et laissez tool_choice décider. Quand un appel déclenche une action réelle, savoir quand ne rien appeler compte autant que l’appel lui-même.
Guide de prompt et conseils pratiques
Charger tout le dossier, pas son résumé
Placez la matière dans un seul message utilisateur, du plus ancien au plus récent, et réservez le message système à la question, au format de sortie et au niveau de preuve attendu.
Demander le raisonnement, pas seulement le verdict
POST https://api.spicyapi.ai/v1/chat/completions avec {"model": "zai/glm-5.3", "messages": [{"role": "system", "content": "For every conflict, name both passages, quote one sentence from each, and say which one governs."}, {"role": "user", "content": "<the master agreement and its amendments>"}], "reasoning_effort": "max", "max_tokens": 32000, "temperature": 0}. temperature 0 rend une nouvelle exécution sur les mêmes documents directement comparable.
Prévoir le délai et le budget
L’appel est synchrone, et une fenêtre pleine en max peut mettre plusieurs minutes à revenir : dimensionnez le délai d’attente du client pour cette requête ou recevez la réponse en streaming. max_tokens vaut 32 768 par défaut et plafonne à 131 072 ; les parties image et fichier sont refusées, et un response_format JSON doit tout de même être analysé de votre côté.
Démarrage rapide de l’API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "zai/glm-5.3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.







