Cómo probar la API GLM-5.3-Flash en Apidog

Construir una colección de pruebas reutilizable para la API GLM-5.3-Flash: llamadas de texto, cargas útiles de imágenes base64, llamadas a herramientas, aserciones y una ejecución de comparación GLM-5.3.

Ashley Goolam

Ashley Goolam

27 August 2026

Cómo probar la API GLM-5.3-Flash en Apidog

Apidog para empresas

Despliegue local

SSO & RBAC

Conforme con SOC 2

Explorar Apidog Enterprise

Intercambiar un LLM en tu aplicación es un cambio de una sola línea y un riesgo mucho mayor. El ID del modelo es una cadena de texto. Lo que esa cadena cambia es la latencia de respuesta, el coste por token, la estabilidad del formato de salida, el comportamiento de llamada a herramientas y si tu pipeline de imágenes funciona en absoluto.

GLM-5.3-Flash lo hace concreto. Es aproximadamente nueve veces más barato que GLM-5.3, acepta imágenes de forma nativa donde GLM-5.3 no lo hace, y genera a aproximadamente la mitad de velocidad. Esos son compromisos reales, y la única forma de saber de qué lado te encuentras es ejecutar tus propias solicitudes contra ambos.

Esta guía configura una colección de pruebas reutilizable para la API de GLM-5.3-Flash en Apidog: llamadas de texto, llamadas de imagen, llamadas a herramientas, aserciones y una ejecución de comparación con el modelo más grande.

Por qué no usar solo curl

Puedes probar este endpoint con curl, y nuestra guía de API muestra exactamente eso. Dos cosas se rompen una vez que pasas de la primera llamada.

Cargas de imagen Base64. Una URL de datos para una captura de pantalla tiene miles de caracteres. Pegar eso en una terminal produce un comando que no puedes leer, no puedes editar y no volverás a ejecutar mañana. Las pruebas multimodales son donde el historial de shell deja de ser una herramienta viable.

Nada es asertado. Una respuesta de curl es texto en una pantalla. Te dice que la llamada se realizó con éxito, no que la respuesta aún contiene los campos que lee tu aplicación. Cuando cambias de modelo, esa distinción es el punto central de la prueba.

Una colección guardada soluciona ambos problemas. La carga útil reside en una solicitud que puedes editar, y las aserciones se ejecutan cada vez.

Configurar el entorno

Crea un entorno con los valores que cambian entre ejecuciones. Mantener el ID del modelo como una variable es la parte importante, porque es lo que te permite redirigir toda la colección a un modelo diferente más adelante.

Variable Valor
base_url https://api.z.ai/api/paas/v4
api_key tu clave de Z.ai
model glm-5.3-flash

Almacena la clave como una variable de entorno en lugar de pegarla en los encabezados de la solicitud. Se mantiene fuera de cualquier cosa que exportes o compartas con un compañero de equipo, lo cual importa más de lo que parece la primera vez que alguien guarda una colección.

Solicitud 1: una finalización de texto

Crea una solicitud POST a {{base_url}}/chat/completions.

Encabezados:

Authorization: Bearer {{api_key}}
Content-Type: application/json

Cuerpo:

{
  "model": "{{model}}",
  "messages": [
    {"role": "user", "content": "Responde exactamente con: OK"}
  ],
  "reasoning_effort": "low"
}

Nota reasoning_effort. Por defecto es max en este modelo, lo que factura el razonamiento como tokens de salida. Para una verificación de conectividad, esto es puro desperdicio, así que configúralo a low aquí.

Añade aserciones a la respuesta:

La aserción finish_reason es la que la gente omite y luego lamenta. Un valor de length significa que la respuesta fue truncada en el límite de salida en lugar de completada. Dado que la cifra máxima de salida para este modelo es inconsistente entre fuentes, vale la pena capturar explícitamente la truncación con esa única línea.

Solicitud 2: una llamada de imagen

Esta es la solicitud que justifica toda la configuración, y la capacidad que GLM-5.3 no tiene de forma nativa.

Mismo endpoint, diferente formato de cuerpo. content se convierte en un array de bloques tipados:

{
  "model": "{{model}}",
  "messages": [
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "¿De qué color es la forma dominante en esta imagen? Responde con una sola palabra."},
        {"type": "image_url", "image_url": {"url": "{{test_image_url}}"}}
      ]
    }
  ],
  "reasoning_effort": "low"
}

Añade test_image_url a tu entorno apuntando a una imagen estable, públicamente accesible, cuya respuesta correcta conozcas. Una pregunta determinista contra una imagen fija es lo que convierte esto en una prueba de regresión en lugar de una demostración.

Para imágenes locales, el mismo campo toma una URL de datos base64. Almacénala como una variable de entorno para que el cuerpo de la solicitud se mantenga legible:

data:image/png;base64,iVBORw0KGgo...

Aserciones:

Esa última aserción es un "canario" útil. Las imágenes consumen tokens de entrada, así que si el conteo de tokens de prompt no aumenta, la imagen no fue realmente procesada, y tienes una solicitud que devuelve 200 mientras ignora silenciosamente tu imagen. Esa falla es invisible sin la verificación.

Más sobre la ruta de visión y sus modos de fallo en nuestra guía de visión de GLM-5.3-Flash.

Solicitud 3: llamada a herramientas

Si tu aplicación utiliza la llamada a funciones, pruébala explícitamente. El formato de llamada a herramientas es la parte más sensible a la versión de cualquier integración de modelo y lo más probable que se rompa después de una actualización del proveedor.

{
  "model": "{{model}}",
  "messages": [
    {"role": "user", "content": "¿Está saludable el servicio checkout-api?"}
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_deployment_status",
        "description": "Devuelve el estado actual de un despliegue nombrado.",
        "parameters": {
          "type": "object",
          "properties": {
            "service": {"type": "string", "description": "El nombre del servicio."}
          },
          "required": ["service"]
        }
      }
    }
  ]
}

Aserciones:

Aseverar sobre el nombre de la función en lugar de solo la presencia de una llamada a herramienta detecta un fallo más sutil: un modelo que llama a la herramienta equivocada. Con una herramienta definida, eso es improbable, pero la aserción no cuesta nada y sigue siendo correcta a medida que añades más.

Si estás generando definiciones de herramientas a partir de una API que ya posees, convertir una especificación OpenAPI en herramientas de agente cubre cómo hacerlo sin escribir los esquemas a mano.

Comparando con GLM-5.3

Aquí está la recompensa por poner el ID del modelo en una variable de entorno.

Duplica tu entorno, cambia model a glm-5.3 y ejecuta la misma colección. Tres cosas a comparar:

Corrección. ¿Las aserciones siguen pasando? La solicitud de imagen no lo hará, porque GLM-5.3 no acepta imágenes de forma nativa. Eso es un hallazgo, no una prueba rota.

Latencia. Apidog informa el tiempo de respuesta por solicitud. Espera que GLM-5.3 termine más rápido en salidas más largas, ya que genera aproximadamente 86 tokens por segundo frente a los 49 de Flash.

Costo. El objeto usage te da prompt_tokens y completion_tokens por llamada. Multiplica por la tasa de cada modelo y tendrás una comparación real del costo por solicitud en lugar de una cifra de marketing combinada. Nuestro desglose de precios tiene las tarifas actuales, y la comparación completa de modelos cubre dónde gana cada uno.

Observa de cerca completion_tokens en las diferentes configuraciones de esfuerzo de razonamiento. Con reasoning_effort en su valor predeterminado max, los tokens de razonamiento se facturan como salida, por lo que una respuesta visible corta puede llevar detrás un gran conteo de finalización. Ejecutar el mismo prompt en low, high y max y leer los conteos de tokens es la forma más rápida de decidir lo que realmente necesita tu carga de trabajo.

Probando un despliegue local

Si estás autoalojando los pesos, tanto vLLM como SGLang exponen endpoints compatibles con OpenAI. Cambia base_url a tu servidor y ejecuta la colección idéntica.

Este es el uso de mayor valor de la suite. Una compilación cuantificada puede pasar una prueba de chat básica y aun así manejar incorrectamente tus esquemas de herramientas o degradarse con la entrada de imágenes, y esos son exactamente los fallos que surgen en producción en lugar de en una verificación rápida. Nuestra guía de ejecución local cubre el lado del despliegue.

Ponlo en CI

Una vez que la colección sea estable, ejecútala según un horario o en tu pipeline. Disparadores útiles:

Los proveedores de modelos actualizan los modelos detrás de IDs estables. Una ejecución programada es cómo te enteras de que el comportamiento cambió, en lugar de escucharlo de un usuario.

Qué probar más allá del "happy path" (camino feliz)

Algunos casos que vale la pena añadir una vez que las pruebas básicas pasan:

Conclusión

El valor aquí no son las solicitudes individuales, sino que son repetibles. Una elección de modelo que puedes volver a probar en treinta segundos es una decisión que puedes revisar cuando los precios cambien el 9 de septiembre, cuando Z.ai envíe la próxima revisión, o cuando alguien proponga cambiar a un proveedor diferente por completo.

Apidog es gratis para empezar, e importar un esquema compatible con OpenAI te permite configurar la mayor parte de esto sin construir cada solicitud a mano. La colección con la que terminas es lo que hace que el próximo cambio de modelo sea una diferencia en lugar de un salto.

Preguntas Frecuentes

¿Necesito un plan pago de Apidog? No. Una colección con variables de entorno y aserciones funciona en el nivel gratuito.

¿Cómo pruebo imágenes base64 sin un cuerpo de solicitud ilegible? Almacena la URL de datos como una variable de entorno y referénciala como {{test_image_url}} en el cuerpo.

¿Puedo probar el endpoint de `coding-plan` de la misma manera? Sí. Cambia base_url a https://api.z.ai/api/coding/paas/v4. Ten en cuenta que este endpoint difiere del API estándar, como se cubre en nuestra guía de Claude Code y Cline.

¿Funcionarán estas pruebas con otros proveedores? En su mayoría, sí. OpenRouter, Cloudflare Workers AI y Vercel AI Gateway exponen superficies compatibles con OpenAI. Cambia base_url y el espacio de nombres del ID del modelo.

¿Cómo hago una aserción sobre una respuesta no determinista? Haz aserciones sobre la estructura y las restricciones en lugar del texto exacto: presencia de campos, tipos, recuentos de tokens, finish_reason y contención de subcadenas para preguntas con una respuesta conocida.

Practica el diseño de API en Apidog

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