Autenticación
La autenticación se basa en una única clave de API que se pasa en el encabezado Authorization. Esta clave se genera inmediatamente después de que te registres con un correo electrónico y una contraseña en la página Obtener clave de API. Puedes regenerar la clave en cualquier momento, lo que revoca instantáneamente la anterior. La API no requiere tarjeta de crédito para la prueba inicial, y los prompts no se utilizan para entrenar tus datos. Asegúrate de almacenar tu clave de forma segura, ya que proporciona acceso directo a tu crédito prepago.
Endpoint de completados de chat
Envía peticiones a la URL base https://api.nsfwllmrouter.com/v1 usando el endpoint estándar POST /v1/chat/completions. Esta es una interfaz solo de texto; no admitimos incrustaciones, imágenes, audio ni generación de video. Especifica el modelo como uncensored para asegurarte de usar nuestro modelo de pesos abiertos dedicado optimizado para contenido para adultos. El modelo se ejecuta en nuestros propios servidores GPU y no rechaza temas adultos lícitos, ficticios o controvertidos. No es GPT, Claude ni ningún otro modelo de otro proveedor.
curl https://api.nsfwllmrouter.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."}]
}'
El cuerpo de la petición no debe superar los 8 MB. Puedes definir mensajes de sistema, usuario y asistente tal como lo harías con cualquier cliente compatible con OpenAI. El modelo devolverá la salida de texto directamente en el flujo de respuesta.
SDK de Python
Usa la biblioteca oficial de Python de OpenAI para integrarte rápidamente. Apunta el cliente a nuestra URL base y proporciona tu clave de API. Este enfoque funciona para cualquier SDK compatible con OpenAI, lo que te permite cambiar la URL base sin cambiar la lógica de tu aplicación. El ID de modelo uncensored asegura que estás interactuando con nuestro LLM sin censura específico.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwllmrouter.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)
Recuerda que esta es una API sin censura dedicada, por lo que no necesitas gestionar enrutamientos complejos ni seleccionar entre múltiples modelos. El sistema gestiona la inferencia en nuestra infraestructura. Si necesitas enrutamiento multi-modelo, tendrías que construirlo tú mismo, pero aquí la elección está fija en nuestro único modelo optimizado.
SDK de Node.js
Para entornos Node.js, inicializa el cliente de OpenAI con la URL base personalizada y tu clave de API. Esto te permite usar patrones estándar de JavaScript/TypeScript para construir aplicaciones de IA. El cliente se comunicará con nuestros endpoints exactamente como lo espera la especificación de OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwllmrouter.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);
Asegúrate de que tu entorno admita las bibliotecas fetch o http requeridas. El objeto de respuesta contendrá la matriz estándar choices con el texto generado. Este método es ideal para renderizado del lado del servidor o backends de API donde necesitas generación de texto fiable y sin filtros.
Respuestas en streaming
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve Eventos Enviados por Servidor (SSE) que contienen fragmentos parciales de la respuesta. Esto es útil para interfaces en tiempo real donde deseas mostrar el texto a medida que se genera. El modelo admite protocolos de streaming estándar, por lo que puedes usar analizadores SSE existentes.
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)
Cada fragmento contiene el texto incremental. Agrega estos fragmentos en tu aplicación para construir la respuesta completa. El streaming no afecta la facturación por tokens; se te cobra por el total de tokens de entrada y salida procesados. Esta función es compatible con el endpoint chat/completions.
Límites de peticiones y restricciones
Cada clave de API está limitada a 300 peticiones por minuto. Si excedes este límite, recibirás un error de límite de peticiones 429. El tamaño máximo del cuerpo de la petición es de 8 MB. Si tu clave no es válida, recibirás un error 401. Si no tienes crédito prepago, recibirás un error 402. La ventana de contexto es de 100.000 tokens, cubriendo tanto el prompt como la finalización. No hay garantía de SLA, y no ofrecemos despliegue on-premise ni enrutamiento de modelos. Usa esta API sin censura para aplicaciones que requieran alto volumen y salida sin filtros.