Introducción
GLM 5.3 es el modelo de contexto largo de tamaño completo de Z.ai, disponible aquí como un endpoint compatible con OpenAI en /v1/chat/completions. Lee hasta 1.048.576 tokens en un máximo de 256 mensajes y responde con hasta 131.072, así que todo un conjunto de material y el razonamiento que se saca de él caben en la misma llamada.
El esfuerzo de razonamiento admite low, high o max, y max ya es el valor por defecto. Acepta temperature (de 0 a 1) y top_p, response_format devuelve JSON, se pueden declarar hasta 128 tools, el contenido de los mensajes es solo texto y las respuestas llegan por Server-Sent Events.
Funciones y aspectos destacados
El material y el razonamiento en una llamada
Una ventana larga es solo la mitad de la historia; la otra mitad es si una cadena de inferencias sigue en pie a esa longitud. Carga un contrato marco con sus enmiendas, o una especificación con el código que la implementa, y pide conclusiones que se apoyen en pasajes separados por cientos de páginas.
Un peldaño superior que se gana sus tokens
low, high y max se distinguen en respuestas que necesitan acertar varias cosas a la vez: una deducción que se apoya en tres párrafos que nunca aparecen juntos, o un cambio que debe respetar una invariante declarada en otro sitio. Reserva max para esos casos y usa low en las pasadas mecánicas.
Espacio para el razonamiento, no solo el veredicto
Una respuesta puede llegar a 131.072 tokens: suficiente para la conclusión, las alternativas descartadas y las citas que zanjan la cuestión. Pide el razonamiento de forma explícita cuando alguien vaya a revisarlo.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
messages | Sí | 256 turnos ordenados como máximo, solo contenido de texto. Pon el material en un mensaje de user y la pregunta más el formato de salida en el mensaje system. mínimo 1 elementos · máximo 256 elementos |
reasoning_effort | No | low, high o max. |
stop | No | Una secuencia, como cadena o como arreglo de un solo elemento: Z.ai solo lee una. La respuesta termina en cuanto el modelo la escribe, y el texto que coincide no se devuelve. mínimo 1 caracteres · mínimo 1 elementos · máximo 1 elementos |
max_tokens | No | Limita la respuesta a 131.072. Por defecto, 32 768; súbelo cuando pidas el razonamiento y no solo el veredicto. |
seed | No | Cualquier entero. |
temperature | No | De 0 a 1, 1 por defecto. Déjalo en 0 siempre que la respuesta la lea código. |
top_p | No | De 0,01 a 1, 0,95 por defecto. Ajusta este o temperature, nunca los dos en la misma comparación. |
tools | No | Hasta 128 definiciones de funciones por solicitud. máximo 128 elementos |
parallel_tool_calls | No | true o false, true por defecto: el modelo puede pedir varias llamadas a herramientas en un mismo turno. Valor predeterminado: |
tool_choice | No | auto, none, required, o un objeto que nombre una función. |
response_format | No | Pide un objeto JSON y nombra cada clave en el mensaje system. |
Precios
Entrada $1.05 / Salida $3.30 por 1 millón de tokens
Casos de uso
Cuatro documentos y una pregunta
Carga en una solicitud un contrato marco y sus tres enmiendas y pregunta qué cláusulas se contradicen ahora. La respuesta depende de dos pasajes muy alejados, justo donde falla una capa de recuperación: trae lo que parece relevante para la pregunta, no el par que discrepa.
Revisión de incidentes con todos los artefactos
Pon en la misma llamada la cronología de alertas, el log de despliegue, el diff de configuración y la transcripción de guardia, y pide la cadena causal con la evidencia de cada eslabón y las hipótesis descartadas.
Backends de agentes donde una llamada es una acción real
Declara hasta 128 funciones —reembolso, cambio de permisos, escalado de ticket— y deja que tool_choice decida. Cuando una llamada ejecuta una acción real, saber cuándo no llamar a nada vale tanto como la llamada misma.
Guía de prompts y consejos prácticos
Mete el expediente entero, no un resumen
Carga el material en un solo mensaje de usuario, del más antiguo al más reciente, y reserva el mensaje de sistema para la pregunta, el formato de salida y el nivel de evidencia que esperas.
Pide el razonamiento, no solo el veredicto
POST https://api.spicyapi.ai/v1/chat/completions con {"model": "zai/glm-5.3", "messages": [{"role": "system", "content": "For every conflict, name both passages, quote one sentence from each, and say which one governs."}, {"role": "user", "content": "<the master agreement and its amendments>"}], "reasoning_effort": "max", "max_tokens": 32000, "temperature": 0}. temperature 0 hace que repetir la ejecución sobre los mismos documentos sea directamente comparable.
Planifica el timeout y el presupuesto
La llamada es síncrona, y una ventana llena en max puede tardar minutos en volver, así que dimensiona el timeout del cliente para esta solicitud o recibe la respuesta en streaming. max_tokens viene en 32.768 por defecto y se detiene en 131.072; las partes de imagen y de archivo se rechazan, y un response_format JSON igual necesita que lo analices de tu lado.
Inicio rápido de la API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "zai/glm-5.3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Consulta la referencia de la API para autenticación, el esquema completo, sondeo y gestión de errores.







