API GLM: Cambia tu cliente en tres líneas
Conecta tu código existente a una API GLM sin censura en minutos actualizando dos valores de configuración. Esta guía rápida te muestra los endpoints compatibles con OpenAI usando tu crédito prepago.
Requisitos previos: Obtén tu clave
Antes de escribir código, necesitas una clave de API. Visita la página Obtener clave de API en este sitio para registrarte con un correo electrónico y contraseña. No se requiere número de teléfono ni tarjeta de crédito para comenzar. Al registrarte, recibes un crédito de prueba de $0,50 válido por 7 días, o puedes recargar con criptomonedas (USDT o USDC). Tu clave se muestra inmediatamente después del registro. Guárdala de forma segura, ya que puedes regenerarla en cualquier momento para revocar la anterior.
Esta clave autentica todas las peticiones a nuestro endpoint glm api. No usamos tus prompts para entrenamiento, y la clave está vinculada a una sola cuenta. Si necesitas un volumen mayor, puedes comprar créditos prepago que no caducan.
Configura la URL base y la clave
Para usar nuestro servicio como un reemplazo listo para usar de OpenAI, debes apuntar tu SDK a nuestra URL base. Este es el único cambio de infraestructura requerido. La URL base es https://api.glmapikey.com/v1. También necesitas establecer tu cabecera de autorización o la clave del cliente SDK al valor que recibiste durante el registro.
La mayoría de los clientes compatibles con OpenAI, incluidos los SDKs oficiales de Python y Node, te permiten sobrescribir la URL base. Esto te permite mantener la lógica de tu aplicación existente mientras cambias el modelo subyacente. Asegúrate de que tu clave esté configurada correctamente antes de hacer peticiones para evitar errores de autenticación.
Realiza tu primera petición de completado de chat
Envía una petición POST a /v1/chat/completions para generar texto. Nuestro modelo acepta estructuras de mensaje estándar con roles como user y assistant. El ID del modelo que debes especificar es uncensored. Esto activa el modelo de pesos abiertos alojado en nuestras GPUs, que está ajustado para responder sin rechazos de contenido para uso adulto lícito.
La respuesta será JSON que contiene el texto generado. Si encuentras un error 401, verifica tu clave. Si ves 402, tu crédito prepago se ha agotado. Puedes recargar a partir de $10. Ten en cuenta que no admitimos incrustaciones, imágenes ni ajuste fino en este endpoint.
Usa el SDK de Python
La biblioteca oficial de Python de OpenAI funciona directamente con nuestra API. Inicializa el cliente con tu clave y la URL base específica. Este enfoque es ideal para servicios backend o scripts donde necesitas respuestas JSON estructuradas. El cliente maneja la serialización y la lógica de reintento automáticamente.
Pasa el nombre del modelo uncensored para asegurarte de que estás alcanzando nuestro endpoint específico. La ventana de contexto admite hasta 100.000 tokens para prompt y finalización combinados. Esto permite datos de entrada sustanciales sin truncamiento, siempre que te mantengas dentro del límite de cuerpo de petición de 8 MB.
Usa el SDK de Node.js
Para aplicaciones de JavaScript y TypeScript, el paquete NPM openai es compatible. Configura el cliente con la misma URL base y clave que el ejemplo de Python. Esto permite la renderización del lado del servidor o endpoints de API que requieren generación de texto sin censura. El SDK transmite datos eficientemente si se configura correctamente.
Las llamadas a funciones son compatibles en este SDK. Puedes definir esquemas de función en la petición, y el modelo devolverá salidas JSON estructuradas que coincidan con tu esquema. Esto facilita la integración de fuentes de datos externas o acciones en el flujo de tu aplicación sin analizar texto sin procesar.
Habilita respuestas en streaming
Establece stream: true en tu petición para recibir eventos enviados por el servidor (SSE). Esto te permite mostrar texto a los usuarios a medida que se genera, mejorando la latencia percibida. La API devuelve fragmentos de texto, que tu cliente debe concatenar o renderizar incrementalmente.
El streaming es compatible con los SDKs de Python y Node.js. Es particularmente útil para interfaces de chat donde los usuarios esperan retroalimentación inmediata. Cada fragmento contiene una parte de la respuesta. El modelo continúa generando hasta que completa o alcanza el límite de la ventana de contexto. Asegúrate de que tu cliente maneje correctamente estructuras JSON parciales si usas llamadas a funciones con streaming.
Límites, errores y modelos
Nuestra API aplica un límite de peticiones de 300 peticiones por minuto por clave. Si superas este límite, recibirás un error 429. El tamaño máximo del cuerpo de la petición es de 8 MB. Para descubrir modelos, usa el endpoint GET /v1/models. Devuelve una lista de modelos disponibles, incluido el ID del modelo uncensored.
Los errores comunes incluyen 401 para claves no válidas y 402 por crédito insuficiente. Los créditos no caducan, pero los créditos de prueba son válidos por 7 días. No ofrecemos SLAs ni certificaciones. El modelo bloquea contenido sexual que involucra a menores pero está sin censura en lo demás. Usa estos límites para diseñar tu lógica de reintento y las notificaciones al usuario adecuadamente.
cURL
curl https://api.glmapikey.com/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapikey.com/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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapikey.com/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);Streaming
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)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 |
| Autenticación | Authorization: Bearer YOUR_KEY |
| ID del modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.glmapikey.com/v1 |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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 |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Modo JSON | response_format: {"type": "json_object"} |
| Tamaño de petición | hasta 8 MB |
| Límite de peticiones | 300 por minuto por clave |
| Concurrencia | 8 peticiones a la vez por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Bono | +5 % desde $50, +10 % desde $100 |
| 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 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
Errores y qué hacer
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 GLM oficial?
No, somos un servicio independiente. Hospedamos un modelo de pesos abiertos sin censura y proporcionamos un endpoint compatible con OpenAI. No estamos afiliados a los creadores originales de GLM ni a ningún otro proveedor importante de IA.
¿Puedo usar mi clave de OpenAI existente?
No, necesitas una clave de nuestro sitio. Sin embargo, puedes usar el mismo código SDK que usas para OpenAI simplemente cambiando la URL base y la clave en la configuración de tu cliente.
¿Qué sucede si me quedo sin créditos?
Las peticiones devolverán un error 402. Puedes recargar tu crédito prepago en cualquier momento usando criptomonedas (USDT o USDC). Tus créditos no caducan, así que puedes añadir fondos cuando los necesites.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.