URL base y autenticación
La API de Unrestricted AI se aloja en https://api.unrestrictedai.top/v1. Sigue la estructura de completiones de chat de OpenAI, lo que significa que puedes usar SDKs existentes de OpenAI simplemente actualizando el base_url y proporcionando tu clave de API. Solo necesitas una clave activa por cuenta, y otorga acceso inmediato al modelo sin censura. La autenticación se maneja mediante el encabezado Authorization usando el esquema Bearer. Asegúrate de mantener tu clave segura, ya que controla el uso de tu crédito prepago. A diferencia de los servicios de suscripción, solo pagas por los tokens procesados, con errores y rechazos facturados con cero tokens.
Tu primera petición
Envía una petición estándar de chat completions para probar la conectividad. El ID del modelo es siempre uncensored. Este endpoint acepta entrada de texto y devuelve salida de texto, admitiendo hasta 100.000 tokens en la ventana de contexto. Si no especificas max_tokens, la API usa por defecto 2.048 tokens de salida. Esta simple petición POST demuestra la funcionalidad principal: enviar un prompt y recibir una respuesta generada sin filtros de contenido para temas adultos lícitos o controversiales.
Integración con SDK de Python
Usar la biblioteca oficial de Python de OpenAI es la forma más rápida de integrar. Apunta el cliente a nuestra URL base y pasa tu clave. El siguiente código muestra una petición sincrónica básica. Este enfoque maneja el análisis JSON automáticamente, permitiéndote acceder al contenido de la respuesta directamente en tus variables de Python. Es ideal para servicios backend o procesamiento por lotes donde la latencia de streaming es menos crítica que la simplicidad del código.
Integración con SDK de Node.js
Para entornos JavaScript, configura el cliente Node.js de OpenAI para apuntar a nuestro endpoint. La naturaleza asíncrona de Node.js se combina bien con el tiempo de respuesta de la API. Establece la URL base correctamente y el SDK se encargará del formato de la petición. Recuerda que esta API no admite endpoints de imagen, audio ni incrustaciones de texto, así que limita tus completados al texto. Este método es adecuado para servidores web o funciones de borde donde necesites inyectar respuestas de LLM sin censura en contenido dinámico.
Respuestas en streaming
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve datos mediante Server-Sent Events (SSE), permitiéndote recibir tokens en tiempo real. El uso de tokens y las métricas de facturación se incluyen en el último fragmento del flujo. Esto reduce la latencia percibida para los usuarios finales, especialmente para salidas largas. Se recomienda el streaming para interfaces de chat donde la renderización inmediata del texto mejora la experiencia del usuario. Monitorea el último fragmento para obtener el recuento total de tokens y rastrear tu crédito prepago con precisión.
Límites, errores y contexto
Cada clave de API está limitada a 300 peticiones por minuto y 8 peticiones simultáneas. El cuerpo de la petición no debe exceder 8 MB. Los errores comunes incluyen 401 para claves inválidas, 402 cuando el crédito prepago se agota, y 429 por límites de peticiones. La ventana de contexto admite 100,000 tokens en total, incluyendo tanto el prompt como la generación. Si excedes estos límites, implementa retroceso exponencial. El crédito no caduca, y errores como cargos dobles se manejan a través de la página de Soporte, asegurando que retienes tu valor prepago indefinidamente.
cURL
curl https://api.unrestrictedai.top/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.unrestrictedai.top/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.unrestrictedai.top/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)