Error 403: qué hacer cuando falla glm-4.6

Un 403 significa que estás autenticado pero no autorizado: la clave es válida, pero no puede llamar a este modelo ni a este grupo.

403 Forbidden significa que la identidad se reconoció pero se deniega el acceso. La diferencia con 401: 401 pregunta quién eres, 403 dice que no tienes permiso. Normalmente hay que añadir el modelo a la lista permitida o al grupo vinculado a tu key.

glm-4.6 lo ofrece Z.AI. Todo en esta página — causas, soluciones y datos medidos — se recopila del comportamiento real de este modelo en la capa de gateway.

En esta pasarela, el desencadenante más común es: Esta clave no está autorizada para este modelo. La primera acción recomendada es: Añade este modelo a la lista permitida de la clave en la página Tokens.

Causas habituales

  • Esta clave no está autorizada para este modelo
  • El modelo no está en el grupo al que está vinculada la clave
  • La clave tiene una lista de IP permitidas que excluye tu IP actual
  • El modelo se retiró o requiere permisos superiores

Cómo solucionarlo

  • Añade este modelo a la lista permitida de la clave en la página Tokens
  • Confirma que el grupo de la clave incluye este modelo
  • Revisa la configuración de IP permitidas
  • Cambia a un modelo que sí puedas llamar

Reintento con retroceso exponencial

El siguiente código reintenta cuando glm-4.6 devuelve 403: hasta 5 intentos, con espera creciente y jitter aleatorio para que las llamadas concurrentes no reintenten a la vez. Lee la URL base y la API key de variables de entorno, nunca las escribas fijas.

import os, time, random
import requests

BASE  = os.getenv("OPENAI_BASE_URL")   # e.g. https://<your-gateway>/v1
KEY   = os.getenv("OPENAI_API_KEY")
MODEL = 'glm-4.6'


def chat(messages, retries=5):
    """Retry with exponential backoff + jitter."""
    for i in range(retries):
        try:
            r = requests.post(
                BASE + "/chat/completions",
                headers={"Authorization": "Bearer " + KEY},
                json={"model": MODEL, "messages": messages, "stream": True},
                timeout=60,
            )
            if r.status_code == 429 or r.status_code >= 500:
                time.sleep(min(2 ** i + random.uniform(0, 1), 30))
                continue
            r.raise_for_status()
            return r.json()
        except requests.exceptions.Timeout:
            time.sleep(min(2 ** i + random.uniform(0, 1), 30))
    raise RuntimeError("gave up after " + str(retries) + " retries")


print(chat([{"role": "user", "content": "hello"}]))

Datos clave de este modelo

Endpoint de APIhttps://api.airai.cc/v1
Compatible con OpenAIOpenAI-compatible
ProveedorZ.AI
Contexto204.8K
CapacidadesReasoning, Tools, Open Weights
Formatos de APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Fórmula de facturaciónp * 0.6 + cr * 0.11 + cc * 0 + c * 2.2

Preguntas frecuentes

¿Puede un max_tokens demasiado alto provocar 403?

Hay que cambiar los parámetros; reintentar por sí solo no ayudará. Es un problema de configuración del cliente; el servidor no necesita cambios. La ventana de contexto 204.8K fija la entrada máxima por petición; lo que la supere se rechaza directamente. Para errores de parámetros, falla rápido en lugar de gastar reintentos. Trunca o resume las entradas largas: reduce 403 de forma notable.

¿Está 403 relacionado con la facturación de glm-4.6?

Solo se cobra la salida ya generada; la parte fallida no. El precio de entrada ronda $0.60 por millón de tokens. Revisa primero el saldo y los límites de velocidad en la consola, luego el código. Al estimar el coste con p * 0.6 + cr * 0.11 + cc * 0 + c * 2.2, incluye también el presupuesto de reintentos.

¿Cuántos reintentos son razonables?

Normalmente no hay que cambiar el código, basta con ajustar el ritmo de llamadas. Con la tarificación p * 0.6 + cr * 0.11 + cc * 0 + c * 2.2, las peticiones fallidas no cuentan en el uso. Fija el límite de reintentos en 3–5 y añade jitter.

¿Necesito mejorar mi plan para arreglar 403 en glm-4.6?

Es sobre todo un asunto de cuota, no un fallo del modelo. Tanto subir el límite del plan como bajar la frecuencia de llamadas ayuda. La facturación sigue p * 0.6 + cr * 0.11 + cc * 0 + c * 2.2: sin salida no hay cargo. Con la tarificación p * 0.6 + cr * 0.11 + cc * 0 + c * 2.2, las peticiones fallidas no cuentan en el uso. Revisa primero el saldo y los límites de velocidad en la consola, luego el código.

Otros errores de este modelo

Otros modelos con el mismo error

Datos actualizados: 2026-10-11 18:20

Soporte técnicoSoporte en línea
Volver arriba