ES ▾
Obtener clave de API

NSFW de OpenRouter: Inicio rápido de la API de LLM sin censura

Empieza a construir con nuestra API de LLM sin censura dedicada en minutos. Usa endpoints compatibles con OpenAI estándar para enviar texto y recibir respuestas sin filtros sin cambiar de modelo ni usar filtros ocultos.

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.

Especificaciones técnicas

Una tabla con cada límite, función y precio.

ElementoValor
Formatocompatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave
EndpointsPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nsfwllmrouter.com/v1
AutenticaciónAuthorization: Bearer YOUR_KEY
ID del modelouncensored
Salida máximahasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte)
Modo JSONresponse_format: {"type": "json_object"}
Streamingsí: server-sent events; el último fragmento incluye el uso de tokens
Parámetrostemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Ventana de contexto100.000 tokens (entrada + salida)
Llamadas a funcionessí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool
CabecerasX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Tamaño de peticiónhasta 8 MB
Límite de peticiones300 por minuto por clave
Concurrencia8 peticiones a la vez por clave
Caducidadel crédito pagado no caduca, sin suscripción
RecargaUSDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500
Bono+5 % desde $50, +10 % desde $100
Precio$0,25 por 1M tokens de entrada · $1,00 por 1M de salida
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
Facturacióncrédito prepago por uso real; errores y rechazos no se cobran
AccesoGoogle o correo y contraseña
Clavesuna clave activa por cuenta; una nueva reemplaza a la anterior
Contenidocontenido 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ódigoTipoSignificado
400bad_requestJSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo
401missing_key · invalid_key · key_revokedfalta la clave, es incorrecta o fue reemplazada
402no_creditsin crédito: recarga y sigue al instante
403content_blockedcontenido sexual con menores: rechazado, no se cobra
404not_foundendpoint desconocido
413request_too_largecuerpo mayor de 8 MB
429rate_limited · concurrencymás de 300/min o 8 en paralelo: espera y reintenta
503upstream_busymodelo ocupado: reintenta en unos segundos

Preguntas y respuestas

¿Eres un revendedor de OpenRouter?

No, somos un servicio independiente que ejecuta nuestro propio modelo sin censura en nuestros propios servidores GPU. No somos un partner ni revendedor oficial de OpenRouter, aunque nuestra API es compatible con OpenAI. No enrutamos entre modelos de otros proveedores.

¿Cuál es el tamaño de la ventana de contexto?

La ventana de contexto es de 100.000 tokens, lo que incluye tanto el prompt de entrada como la finalización de salida. Esto permite conversaciones largas o el procesamiento de documentos grandes dentro de una sola petición.

¿Admiten el modo JSON?

La hoja de características no enumera explícitamente el modo JSON como una función distinta, aunque el modelo puede generar JSON si se le indica correctamente. Para garantías de formato específicas, consulta la documentación del modelo o prueba con tu caso de uso. Nos centramos en proporcionar la capacidad de generación de texto sin censura.

Tu clave está a un formulario de distancia

Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.

Obtener clave de API