Introduction
GLM 5.3 Flash est le modèle de chat à 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, avec un effort de raisonnement low, high ou max.
max est la valeur par défaut. temperature (de 0 à 1) et top_p sont acceptés, response_format renvoie des objets JSON, jusqu’à 128 outils peuvent être déclarés par requête, le contenu des messages est du texte, des images et de la vidéo, et les réponses sont diffusées en Server-Sent Events si vous le demandez.
Fonctionnalités et points forts
Trois échelons d’effort de raisonnement
low, high et max figurent dans le même corps de requête. low convient à l’étiquetage et à l’extraction sur un gros export, high à la revue, et max – la valeur par défaut – aux réponses qui doivent tenir. Passer de l’un à l’autre change une chaîne, pas l’intégration.
Un million de tokens en entrée, un constat en sortie
La fenêtre prend 1 048 576 tokens et une réponse atteint 131 072, soit environ huit pour un. C’est la forme d’un travail qui consiste à lire un export, une archive de transcriptions ou un ensemble de documents, et à rendre des étiquettes, un tableau de synthèse ou une liste de constats plutôt qu’à réécrire ce que vous avez envoyé.
Une sortie structurée pour les pipelines
response_format avec json_object renvoie un objet que votre code peut analyser, et jusqu’à 128 outils permettent au modèle d’appeler vos systèmes. Nommez chaque clé dans le message système pour que la forme reste stable d’une exécution à l’autre, et validez avant que quoi que ce soit en aval n’agisse.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
messages | Oui | 256 tours ordonnés au maximum. Le contenu est une chaîne ou un tableau de parties text, |
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, soit un huitième de la fenêtre de lecture. 32 768 par défaut. |
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 |
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 $0.1275 / Sortie $0.425 par 1 million de tokens
Cas d’utilisation
Tri des tickets en low
Envoyez un export complet de tickets avec un jeu d’étiquettes fixe et demandez une étiquette par ticket en JSON. En low, l’exécution reste économique, et seuls les tickets rejetés par vos contrôles repartent en high.
Des questions sur une archive de transcriptions
Chargez des mois de transcriptions de réunions ou de support dans une requête et demandez où une décision a été prise et qui s’y est opposé, citations à l’appui. Rien n’ayant été découpé, la réponse peut citer ensemble une ligne de mars et une ligne de juillet.
Des assistants qui appellent des outils
Déclarez les fonctions que votre assistant a le droit d’utiliser – chercher, créer, mettre à jour – et laissez tool_choice décider quand les appeler. Les résultats reviennent comme messages de rôle tool, de sorte que tout l’échange reste dans une seule conversation.
Guide de prompt et conseils pratiques
Ne monter les échelons que là où il le faut
Faites la première passe en low, renvoyez en high ce qui a échoué à la validation, et gardez max pour les rares cas encore litigieux. Gardez des messages identiques d’une passe à l’autre pour que le niveau d’effort soit la seule variable.
Un appel d’étiquetage à copier
POST https://api.spicyapi.ai/v1/chat/completions avec {"model": "zai/glm-5.3-flash", "messages": [{"role": "system", "content": "Label each ticket with one of: billing, access, bug, feature. Return JSON: {\"labels\": [{\"id\": ..., \"label\": ...}]}."}, {"role": "user", "content": "<the ticket export>"}], "reasoning_effort": "low", "max_tokens": 20000, "response_format": {"type": "json_object"}}. Analysez l’objet, vérifiez que chaque identifiant est revenu et renvoyez les manquants.
Budget et limites
max_tokens vaut 32 768 par défaut et les tokens de raisonnement sont eux aussi facturés en sortie : gardez de la marge au-dessus de la réponse attendue ; au-delà de 131 072, la validation échoue. Les parties audio et fichier sont refusées, et un response_format JSON met la réponse en forme sans remplacer votre propre analyse.
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-flash/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.







