curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "glm-5.3",
"messages": [
{
"role": "user",
"content": "Veuillez vous présenter"
}
]
}
'{
"id": "chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a",
"object": "chat.completion",
"request_id": "req-7f3a2c1e8b9d4f0a",
"created": 1777021417,
"model": "glm-5.3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Bonjour ! Je suis GLM-5.3, et je peux vous aider à réaliser diverses tâches comme la conversation, le raisonnement, la rédaction, le code, etc.",
"reasoning_content": "Laissez-moi d'abord analyser ce problème...",
"tool_calls": [
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 24,
"completion_tokens": 346,
"total_tokens": 370,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 321
}
},
"web_search": [
{
"icon": "<string>",
"title": "<string>",
"link": "<string>",
"media": "<string>",
"publish_date": "<string>",
"content": "<string>",
"refer": "<string>"
}
],
"content_filter": [
{
"role": "assistant",
"level": 1
}
]
}{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/credits"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error",
"param": "model"
}
}{
"error": {
"code": 404,
"message": "Specified model not found",
"type": "not_found_error",
"param": "model",
"fallback_suggestion": "glm-5.3"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 123,
"message": "<string>",
"type": "<string>",
"param": "<string>",
"fallback_suggestion": "<string>"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}API tous modèles GLM - Référence complète Chat Completions
- Appelez les modèles de la série GLM via le protocole OpenAI Chat Completions, le modèle précis étant choisi avec le paramètre
model - Traitement synchrone qui renvoie le contenu de la conversation en temps réel
- Conversation textuelle : conversation contextuelle à un ou plusieurs tours ;
glm-5.3-flashetglm-5.3-flashxprennent en plus en charge l’entrée image - Invite système : personnalisez le rôle et le comportement de l’IA via un message
role=system - Réflexion approfondie :
thinking.typecontrôle la chaîne de pensée etreasoning_effortrègle l’intensité du raisonnement ; le raisonnement est renvoyé dansreasoning_content - Streaming : les réponses en flux SSE sont prises en charge (
stream=true) - Appels d’outils : Function Calling et recherche web pris en charge (
web_search, jusqu’à 128 outils) - Sortie structurée : activez le mode JSON via
response_format
À propos des réponses en streaming : avec stream=true, les résultats arrivent par Server-Sent Events, chaque message ayant le format data: {JSON}, le flux se terminant par data: [DONE]. Chaque bloc de données (ChatCompletionChunk) contient id, created, model, choices et, en option, usage et content_filter ; à l’intérieur, choices[].delta renvoie de façon incrémentale role / content / reasoning_content / tool_calls, et choices[].finish_reason indique le motif d’arrêt dans le dernier bloc.
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "glm-5.3",
"messages": [
{
"role": "user",
"content": "Veuillez vous présenter"
}
]
}
'{
"id": "chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a",
"object": "chat.completion",
"request_id": "req-7f3a2c1e8b9d4f0a",
"created": 1777021417,
"model": "glm-5.3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Bonjour ! Je suis GLM-5.3, et je peux vous aider à réaliser diverses tâches comme la conversation, le raisonnement, la rédaction, le code, etc.",
"reasoning_content": "Laissez-moi d'abord analyser ce problème...",
"tool_calls": [
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 24,
"completion_tokens": 346,
"total_tokens": 370,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 321
}
},
"web_search": [
{
"icon": "<string>",
"title": "<string>",
"link": "<string>",
"media": "<string>",
"publish_date": "<string>",
"content": "<string>",
"refer": "<string>"
}
],
"content_filter": [
{
"role": "assistant",
"level": 1
}
]
}{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/credits"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error",
"param": "model"
}
}{
"error": {
"code": 404,
"message": "Specified model not found",
"type": "not_found_error",
"param": "model",
"fallback_suggestion": "glm-5.3"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 123,
"message": "<string>",
"type": "<string>",
"param": "<string>",
"fallback_suggestion": "<string>"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}https://direct.evolink.ai, qui offre une meilleure prise en charge des modèles textuels et des connexions de longue durée. https://api.evolink.ai est le point de terminaison principal pour les services multimodaux et sert d’adresse de repli pour les modèles textuels.enabled l’active et constitue la valeur par défaut de tous les modèles. disabled ne la désactive que sur glm-5.2.glm-5.3, glm-5.3-flash et glm-5.3-flashx réfléchissent toujours. disabled conserve le mode par défaut : il ne désactive pas la réflexion et ne définit pas l’effort sur low. Utilisez reasoning_effort=low pour réduire l’effort. Après le passage de glm-5.2 à la série 5.3, la réflexion reste active et ses tokens sont facturés en sortie, même si thinking.type=disabled est conservé.reasoning_effort: Effort de raisonnement, max par défaut.
Règles de compatibilité de glm-5.3 / glm-5.3-flash / glm-5.3-flashx
| Valeur fournie | Niveau de réflexion effectif |
|---|---|
low / high / max | Inchangé |
xhigh | max |
medium | high |
minimal / none | low ; réflexion toujours active |
minimal et none ne désactivent pas la réflexion de la série 5.3. Les tokens de réflexion sont facturés en sortie. Les valeurs inconnues restent inchangées, sans correspondance de compatibilité ; utilisez les valeurs indiquées. Ces correspondances ne s’appliquent pas à glm-5.2.
glm-5.2 accepte max, xhigh, high, medium, low, minimal et none. xhigh équivaut à max ; medium / low équivalent à high ; minimal / none peuvent désactiver la réflexion. thinking.type=disabled permet aussi de la désactiver. Utilisez max pour les tâches complexes comme la programmation.
- Chaîne : texte brut, pris en charge par tous les modèles
- Tableau de blocs de contenu : texte et images mélangés, pris en charge uniquement par
glm-5.3-flashetglm-5.3-flashx
glm-5.3 ou glm-5.2 renvoie une erreur.Autorisations
##Toutes les API nécessitent une authentification par Bearer Token##
Obtenir une clé API :
Visitez la page de gestion des clés API pour obtenir votre clé API
Ajouter à l'en-tête de requête :
Authorization: Bearer YOUR_API_KEY
Corps
Modèle à appeler :
| ID du modèle | Positionnement | Contrôle de la réflexion | Entrée image |
|---|---|---|---|
glm-5.3 | Modèle phare, progression générale sur l'ingénierie logicielle complexe et les tâches d'agent, avec des capacités de programmation nettement supérieures à la génération précédente ; contexte de 1M | Toujours active ; niveaux effectifs : low / high / max. Valeurs compatibles dans reasoning_effort. | Non prise en charge |
glm-5.3-flash | Modèle multimodal léger à architecture hybride d'attention creuse et linéaire, coût très faible et vision native ; contexte de 1M | Identique à glm-5.3 | Prise en charge, voir le champ messages |
glm-5.3-flashx | Modèle multimodal avec entrée image ; contexte de 1M | Identique à glm-5.3 | Prise en charge, voir le champ messages |
glm-5.2 | Modèle phare de la génération précédente, raisonnement complexe et contexte très long ; contexte de 1M | Désactivable via thinking.type: "disabled" ; reasoning_effort accepte les 7 niveaux | Non prise en charge |
glm-5.3, glm-5.3-flash, glm-5.3-flashx, glm-5.2 "glm-5.3"
Liste des messages de la conversation, contenant l'intégralité du contexte de la conversation en cours
Prend en charge quatre rôles : system, user, assistant, tool. Les messages de rôles différents ont des structures de champs différentes ; sélectionnez le rôle correspondant pour le consulter. Doit contenir au moins 1 message, et ne peut pas contenir uniquement des messages système ou des messages de l'assistant.
1- System Message
- User Message
- Assistant Message
- Tool Message
Show child attributes
Show child attributes
Indique s'il faut activer le mode de sortie en streaming
false: le modèle génère la réponse complète puis la renvoie en une seule fois (par défaut), adapté aux textes courts et au traitement par lotstrue: renvoie le contenu en temps réel bloc par bloc via Server-Sent Events (SSE), adapté au chat et aux textes longs ;data: [DONE]est renvoyé à la fin du flux
false
Contrôle l'activation de la chaîne de pensée (Chain of Thought)
Show child attributes
Show child attributes
Effort de raisonnement, max par défaut.
Règles de compatibilité de glm-5.3 / glm-5.3-flash / glm-5.3-flashx
| Valeur fournie | Niveau de réflexion effectif |
|---|---|
low / high / max | Inchangé |
xhigh | max |
medium | high |
minimal / none | low ; réflexion toujours active |
minimal et none ne désactivent pas la réflexion de la série 5.3. Les tokens de réflexion sont facturés en sortie. Les valeurs inconnues restent inchangées, sans correspondance de compatibilité ; utilisez les valeurs indiquées. Ces correspondances ne s’appliquent pas à glm-5.2.
glm-5.2 accepte max, xhigh, high, medium, low, minimal et none. xhigh équivaut à max ; medium / low équivalent à high ; minimal / none peuvent désactiver la réflexion. thinking.type=disabled permet aussi de la désactiver. Utilisez max pour les tâches complexes comme la programmation.
max, xhigh, high, medium, low, minimal, none "max"
Indique s'il faut activer la stratégie d'échantillonnage
true(par défaut) : utilisetemperature/top_ppour un échantillonnage aléatoire, sortie plus variéefalse: sélectionne toujours le mot le plus probable (décodage glouton), sortie plus déterministe ; dans ce cas,temperatureettop_psont ignorés
Pour les tâches nécessitant cohérence et reproductibilité (comme la génération de code, la traduction), il est recommandé de définir cette valeur sur false
true
Température d'échantillonnage, contrôle le caractère aléatoire et la créativité de la sortie
Remarques :
- Plage :
[0.0, 1.0], limitée à deux décimales - Valeurs plus élevées (par ex. 0.8) : plus aléatoire et plus créatif, adapté à l'écriture créative
- Valeurs plus basses (par ex. 0.2) : plus stable et plus déterministe, adapté aux questions factuelles et à la génération de code
- Valeur par défaut :
1.0
Recommandation : n'ajustez pas simultanément temperature et top_p
0 <= x <= 11
Paramètre d'échantillonnage par noyau (Nucleus Sampling), une méthode alternative à l'échantillonnage par temperature
Remarques :
- Plage :
[0.01, 1.0], limitée à deux décimales - Le modèle ne considère que les mots candidats dont la probabilité cumulée atteint
top_p; par exemple, 0.1 signifie ne considérer que les 10 % de mots les plus probables - Des valeurs plus petites produisent une sortie plus ciblée et plus cohérente ; des valeurs plus grandes augmentent la diversité
- Valeur par défaut :
0.95
Recommandation : n'ajustez pas simultanément temperature et top_p
0.01 <= x <= 10.95
Limite maximale du nombre de tokens de sortie du modèle
Remarque :
- La série GLM prend en charge jusqu'à 131 072 tokens (128K) en sortie ; il est conseillé de ne pas descendre sous
1024 - Lorsque
thinkingest actif, les tokens de la chaîne de pensée comptent aussi dans cette limite - Si la génération est tronquée pour cause de
length, essayez d'augmenter cette valeur
1 <= x <= 1310721024
Liste des outils que le modèle peut appeler
Remarque :
- L'appel de fonctions (
function) et la recherche web (web_search) sont pris en charge - Jusqu'à 128 fonctions
- Parmi eux,
web_searchest facturé séparément à l'appel lorsqu'une recherche a effectivement lieu ; les autres outils n'entraînent pas de frais supplémentaires
128- Outil Function
- Outil Web Search (recherche web)
Show child attributes
Show child attributes
Contrôle la manière dont le modèle choisit quelle fonction appeler
Remarques : n'a d'effet que lorsque le type d'outil est function, par défaut et uniquement auto est pris en charge (le modèle décide automatiquement s'il faut appeler un outil)
auto "auto"
Liste des mots d'arrêt
Remarques :
- Lorsque le texte généré par le modèle rencontre la chaîne spécifiée, la génération s'arrête immédiatement (le mot d'arrêt lui-même n'est pas inclus dans le texte renvoyé)
- Actuellement, un seul mot d'arrêt est pris en charge, au format
["stop_word1"], par exemple["Human:"]
4["Human:"]
Spécifie le format de sortie de la réponse du modèle, par défaut text
Remarques :
{ "type": "json_object" }active le mode JSON, le modèle renvoie des données au format JSON valide, adapté aux scénarios d'extraction de données structurées, etc.- Lors de l'utilisation du mode JSON, il est recommandé de demander explicitement une sortie JSON dans le message
systemouuser
Show child attributes
Show child attributes
Identifiant unique de la requête
Remarques :
- Transmis par le client, longueur de 6 à 64 caractères, il est recommandé d'utiliser le format UUID pour garantir l'unicité
- S'il n'est pas fourni, la plateforme le génère automatiquement
6 - 64"req-7f3a2c1e8b9d4f0a"
Identifiant unique de l'utilisateur final
Remarques : longueur de 6 à 128 caractères, il est recommandé d'utiliser un identifiant unique ne contenant pas d'informations sensibles ; cela peut aider la plateforme à surveiller et détecter les comportements abusifs
6 - 128"user-abc123456"
Réponse
Génération de conversation réussie
ID de la tâche
"chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a"
Type de réponse
chat.completion "chat.completion"
ID de la requête (retransmis lorsque request_id est fourni dans la requête)
"req-7f3a2c1e8b9d4f0a"
Heure de création de la requête, horodatage Unix (secondes)
1777021417
Nom du modèle
"glm-5.3"
Liste des réponses du modèle
Show child attributes
Show child attributes
Statistiques d'utilisation des tokens renvoyées à la fin de l'appel
Show child attributes
Show child attributes
Informations relatives à la recherche web, renvoyées lors de l'utilisation de l'outil web_search et qu'une recherche est effectuée
Show child attributes
Show child attributes
Informations relatives à la sécurité du contenu
Show child attributes
Show child attributes