Saltar al contenido 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": "Hola, mundo"
    }
  ]
}
'
{
  "id": "msg_0842a705-9d0b-4eaa-b12d-09a4106326c5",
  "type": "message",
  "role": "assistant",
  "model": "glm-5.2",
  "content": [
    {
      "type": "thinking",
      "thinking": "El usuario pide saludar con una sola palabra, basta con responder \"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 predeterminada es https://direct.evolink.ai, que ofrece mejor compatibilidad con los modelos de texto y las conexiones de larga duración. https://api.evolink.ai es el endpoint principal para los servicios multimodales y sirve como dirección de respaldo para los modelos de texto.

Autorizaciones

Authorization
string
header
requerido

##Todas las API requieren autenticación con Bearer Token##

Obtener la API Key:

Visita la Página de gestión de API Keys para obtener tu API Key

Añadir al encabezado de la solicitud al usarla:

Authorization: Bearer YOUR_API_KEY

Nota: EvoLink usa de forma unificada la autenticación con Bearer Token para /v1/messages.

Cuerpo

application/json
model
enum<string>
requerido

Modelo a invocar

Opciones disponibles:
glm-5.2
Ejemplo:

"glm-5.2"

messages
object[]
requerido

Lista de mensajes de la conversación, alternando user / assistant por turnos

Notas:

  • Debe contener al menos 1 mensaje
  • El último mensaje suele ser role=user
  • Admite contexto de múltiples turnos, el modelo hará referencia a los mensajes históricos
Minimum array length: 1
max_tokens
integer

Especifica el límite superior de longitud del contenido generado (número de Tokens)

Notas:

  • Los tokens producidos por el thinking también se contabilizan en este límite
  • Al alcanzar el límite, el contenido se trunca y la respuesta devuelve stop_reason=max_tokens
Rango requerido: x >= 1
Ejemplo:

1024

system

Indicación de sistema, usada para definir el rol y el comportamiento de la IA

Notas:

  • Admite una cadena o un array de bloques de contenido
  • Se transfiere mediante el campo system de nivel superior (no lo incluyas en messages)
  • El modelo respetará las restricciones de system
  • ⚠️ Un system demasiado largo puede truncarse: si necesitas un contexto largo, colócalo en messages, no lo amontones todo en system
Ejemplo:

"You are a helpful assistant."

temperature
number

Temperatura de muestreo

Notas:

  • Cuanto más alto el valor, más diversa la salida; cuanto más bajo, más determinista
  • Rango recomendado [0, 1]
Rango requerido: 0 <= x <= 1
Ejemplo:

1

top_p
number

Umbral de muestreo por núcleo

Notas:

  • Rango [0, 1]
  • Se recomienda no ajustar temperature y top_p simultáneamente
Rango requerido: 0 <= x <= 1
Ejemplo:

0.9

top_k
integer

Muestrea solo entre los K tokens de mayor probabilidad (parámetro exclusivo de Anthropic)

Notas:

  • Cuanto más pequeño el valor, más determinista la salida; cuanto más grande, más diversos los candidatos
Rango requerido: x >= 0
Ejemplo:

10

stop_sequences
string[]

Secuencias de parada personalizadas: la generación se detiene cuando se encuentra cualquiera de estas cadenas

Notas:

  • Al encontrarla se trunca, el contenido anterior al punto de coincidencia se devuelve con normalidad
  • ⚠️ Atención: al encontrar una secuencia de parada, el stop_reason de GLM-5.2 devuelve end_turn (en lugar del stop_sequence estándar de Anthropic), y la respuesta tampoco incluye el campo stop_sequence. Si el cliente se basa en stop_reason=="stop_sequence" para detectar la coincidencia, necesitarás un manejo especial
Ejemplo:
["\n\n"]
stream
boolean
predeterminado:false

Si se devuelve en streaming mediante SSE

  • true: devolución en streaming mediante Server-Sent Events (secuencia de eventos estándar de Anthropic: message_start / content_block_start / content_block_delta / message_delta / message_stop)
  • false: devuelve la respuesta completa de una sola vez (predeterminado)
Ejemplo:

false

thinking
object

Controla el pensamiento profundo

Notas:

  • GLM-5.2 es un modelo de razonamiento, cuando no se transfiere este campo, el pensamiento está activado de forma predeterminada
  • Cuando está activado, en el array content de la respuesta aparece un bloque de proceso de razonamiento con type="thinking" (se factura como output token, signature puede ser una cadena vacía)
  • Pasa {"type":"disabled"} para desactivar el pensamiento, reduciendo notablemente los output tokens
  • ⚠️ Solo el interruptor binario type tiene efecto: parámetros de presupuesto/nivel de pensamiento como budget_tokens o effort no surten efecto (se ignoran), no se puede controlar con precisión la cantidad de pensamiento
tools
object[]

Lista de definiciones de herramientas

Notas:

  • Sigue la especificación de definición de tool de Anthropic
  • input_schema usa un objeto JSON Schema
  • El modelo devuelve un bloque tool_use estándar, con stop_reason=tool_use
tool_choice
object

Estrategia de selección de herramientas

metadata
object

Metadatos de la solicitud

Respuesta

Objeto de mensaje

Respuesta de mensaje al estilo de Anthropic

id
string

ID único del mensaje (formato: msg_<uuid>)

type
enum<string>

Tipo de objeto de respuesta

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

Modelo realmente utilizado

Ejemplo:

"glm-5.2"

content
object[]

Lista de bloques de contenido de la respuesta

Posibles block type:

  • thinking: proceso de razonamiento (cuando el pensamiento está activado, activado de forma predeterminada)
  • text: texto de la respuesta final
  • tool_use: llamada a herramienta iniciada por el modelo
stop_reason
enum<string>

Motivo de la parada

  • end_turn: finalización natural (⚠️ también devuelve este valor al encontrar stop_sequences)
  • max_tokens: se alcanzó el límite de max_tokens
  • tool_use: el modelo activó una llamada a herramienta
Opciones disponibles:
end_turn,
max_tokens,
tool_use
usage
object

Estadísticas de uso de tokens (especificación de Anthropic)