Instalación y configuración
Para comenzar, asegúrate de tener instalado el SDK oficial de OpenAI para tu lenguaje. La API utiliza un esquema de autenticación estándar basado en encabezados. Debes configurar el encabezado Authorization como Bearer your-api-key y establecer la URL base en https://api.glmapi.cc/v1. Esta URL funciona con cualquier cliente que admita el formato de Chat Completions de OpenAI.
No se requiere una inicialización especial del cliente más allá de la configuración estándar. El servicio actúa como un reemplazo listo para usar para las integraciones existentes con OpenAI. Puedes verificar tu configuración consultando el endpoint de modelos disponibles.
Primera petición
Envía una petición simple de completado de texto para probar la conectividad. Usa el identificador de modelo uncensored para el modelo de lenguaje grande principal. La API acepta parámetros estándar como max_tokens y temperature.
Esta petición devuelve una respuesta de texto directa. Si encuentras un error 401, verifica tu clave de API. Un error 402 indica que no hay suficiente crédito prepago.
curl https://api.glmapi.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Integración con SDK de Python
Usa la biblioteca oficial de Python para interactuar con la API. Inicializa el cliente con tu URL base y clave de API. La sintaxis es idéntica a la estructura del cliente estándar de OpenAI.
Este enfoque te permite cambiar de proveedor sin reescribir la lógica de negocio. El modelo responde a formatos de prompt estándar. Puedes controlar la longitud y la aleatoriedad de la salida mediante parámetros estándar.
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapi.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Integración con SDK de Node.js
Para entornos JavaScript, usa el SDK de Node.js. Configura el baseUrl para apuntar al endpoint de nuestra API. Esto asegura que todas las peticiones se enruten correctamente a nuestros servidores.
El SDK maneja los reintentos y el análisis de respuestas automáticamente. Puedes pasar parámetros de completado estándar. El objeto de respuesta contiene el texto generado en la ubicación esperada.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapi.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Respuestas en streaming
Habilita el streaming estableciendo el parámetro stream en true. La API devuelve fragmentos mediante Server-Sent Events (SSE). Cada fragmento contiene texto parcial y estadísticas de uso.
Este método reduce la latencia percibida en respuestas largas. Puedes procesar tokens a medida que llegan. El último fragmento incluye el recuento total de tokens para la facturación.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Límites, errores y contexto
La ventana de contexto admite 100.000 tokens en total, con una salida máxima de 32.000 tokens. Las peticiones que superen el límite de cuerpo de 8 MB fallarán. Estás limitado a 300 peticiones por minuto y 8 peticiones simultáneas por clave.
El error 401 indica una clave inválida. El error 402 indica que no queda crédito prepago. El error 429 señala un límite de peticiones. El crédito no caduca y los errores no consumen tokens. Se mantiene la privacidad; los prompts no se usan para entrenamiento.
Funciones y límites
Todos los límites y funciones reales de la API en un solo lugar: revísalos antes de recargar.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| ID del modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.glmapi.cc/v1 |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Modo JSON | response_format: {"type": "json_object"} |
| Concurrencia | 8 peticiones a la vez por clave |
| Tamaño de petición | hasta 8 MB |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Límite de peticiones | 300 por minuto por clave |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $20 a $500 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Bono | +5 % desde $50, +10 % desde $100, +15 % desde $200 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Prueba gratis | $0,50 durante 7 días, sin tarjeta · Clave de prueba: 2 solicitudes paralelas, 60 por minuto; límites completos (8 y 300) tras la primera recarga |
| Precio | $0,15 por 1M tokens de entrada · $0,50 por 1M de salida |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| Acceso | Google o correo y contraseña |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |
Preguntas y respuestas
¿Es esta la API oficial de GLM?
No, es un servicio independiente. Ejecutamos nuestro propio modelo sin censura y proporcionamos una interfaz compatible con OpenAI. No está afiliado a los desarrolladores originales de GLM.
¿Cómo pago por la API?
Aceptamos recargas por cripto (USDT en TRC20, USDC en Base). La recarga mínima es de $20. El crédito prepago se cobra por uso de tokens y no caduca.
¿Cuál es el tamaño de la ventana de contexto?
El modelo admite una ventana de contexto de 100.000 tokens. La salida máxima por petición es de 32.000 tokens, salvo que se especifique lo contrario.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave y cambia la URL base. Eso es toda la configuración.