Inicio rápido para desarrolladores: API sin censura
Integra el LLM sin censura en tu aplicación usando un endpoint compatible con OpenAI. Esta guía cubre autenticación, formato de peticiones, streaming y uso de herramientas para la API alojada.
URL base y autenticación
Comienza configurando tu base_url a https://api.abliteratedmodels.cc/v1. Autentica cada petición incluyendo tu clave de API en el encabezado Authorization como token Bearer. Puedes generar una clave inmediatamente después de registrarte con Google o correo electrónico en la página Obtener clave de API. La clave se muestra una vez; guárdala de forma segura en tus variables de entorno.
- Encabezado:
Authorization: Bearer YOUR_API_KEY - No se requieren parámetros de consulta adicionales para la autenticación.
Asegúrate de que tu biblioteca cliente soporte URLs base personalizadas. Esto te permite cambiar el endpoint predeterminado de OpenAI sin modificar la estructura de tu código.
Primera petición
Envía una petición POST a /v1/chat/completions con el ID del modelo uncensored. La API acepta parámetros estándar de finalización de chat. El texto entra y el texto sale. No hay endpoints de incrustaciones ni generación de imágenes.
- Modelo:
uncensored - Endpoint:
POST /v1/chat/completions
Usa el siguiente comando curl para verificar la conectividad:
curl https://api.abliteratedmodels.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 Python
El SDK oficial de OpenAI para Python funciona directamente con esta API. Inicializa el cliente con la URL base correcta y tu clave. Este enfoque abstrae los detalles HTTP mientras mantiene el control total sobre parámetros como temperature y top_p.
- Usa
OpenAI(base_url=..., api_key=...) - Llama a
client.chat.completions.create()
Aquí tienes un ejemplo mínimo para una tarea de LLM de codificación:
from openai import OpenAI
client = OpenAI(base_url="https://api.abliteratedmodels.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 Node.js
Para entornos Node.js, usa el paquete npm openai. Configura el baseURL para apuntar a nuestro servidor. Este método es ideal para servicios backend o funciones serverless donde necesitas acceso programático al modelo sin censura.
- Instala el paquete
openai - Establece
baseURLahttps://api.abliteratedmodels.cc/v1
Ejemplo de implementación:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.abliteratedmodels.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 (SSE)
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve Server-Sent Events (SSE). Las estadísticas de uso de tokens se incluyen en el último fragmento. Esto reduce la latencia percibida para los usuarios finales durante la generación de contenido.
- Establece
stream: true - Analiza eventos SSE en el cliente o servidor
Fragmento de código para 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)
Límites de peticiones y ventana de contexto
Cada clave de API permite 300 peticiones por minuto y 8 peticiones simultáneas. El cuerpo de la petición no debe exceder 8 MB. La ventana de contexto es de 100,000 tokens en total. No hay un límite de salida separado; si max_tokens no está establecido, la respuesta puede extenderse hasta el final de la ventana. Si superas el límite, tus peticiones se pondrán en cola o fallarán. Gestiona la concurrencia para mantenerte dentro del umbral de 8 peticiones simultáneas. Consulta la página de Precios para los detalles del crédito.
Preguntas y respuestas
¿Cómo maneja el modelo sin censura las negativas de contenido?
El modelo está ajustado para responder sin negativas para uso adulto lícito, incluidos temas controversiales o ficticios. No aplica los mismos filtros corporativos que otros proveedores. Sin embargo, un límite estricto bloquea contenido sexual que involucre menores, lo cual siempre se niega independientemente del prompt.
¿Qué sucede si excedo mi crédito prepago?
Cuando se agote tu crédito prepago, las peticiones subsiguientes fallarán. Puedes recargar usando cripto (USDT TRC20 o USDC Base) con montos entre $20 y $500. El crédito no caduca, así que puedes añadir fondos en cualquier momento sin cuota de suscripción.
¿Esta API soporta llamadas a funciones?
Sí, puedes usar los parámetros tools y tool_choice para llamadas a funciones. También puedes forzar salida JSON usando response_format: {"type": "json_object"}. Esto es útil para generar datos estructurados o integrar con otros sistemas.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.
Especificaciones técnicas
Una tabla con cada límite, función y precio.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| Base URL | https://api.abliteratedmodels.cc/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticación | Authorization: Bearer YOUR_KEY |
| ID del modelo | uncensored |
| Modo JSON | response_format: {"type": "json_object"} |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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 |
| 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 |
| 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 |
| Recarga | cripto: USDT en TRON o USDC en Base, $20–$500, cualquier importe entero |
| Precio | $0,15 por 1M tokens de entrada · $0,50 por 1M de salida |
| 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 |
| 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 |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| HTTP | 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 |