Passer au contenu principal
POST
/
v1
/
messages
curl --request POST \
  --url https://direct.evolink.ai/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "glm-5.2",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Bonjour, le monde"
    }
  ]
}
'
{
  "id": "msg_0842a705-9d0b-4eaa-b12d-09a4106326c5",
  "type": "message",
  "role": "assistant",
  "model": "glm-5.2",
  "content": [
    {
      "type": "thinking",
      "thinking": "L'utilisateur demande de saluer en un seul mot, il suffit de répondre « Hi ».",
      "signature": ""
    },
    {
      "type": "text",
      "text": "Hi."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 18,
    "output_tokens": 101,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  }
}
BaseURL : la BaseURL par défaut est 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.

Autorisations

Authorization
string
header
requis

##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

Remarque : EvoLink applique une authentification unifiée par Bearer Token pour /v1/messages.

Corps

application/json
model
enum<string>
requis

Le modèle à appeler

Options disponibles:
glm-5.2
Exemple:

"glm-5.2"

messages
object[]
requis

Liste des messages de la conversation, en alternance user / assistant par tour

Remarques :

  • Contient au moins 1 message
  • Le dernier message est généralement role=user
  • Prend en charge le contexte multi-tours, le modèle se réfère aux messages historiques
Minimum array length: 1
max_tokens
integer

Spécifie la limite supérieure de longueur du contenu généré (nombre de tokens)

Remarques :

  • Les tokens produits par la réflexion sont également comptabilisés dans cette limite
  • Lorsque la limite est atteinte, le contenu est tronqué et la réponse indique stop_reason=max_tokens
Plage requise: x >= 1
Exemple:

1024

system

Invite système, utilisée pour définir le rôle et le comportement de l'IA

Remarques :

  • Prend en charge une chaîne ou un tableau de blocs de contenu
  • Transmise via le champ system de premier niveau (ne pas la placer dans messages)
  • Le modèle respecte les contraintes du system
  • ⚠️ Un system trop long peut être tronqué : pour un long contexte, placez-le dans messages, n'entassez pas tout dans system
Exemple:

"You are a helpful assistant."

temperature
number

Température d'échantillonnage

Remarques :

  • Plus la valeur est élevée, plus la sortie est variée ; plus elle est basse, plus elle est déterministe
  • Plage recommandée [0, 1]
Plage requise: 0 <= x <= 1
Exemple:

1

top_p
number

Seuil d'échantillonnage par noyau

Remarques :

  • Plage [0, 1]
  • Il est recommandé de ne pas ajuster simultanément temperature et top_p
Plage requise: 0 <= x <= 1
Exemple:

0.9

top_k
integer

N'échantillonne que parmi les K tokens les plus probables (paramètre propre à Anthropic)

Remarques :

  • Plus la valeur est petite, plus la sortie est déterministe ; plus elle est grande, plus les candidats sont diversifiés
Plage requise: x >= 0
Exemple:

10

stop_sequences
string[]

Séquences d'arrêt personnalisées : la génération s'arrête lorsque l'une de ces chaînes est rencontrée

Remarques :

  • L'arrêt intervient dès la rencontre, le contenu situé avant est renvoyé normalement
  • ⚠️ Attention : lorsqu'une séquence d'arrêt est rencontrée, le stop_reason de GLM-5.2 renvoie end_turn (et non la valeur standard Anthropic stop_sequence), et la réponse ne contient pas non plus de champ stop_sequence. Si le client se fie à stop_reason=="stop_sequence" pour détecter la rencontre, un traitement particulier est nécessaire
Exemple:
["\n\n"]
stream
boolean
défaut:false

Indique s'il faut renvoyer en streaming SSE

  • true : renvoi en streaming via Server-Sent Events (séquence d'événements Anthropic standard : message_start / content_block_start / content_block_delta / message_delta / message_stop)
  • false : renvoi en une seule fois après la réponse complète (par défaut)
Exemple:

false

thinking
object

Contrôle la réflexion approfondie

Remarques :

  • GLM-5.2 est un modèle de raisonnement, la réflexion est activée par défaut lorsque ce champ n'est pas transmis
  • Lorsqu'elle est activée, le tableau content de la réponse contient un bloc de processus de raisonnement de type="thinking" (facturé au prorata des output tokens, le signature peut être une chaîne vide)
  • Transmettez {"type":"disabled"} pour désactiver la réflexion, ce qui réduit nettement les output tokens
  • ⚠️ Seul l'interrupteur binaire type est effectif : les paramètres de budget/niveau de réflexion tels que budget_tokens, effort n'ont pas d'effet (ils sont ignorés), il n'est pas possible de contrôler finement la quantité de réflexion
tools
object[]

Liste des définitions d'outils

Remarques :

  • Respecte les spécifications de définition d'outil Anthropic
  • input_schema utilise un objet JSON Schema
  • Le modèle renvoie un bloc tool_use standard, avec stop_reason=tool_use
tool_choice
object

Stratégie de sélection d'outil

metadata
object

Métadonnées de la requête

Réponse

Objet message

Réponse de message au style Anthropic

id
string

ID unique du message (format : msg_<uuid>)

type
enum<string>

Type d'objet de réponse

Options disponibles:
message
role
enum<string>
Options disponibles:
assistant
model
string

Modèle effectivement utilisé

Exemple:

"glm-5.2"

content
object[]

Liste des blocs de contenu de la réponse

Types de blocs possibles :

  • thinking : processus de raisonnement (lorsque la réflexion est activée, par défaut)
  • text : texte de la réponse finale
  • tool_use : appel d'outil initié par le modèle
stop_reason
enum<string>

Raison de l'arrêt

  • end_turn : fin naturelle (⚠️ renvoyé également lorsqu'une séquence stop_sequences est rencontrée)
  • max_tokens : limite max_tokens atteinte
  • tool_use : le modèle a déclenché un appel d'outil
Options disponibles:
end_turn,
max_tokens,
tool_use
usage
object

Statistiques d'utilisation des tokens (spécification Anthropic)