Saltar al contenido principal
POST
/
v1
/
chat
/
completions
curl --request POST \
  --url https://direct.evolink.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "glm-5.2",
  "messages": [
    {
      "role": "user",
      "content": "Preséntate, por favor"
    }
  ]
}
'
{
  "id": "chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a",
  "object": "chat.completion",
  "request_id": "req-7f3a2c1e8b9d4f0a",
  "created": 1777021417,
  "model": "glm-5.2",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "¡Hola! Soy GLM-5.2 y puedo ayudarte con conversación, razonamiento, redacción, código y muchas otras tareas.",
        "reasoning_content": "Primero déjame analizar este problema...",
        "tool_calls": [
          {
            "id": "<string>",
            "function": {
              "name": "<string>",
              "arguments": "<string>"
            },
            "mcp": {
              "id": "<string>",
              "server_label": "<string>",
              "error": "<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": [
    {
      "level": 1
    }
  ]
}
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

Cuerpo

application/json
model
enum<string>
predeterminado:glm-5.2
requerido

Código del modelo a invocar

  • glm-5.2: modelo insignia más reciente, ofrece razonamiento complejo, contexto ultralargo y velocidad de inferencia extrema
Opciones disponibles:
glm-5.2
Ejemplo:

"glm-5.2"

messages
(System Message · object | User Message · object | Assistant Message · object | Tool Message · object)[]
requerido

Lista de mensajes de la conversación, contiene la información de contexto completa de la conversación actual

Admite cuatro roles: system, user, assistant, tool. Los mensajes con diferentes roles tienen distintas estructuras de campos; selecciona el rol correspondiente para verlas. Debe contener al menos 1 mensaje y no puede contener únicamente mensajes de sistema o del asistente.

Minimum array length: 1
stream
boolean
predeterminado:false

Si se debe activar el modo de salida en streaming

  • false: el modelo genera la respuesta completa y la devuelve de una sola vez (predeterminado), adecuado para textos cortos y procesamiento por lotes
  • true: devuelve la respuesta en fragmentos en tiempo real mediante Server-Sent Events (SSE), adecuado para chat y textos largos; al finalizar el stream se devuelve data: [DONE]
Ejemplo:

false

thinking
object

Controla si se activa la cadena de pensamiento (Chain of Thought)

reasoning_effort
enum<string>
predeterminado:max

Controla el grado de razonamiento del modelo (capacidad exclusiva de GLM-5.2)

Notas:

  • Solo tiene efecto cuando thinking está activado, predeterminado max
  • Valores de mayor a menor: max > xhigh > high > medium > low > minimal > none

Reglas de mapeo de GLM-5.2 (por compatibilidad con otros protocolos):

  • xhigh → equivale a max
  • low / medium → equivalen a high
  • none / minimal → renuncia al pensamiento (no realiza razonamiento profundo)
Opciones disponibles:
max,
xhigh,
high,
medium,
low,
minimal,
none
Ejemplo:

"max"

do_sample
boolean
predeterminado:true

Si se debe activar la estrategia de muestreo

  • true (predeterminado): usa temperature / top_p para el muestreo aleatorio, con una salida más variada
  • false: siempre selecciona la palabra de mayor probabilidad (decodificación voraz), con una salida más determinista; en este caso, temperature y top_p se ignoran

Para tareas que requieren coherencia y reproducibilidad (como la generación de código o la traducción), se recomienda establecerlo en false

Ejemplo:

true

temperature
number<float>
predeterminado:1

Temperatura de muestreo, controla la aleatoriedad y la creatividad de la salida

Notas:

  • Rango: [0.0, 1.0], limitado a dos decimales
  • Valores más altos (p. ej. 0.8): más aleatorio y creativo, adecuado para la escritura creativa
  • Valores más bajos (p. ej. 0.2): más estable y determinista, adecuado para preguntas factuales y generación de código
  • Valor predeterminado de GLM-5.2: 1.0

Recomendación: no ajustes temperature y top_p simultáneamente

Rango requerido: 0 <= x <= 1
Ejemplo:

1

top_p
number<float>
predeterminado:0.95

Parámetro de muestreo por núcleo (Nucleus Sampling), es una alternativa al muestreo por temperature

Notas:

  • Rango: [0.01, 1.0], limitado a dos decimales
  • El modelo solo considera los tokens candidatos cuya probabilidad acumulada alcanza top_p; por ejemplo, 0.1 significa considerar solo los tokens del primer 10 % de probabilidad
  • Los valores más pequeños producen una salida más enfocada y coherente; los valores más grandes aumentan la diversidad
  • Valor predeterminado de GLM-5.2: 0.95

Recomendación: no ajustes temperature y top_p simultáneamente

Rango requerido: 0.01 <= x <= 1
Ejemplo:

0.95

max_tokens
integer

Límite máximo del número de tokens de salida del modelo

Notas:

  • GLM-5.2 admite una longitud de salida máxima de 131,072 tokens (128K), se recomienda establecer no menos de 1024
  • Cuando thinking está activado, los tokens de la cadena de pensamiento también cuentan para este límite
  • Si la generación se interrumpe por el motivo length, intenta aumentar este valor
Rango requerido: 1 <= x <= 131072
Ejemplo:

1024

tools
(Herramienta Function · object | Herramienta Retrieval (recuperación de base de conocimiento) · object | Herramienta Web Search (búsqueda web) · object | Herramienta MCP · object)[]

Lista de herramientas que el modelo puede invocar

Notas:

  • Admite llamada a funciones (function), recuperación de base de conocimiento (retrieval), búsqueda web (web_search) y MCP (mcp)
  • Admite hasta 128 funciones
Maximum array length: 128
tool_choice
enum<string>
predeterminado:auto

Controla la forma en que el modelo elige qué función invocar

Notas: solo tiene efecto cuando el tipo de herramienta es function, y de forma predeterminada solo admite auto (el modelo decide automáticamente si invoca una herramienta)

Opciones disponibles:
auto
Ejemplo:

"auto"

stop
string[]

Lista de palabras de parada

Notas:

  • Cuando el texto generado por el modelo encuentra la cadena especificada, detiene la generación de inmediato (la palabra de parada en sí no se incluye en el texto devuelto)
  • Actualmente solo se admite una única palabra de parada, con el formato ["stop_word1"], por ejemplo ["Human:"]
Maximum array length: 4
Ejemplo:
["Human:"]
response_format
object

Especifica el formato de salida de la respuesta del modelo, predeterminado text

Notas:

  • { "type": "json_object" } activa el modo JSON, y el modelo devuelve datos en formato JSON válido, adecuado para escenarios como la extracción de datos estructurados
  • Al usar el modo JSON, se recomienda solicitar explícitamente la salida en JSON en el mensaje system o user
request_id
string

Identificador único de la solicitud

Notas:

  • Lo transfiere el cliente, con una longitud de 6 a 64 caracteres; se recomienda usar el formato UUID para garantizar la unicidad
  • Si no se proporciona, la plataforma lo genera automáticamente
Required string length: 6 - 64
Ejemplo:

"req-7f3a2c1e8b9d4f0a"

user_id
string

Identificador único del usuario final

Notas: longitud de 6 a 128 caracteres; se recomienda usar un identificador único que no contenga información sensible, lo que ayuda a la plataforma a supervisar y detectar comportamientos abusivos

Required string length: 6 - 128
Ejemplo:

"user-abc123456"

Respuesta

Generación de chat exitosa

id
string

ID de la tarea

Ejemplo:

"chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a"

object
enum<string>

Tipo de respuesta

Opciones disponibles:
chat.completion
Ejemplo:

"chat.completion"

request_id
string

ID de la solicitud (se devuelve cuando se proporciona request_id en la solicitud)

Ejemplo:

"req-7f3a2c1e8b9d4f0a"

created
integer

Hora de creación de la solicitud, marca de tiempo Unix (segundos)

Ejemplo:

1777021417

model
string

Nombre del modelo

Ejemplo:

"glm-5.2"

choices
object[]

Lista de respuestas del modelo

usage
object

Estadísticas de uso de tokens devueltas al finalizar la llamada

Información relacionada con la búsqueda web, se devuelve al usar la herramienta web_search y obtener resultados de búsqueda

content_filter
object[]

Información relacionada con la seguridad del contenido