URL base y autenticación
La API opera en https://api.nsfwchatbot.cc/v1. Utiliza autenticación estándar con token Bearer. Obtienes una única clave de API a través de la página Obtener clave de API, que admite registro con Google o correo electrónico. La clave debe enviarse en el encabezado Authorization. Solo una clave está activa por cuenta; generar una nueva revoca la anterior. No hay suscripciones mensuales: el crédito es prepago y no caduca.
Asegúrate de que tu biblioteca apunte a la URL base anterior. El identificador del modelo es siempre uncensored. Este es un modelo de pesos abiertos ajustado para minimizar el rechazo de contenido, distinto de GPT o Claude. Sirve respuestas de texto sin filtros genéricos para contenido adulto lícito.
Primera petición
Una petición básica refleja el endpoint de chat-completions de OpenAI. Especificas el modelo, los mensajes y parámetros opcionales. La API devuelve una respuesta de texto. Si omites max_tokens, el límite de salida predeterminado es de 2.048 tokens. La ventana de contexto admite hasta 100.000 tokens en total para prompt y finalización combinados.
El siguiente ejemplo demuestra una petición de finalización de texto estándar usando curl.
curl https://api.nsfwchatbot.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."}]
}'Esto devuelve un objeto JSON que contiene el texto generado. Los errores devuelven códigos de estado HTTP estándar con un objeto de error en el cuerpo.
SDK Python
Usa la biblioteca oficial de Python de OpenAI, configurándola para apuntar a nuestra URL base. Esto te permite aprovechar el código cliente existente con cambios mínimos. Pasa tu clave de API como api_key y establece base_url en nuestro endpoint. El nombre del modelo sigue siendo uncensored.
Ejemplo de inicialización y llamada de finalización:
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwchatbot.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)Este enfoque funciona para generación de texto simple o para construir cadenas. Recuerda que el modelo no es GPT-4; ajusta tu ingeniería de prompts en consecuencia. El streaming es compatible mediante el parámetro stream=True, detallado en la siguiente sección.
SDK Node.js
El SDK de OpenAI para Node.js sigue el mismo patrón de configuración. Importa la biblioteca, establece la URL base y la clave de API, y llama al endpoint de finalizaciones. Esto es ideal para integraciones del lado del servidor o aplicaciones de chat basadas en Node.
Ejemplo de inicialización:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwchatbot.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);El objeto de respuesta contiene el contenido generado en response.choices[0].message.content. Asegúrate de manejar los errores apropiadamente, ya que problemas de red o claves inválidas lanzarán excepciones. El modelo sin censura responde a prompts de sistema estándar, permitiéndote definir el tono y el comportamiento a través del historial de mensajes.
Respuestas en streaming
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve un flujo de Server-Sent Events (SSE). Cada fragmento contiene texto parcial. El fragmento final incluye las estadísticas de uso de tokens. El streaming reduce la latencia percibida para los usuarios en aplicaciones de chatbot NSFW.
Ejemplo de petición en 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)Procesa el flujo añadiendo el contenido de cada fragmento a tu búfer. Monitorea el fragmento final para los datos de uso y así rastrear los costos. El precio de los tokens es de $0,25 por millón de tokens de entrada y $1,00 por millón de tokens de salida. Los errores y rechazos no generan cargos.
Límites, errores y ventana de contexto
Cada clave de API permite 300 peticiones por minuto y 8 peticiones simultáneas. El cuerpo de la petición debe ser inferior a 8 MB. Si la clave es inválida, recibirás un error 401. Un error 402 indica crédito insuficiente. Un error 429 señala un límite de peticiones. La ventana de contexto es de 100.000 tokens en total. La salida máxima es de 32.000 tokens si se especifica. El contenido que involucra a menores siempre se rechaza. El crédito es prepago mediante criptomonedas y no caduca. Usa estos límites para diseñar lógica de reintento y gestión de colas para tu integración de API de IA sin censura.