Cómo usar la API GLM-5.2

Usa la API de GLM-5.2 en minutos: obtén una clave, conéctate al endpoint compatible con OpenAI y ejecuta ejemplos de curl + Python para razonamiento, streaming y llamadas a herramientas.

Ashley Innocent

Ashley Innocent

17 June 2026

Cómo usar la API GLM-5.2

Apidog para empresas

Despliegue local

SSO & RBAC

Conforme con SOC 2

Explorar Apidog Enterprise

La API de GLM-5.2 le brinda acceso programático al nuevo modelo insignia de pesos abiertos de Z.ai, un modelo MoE de ~753B parámetros que obtiene la puntuación más alta entre los modelos de código abierto en los benchmarks de codificación de largo alcance. Esta guía es práctica. Obtendrá una clave API, realizará su primera solicitud, y luego trabajará con Python, curl, modos de pensamiento, streaming, llamada a herramientas y seguimiento de costos, todo con valores reales que puede pegar en una terminal.

Si viene de la versión anterior, empiece por aquí.

botón

Qué cambió desde GLM-5.1

GLM-5.2 reemplaza a la generación 5.1. Si ya escribió código de integración para la API de GLM-5.1, el formato de comunicación es el mismo, por lo que en su mayoría solo necesita cambiar el ID del modelo. Las diferencias que vale la pena conocer son:

Dado que el código de solicitud 5.1 ya funciona, esta guía no lo repite. Todo aquí apunta directamente a glm-5.2.

Paso 1: Obtener una clave API de GLM-5.2

Inicie sesión en z.ai y abra la sección de claves API de su panel de cuenta. Cree una clave, cópiela una vez (normalmente no podrá verla de nuevo) y guárdela en una variable de entorno en lugar de pegarla en el código fuente:

export ZAI_API_KEY="your-glm-5.2-api-key"

Mantenga su clave API de glm-5.2 fuera de Git. Una clave filtrada se facturará a su cuenta, y la salida de GLM-5.2 tiene un precio por millón de tokens, por lo que un script descontrolado puede costar dinero real.

Paso 2: Conozca el endpoint y la base_url

GLM-5.2 es compatible con OpenAI, lo que significa que cualquier cliente que hable el formato de Completions de chat de OpenAI funciona una vez que redirige la URL base. Los valores que necesita son:

Configuración Valor
Endpoint de completions de chat https://api.z.ai/api/paas/v4/chat/completions
URL base (para SDKs) https://api.z.ai/api/paas/v4/
ID del modelo glm-5.2
Autenticación Authorization: Bearer $ZAI_API_KEY

El alias de OpenRouter es z-ai/glm-5.2 si prefiere enrutar a través de OpenRouter en lugar de llamar a Z.ai directamente. Para ejecuciones locales, Ollama publica los pesos como glm-5.2 (ver la librería de Ollama), y los pesos abiertos se encuentran en Hugging Face bajo una licencia MIT.

Una nota sobre los límites antes de empezar a construir: la ventana de contexto es de 1M de tokens (1,048,576). Para la salida máxima, la documentación de z.ai lista hasta 128K, pero OpenRouter no publica un número, así que considérelo como hasta 128K según la documentación de z.ai (verificar en vivo) en lugar de una garantía fija.

Paso 3: Su primera solicitud con curl

Aquí hay una llamada curl mínima a glm-5.2. Envía un mensaje de usuario e imprime la respuesta JSON:

curl https://api.z.ai/api/paas/v4/chat/completions \
  -H "Authorization: Bearer $ZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [
      {"role": "system", "content": "You are a concise backend engineer."},
      {"role": "user", "content": "Write a SQL query that returns the 5 newest orders per customer."}
    ]
  }'

La forma de la respuesta coincide con el estándar de OpenAI: un id, un array `choices` con el mensaje del asistente, y un objeto `usage`. Ese último campo es cómo se rastrean los costos, lo cual se cubre al final.

Paso 4: Llamarlo desde Python con el SDK de OpenAI

Debido a que la API es compatible con OpenAI, no necesita un cliente especial. Instale el SDK estándar y apunte `base_url` a Z.ai. Esta es la configuración canónica de Python para glm-5.2:

pip install openai
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["ZAI_API_KEY"],
    base_url="https://api.z.ai/api/paas/v4/",
)

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {"role": "system", "content": "You are a concise backend engineer."},
        {"role": "user", "content": "Explain idempotency keys in 3 sentences."},
    ],
)

print(resp.choices[0].message.content)

Esa es toda la integración. El objeto `client` se comporta exactamente como lo hace con OpenAI, por lo que el código auxiliar existente, los reintentos y el registro se transfieren. Si desea un recorrido más profundo por la plataforma en sí, la descripción general de la API de GLM-5 cubre las convenciones de toda la familia.

Paso 5: Controlar el razonamiento con `thinking` y `reasoning_effort`

GLM-5.2 es un modelo de razonamiento. Puede activar o desactivar su pensamiento interno, y cuando está activado, puede establecer cuán duro trabaja.

Desactive el pensamiento para respuestas rápidas, económicas y de baja latencia (clasificación, reescrituras cortas, enrutamiento):

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Classify: 'my card was charged twice'"}],
    extra_body={"thinking": {"type": "disabled"}},
)

Active el pensamiento y eleve el esfuerzo a 'Max' para tareas de codificación y matemáticas difíciles. Z.ai recomienda 'Max' específicamente para la codificación:

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {"role": "user", "content": "Refactor this function to remove the N+1 query and explain the fix."},
    ],
    extra_body={
        "thinking": {"type": "enabled"},
        "reasoning_effort": "max",
    },
)

El wrapper `extra_body` es cómo el SDK de Python de OpenAI pasa campos no estándar a Z.ai. En un cuerpo curl crudo, colocaría `thinking` y `reasoning_effort` al mismo nivel que `model`. El esfuerzo máximo consume más tokens de salida (el razonamiento cuenta como tal), así que resérvelo para tareas donde el salto de calidad lo justifique.

Paso 6: Transmitir la respuesta (Streaming)

Para interfaces de usuario de chat y generaciones largas, transmita los tokens a medida que llegan en lugar de esperar la finalización completa. Establezca `stream: true` e itere sobre los fragmentos:

stream = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Write a 200-word changelog entry for a rate-limit fix."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

En curl, añada `"stream": true` al cuerpo y el servidor devolverá eventos enviados por el servidor (Server-Sent Events), una línea `data:` por fragmento, terminando con `data: [DONE]`. El streaming no cambia nada en cuanto a precios; sigue pagando por token, solo los ve antes.

Paso 7: Llamada a funciones y herramientas

La llamada a herramientas es donde se manifiesta la fortaleza agencial de GLM-5.2, y obtiene una puntuación de 77.0 en MCP-Atlas en los resultados publicados de Z.ai, cerca de Claude Opus 4.8. El patrón es el estándar de dos pasos de OpenAI: usted describe una herramienta, el modelo devuelve una solicitud de `tool_calls`, usted ejecuta la función y luego retroalimenta el resultado.

Aquí tiene un pequeño ejemplo realista de la API de glm-5.2 con una búsqueda del tiempo:

import json

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current temperature for a city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "City name, e.g. Berlin"},
                    "unit": {"type": "string", "enum": ["c", "f"]},
                },
                "required": ["city"],
            },
        },
    }
]

messages = [{"role": "user", "content": "What's the weather in Berlin in celsius?"}]

first = client.chat.completions.create(
    model="glm-5.2",
    messages=messages,
    tools=tools,
)

call = first.choices[0].message.tool_calls[0]
args = json.loads(call.function.arguments)

# You run the real function here. Stubbed for the example:
def get_weather(city, unit="c"):
    return {"city": city, "temp": 12, "unit": unit}

result = get_weather(**args)

# Append the assistant's tool call, then your tool's result.
messages.append(first.choices[0].message)
messages.append({
    "role": "tool",
    "tool_call_id": call.id,
    "content": json.dumps(result),
})

final = client.chat.completions.create(
    model="glm-5.2",
    messages=messages,
    tools=tools,
)

print(final.choices[0].message.content)

El modelo decide cuándo llamar a la herramienta, usted la ejecuta y la segunda solicitud permite a GLM-5.2 convertir el resultado en una respuesta natural. El mismo bucle se adapta a múltiples herramientas y a frameworks de agentes; nada del contrato es específico de Z.ai.

Probar este bucle manualmente se vuelve tedioso rápidamente. Este es un buen lugar para usar Apidog: puede definir el endpoint de GLM-5.2 una vez, guardar los cuerpos de las solicitudes para cada modo de pensamiento y reproducir las llamadas a herramientas sin reescribir curl cada vez. Maneja el esquema estilo OpenAI y le permite inspeccionar las respuestas transmitidas en un solo lugar.

Paso 8: Leer el objeto de uso (`usage`) para el costo

Cada respuesta no transmitida incluye un objeto `usage`. Esa es su fuente de verdad para la facturación:

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Summarize REST vs gRPC in 4 bullets."}],
)

u = resp.usage
print(u.prompt_tokens, u.completion_tokens, u.total_tokens)

El precio de GLM-5.2 es de $1.40 por 1M de tokens de entrada y $4.40 por 1M de tokens de salida (confirmado por OpenRouter). La entrada en caché cuesta alrededor de $0.26 por 1M (según VentureBeat, atribuyendo su cifra). Así, una llamada con 8,000 tokens de entrada y 1,500 tokens de salida cuesta aproximadamente:

(8000 / 1_000_000 * 1.40) + (1500 / 1_000_000 * 4.40)
= 0.0112 + 0.0066
= about $0.0178

Los tokens de razonamiento del esfuerzo 'Max' se cuentan en la salida, por lo que una llamada de codificación con esfuerzo máximo resultará más cara que una con el pensamiento desactivado. VentureBeat informa que GLM-5.2 "supera a GPT-5.5 en codificación de largo alcance a aproximadamente 1/6 del costo", lo cual es el argumento económico detrás de estas cifras (atribuyendo la afirmación a VentureBeat).

Si prefiere usar un plan de tarifa plana en lugar de llamadas a la API medidas, Z.ai también vende niveles del Plan de Codificación GLM (Lite, Pro, Max, más Equipo). Los precios exactos cambian, así que a partir de junio de 2026, verifique los niveles actuales en z.ai antes de comprometerse. Para una comparación directa en el lado medido, el desglose de precios de GLM-5.2 profundiza más, y cómo usar GLM-5.2 gratis cubre la ruta de los pesos locales.

Uso de GLM-5.2 dentro de Claude Code

GLM-5.2 también ofrece una ruta compatible con Anthropic, por lo que puede utilizarlo desde Claude Code. Apunte la URL base de codificación a https://api.z.ai/api/coding/paas/v4 (algunas fuentes muestran open.z.ai/api/paas/v4, así que verifique en vivo), luego establezca estas variables de entorno:

export ANTHROPIC_BASE_URL="https://api.z.ai/api/coding/paas/v4"
export ANTHROPIC_API_KEY="your-glm-coding-plan-key"
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5.2[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5.2[1m]"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000
export API_TIMEOUT_MS=3000000

El sufijo `[1m]` selecciona la variante de contexto de 1M, y el largo `API_TIMEOUT_MS` es importante: sin él, Claude Code puede cancelar llamadas largas con contextos grandes antes de que regresen. El recorrido completo se encuentra en nuestra guía sobre cómo ejecutar GLM con Claude Code, y si está sopesando herramientas, Claude Code vs Codex vs Cursor vs GLM Plan expone las ventajas y desventajas.

Cómo se compara GLM-5.2

Referencia rápida para los valores que impulsan las decisiones de integración:

Propiedad GLM-5.2
ID del modelo (API) glm-5.2
Arquitectura ~753B MoE, BF16, atención dispersa IndexShare
Ventana de contexto 1M tokens (1,048,576)
Salida máxima hasta 128K según docs de z.ai (verificar en vivo)
Modos de pensamiento Alto / Máximo, o deshabilitado
Precio de entrada $1.40 / 1M tokens
Precio de salida $4.40 / 1M tokens
Licencia MIT, pesos abiertos

Para detalles de los benchmarks, los resultados publicados de Z.ai incluyen SWE-bench Pro 62.1 (GPT-5.5 58.6), Humanity’s Last Exam con herramientas 54.7, y AIME 2026 99.2. El resumen de benchmarks de GLM-5.2 los desglosa, y GLM-5.2 vs GPT-5.5, Claude Opus y Gemini los compara uno al lado del otro.

Preguntas Frecuentes (FAQ)

¿Es la API de GLM-5.2 realmente compatible con OpenAI? Sí. Apunte la `base_url` del SDK de OpenAI a https://api.z.ai/api/paas/v4/ y establezca el modelo en glm-5.2. El código estándar de chat, streaming y llamada a herramientas funciona sin cambios.

¿Cuál es el ID del modelo GLM-5.2 que debo enviar? Envíe glm-5.2 a la API de Z.ai. En OpenRouter es z-ai/glm-5.2, en Ollama es glm-5.2, y la variante de Claude Code es glm-5.2[1m] para la ventana de contexto de 1M.

¿Cómo desactivo el razonamiento para mayor velocidad? Pase thinking: {"type": "disabled"} (a través de `extra_body` en el SDK de Python). Para tareas de codificación difíciles, active el razonamiento y establezca reasoning_effort: "max", lo cual Z.ai recomienda para el código.

¿Cuánto cuesta GLM-5.2 por llamada? $1.40 por 1M de tokens de entrada y $4.40 por 1M de tokens de salida (confirmado por OpenRouter). Lea el objeto `usage` en cada respuesta para calcular el costo exacto; recuerde que los tokens de razonamiento de esfuerzo máximo cuentan como salida.

¿GLM-5.2 tiene un modelo de visión? No hay una variante de visión confirmada a partir de junio de 2026. La API es texto de entrada, texto de salida. No confíe en entradas de imágenes hasta que Z.ai documente su soporte.

Conclusión

La API de GLM-5.2 está a un paso de cualquier codebase compatible con OpenAI: cambie la URL base, envíe `glm-5.2`, y tendrá un modelo de codificación con licencia MIT y contexto de 1M, con razonamiento ajustable a un precio de salida de $4.40 por 1M de tokens. Empiece con un ping curl, pase al SDK de Python, y luego incorpore los modos de pensamiento y la llamada a herramientas según lo exija su caso de uso.

Cuando esté listo para probar endpoints, guardar variantes de solicitud e inspeccionar los turnos de llamada a herramientas sin escribir curl a mano cada vez, descargue Apidog y configure el endpoint de GLM-5.2 una vez. Para una visión más amplia del modelo en sí, consulte qué es GLM-5.2 y la comparación GLM-5.2 vs GLM-5.1.

botón

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs