Guide de l'API GLM : GLM-5.2, GLM-5.3 et GLM-5.3-Flash
Appelez GLM-5.2, GLM-5.3 et GLM-5.3-Flash via APIMaster avec Python ou curl. Chat, Responses, Messages, streaming, JSON et appels d'outils testés.
Utilisez glm-5.2, glm-5.3 ou glm-5.3-flash avec une clé API APIMaster et l'URL de base https://apimaster.ai/v1. Pour les applications compatibles OpenAI, commencez par Chat Completions. Codex utilise Responses ; Claude Code utilise l'interface Messages.
Il s'agit de résultats d'intégration via la passerelle APIMaster, et non d'une affirmation selon laquelle chaque GLM en amont implémente nativement chaque protocole. GLM est la famille de modèles ; les SDK OpenAI et Anthropic fournissent les interfaces client.
Compatibilité testée
La validation a commencé le 2026-09-15 UTC, en utilisant le point de terminaison public APIMaster et un routage normal. Chaque modèle a réussi les vérifications suivantes :
| Vérification | glm-5.2 |
glm-5.3 |
glm-5.3-flash |
|---|---|---|---|
| Chat Completions : normal et en streaming | Réussi | Réussi | Réussi |
| Responses : normal et en streaming | Réussi | Réussi | Réussi |
| Messages : normal et en streaming | Réussi | Réussi | Réussi |
| Appel de fonction/outil et aller-retour du résultat d'outil, les trois protocoles | Réussi | Réussi | Réussi |
| Sortie d'objet JSON via Chat | Réussi | Réussi | Réussi |
Les tests de texte ont vérifié la réponse réelle et l'événement de fin de flux, et pas seulement le code HTTP 200. Les tests d'outils ont demandé une fonction météo, puis renvoyé un code de vérification fourni uniquement dans le résultat de l'outil. Il s'agit de vérifications fonctionnelles d'intégration, et non de benchmarks de débit ni d'un SLA de disponibilité. Les sessions longues, le contexte maximal, la vidéo et tous les paramètres avancés sont hors du périmètre de cette matrice de tests.
1. Obtenir une clé API
Créez une clé API APIMaster, activez le modèle souhaité et approvisionnez le compte. Utilisez les identifiants de modèles exacts indiqués ci-dessus. Une clé de BigModel, OpenAI ou Anthropic ne permet pas de s'authentifier auprès d'APIMaster.
macOS / Linux :
export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'
Windows PowerShell :
$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'
2. Appeler Chat Completions avec curl
curl --fail-with-body --max-time 120 'https://apimaster.ai/v1/chat/completions' \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"glm-5.3-flash","messages":[{"role":"user","content":"Reply with exactly GLM_API_OK."}],"max_tokens":2048}'
Lisez choices[0].message.content. Remplacez model par glm-5.2 ou glm-5.3 pour changer de modèle. Les modèles avec raisonnement peuvent consommer une partie du budget de sortie avant d'émettre la réponse finale.
3. Utiliser le SDK Python OpenAI
python -m pip install -U openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["APIMASTER_API_KEY"],
base_url="https://apimaster.ai/v1",
timeout=120.0,
)
response = client.chat.completions.create(
model="glm-5.3-flash",
messages=[{"role": "user", "content": "Reply with exactly GLM_API_OK."}],
max_tokens=2048,
)
print(response.choices[0].message.content)
Pour le streaming, définissez stream=True. Vérifiez la présence de choix vides : le dernier fragment d'utilisation peut contenir des données d'usage sans delta de texte.
stream = client.chat.completions.create(
model="glm-5.3-flash",
messages=[{"role": "user", "content": "Explain binary search briefly."}],
max_tokens=4096,
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
text = chunk.choices[0].delta.content
if text:
print(text, end="", flush=True)
if chunk.usage:
print("\nUsage:", chunk.usage)
Le premier événement peut contenir du raisonnement plutôt que le texte visible de la réponse. Conservez reasoning_content lorsque vous reportez des messages d'assistant dans une conversation avec outils sur les routes qui le renvoient ; ne reconstruisez pas le message d'assistant à partir du texte final seul.
4. Choisir le bon point de terminaison
| Application | URL de base | Point de terminaison de requête |
|---|---|---|
| SDK Python OpenAI / Chat | https://apimaster.ai/v1 |
/v1/chat/completions |
| API Responses / Codex | https://apimaster.ai/v1 |
/v1/responses |
| Claude Code | https://apimaster.ai |
/v1/messages |
Requête Responses minimale :
curl --fail-with-body --max-time 120 'https://apimaster.ai/v1/responses' \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"glm-5.3","input":"Reply with exactly GLM_API_OK.","max_output_tokens":2048}'
Lisez le texte des éléments de message dont le type de contenu est output_text ; gardez les éléments de raisonnement séparés. Pour le streaming, utilisez stream: true et vérifiez la présence de response.completed ou d'un événement d'erreur.
Paramètres et dépannage
| Situation | Action recommandée |
|---|---|
| 401 | Vérifiez la clé APIMaster et le compte qui l'a émise. |
| 404 | Utilisez l'URL de base attendue par votre client ; ne dupliquez pas /v1. |
| Réponse vide ou limite de sortie atteinte | Inspectez la raison de fin et l'usage du raisonnement ; augmentez le budget de sortie. |
| Sortie JSON | Chat response_format: {"type":"json_object"} a réussi un test JSON de base. Validez le JSON renvoyé dans votre application. |
reasoning.summary rejeté |
La prise en charge dépend de l'amont sélectionné. Omettez-le pour la configuration de base. Un test de passerelle réussi n'établit pas une prise en charge native par BigModel. |
thinking.type: disabled rejeté |
Le guide officiel du modèle GLM-5.3-Flash n'autorise que enabled ; n'exigez pas que la réflexion soit désactivée. |
| 429 / 5xx / flux interrompu | Notez l'ID de requête, le modèle, l'heure UTC et l'erreur. Utilisez des tentatives bornées lorsque c'est sûr ; ne répétez pas aveuglément des outils déjà exécutés. |
Foire aux questions
GLM-5.3-Flash est-il gratuit sur APIMaster ?
Le mot Flash fait partie du nom du modèle, ce n'est pas une promesse d'utilisation gratuite. Consultez le marketplace de modèles pour les prix actuels des routes et le portefeuille pour les frais réels.
Un taux de réussite de cache élevé s'applique-t-il à chaque requête ?
Non. La réutilisation du cache dépend de la correspondance des préfixes d'entrée et de l'amont. Inspectez l'usage renvoyé et vos journaux d'utilisation. Le taux de réussite de cache d'une charge de travail précédente ne constitue pas une garantie pour une nouvelle application.
Cela prouve-t-il une compatibilité totale avec OpenAI ou Anthropic ?
Cela établit les workflows de texte, de streaming, de JSON et d'outils testés. Les champs spécifiques au fournisseur, l'état stocké de Responses, la recherche web intégrée et le multimédia nécessitent une validation distincte.