URL Base y Autenticación
Inicia cada solicitud apuntando tu SDK a nuestra URL base y proporcionando tu clave de API en el encabezado de autorización.
El endpoint es https://api.openrouterabliteratedmodels.com/v1. Autentícate utilizando un token Bearer generado en el panel de tu cuenta. Esta clave es la única credencial requerida para todas las llamadas subsiguientes, asegurando que tus solicitudes se enruten directamente a nuestra infraestructura de modelo sin censura sin capas de enrutamiento intermedias.
Primera solicitud
Envía tu primera finalización enviando un mensaje al punto de conexión de completados de chat usando tu cliente HTTP preferido.
El identificador del modelo es estrictamente uncensored. Puedes enviar prompts de texto con parámetros estándar como temperatura o top_p. La API devuelve una respuesta de texto sin negativas de contenido para temas adultos legales, manteniendo el comportamiento abliterated que esperas de modelos de peso abierto ajustados para salida sin restricciones.
curl https://api.openrouterabliteratedmodels.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Calculate the factorial of 5."}]
}'
SDK de Python
Integra la API en tus proyectos Python estableciendo la URL base y el nombre del modelo en la configuración de tu cliente de OpenAI.
Este enfoque te permite reutilizar el código existente que espera un punto final compatible con OpenAI. Pasa tu clave API mediante variables de entorno o inicialización directa. El cliente maneja la serialización y el análisis de errores automáticamente, entregando tokens de texto sin procesar o JSON estructurado dependiendo de tu configuración de formato de respuesta.
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterabliteratedmodels.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)
SDK Node
Conecta tus aplicaciones Node.js configurando el paquete OpenAI para que apunte a nuestra URL base específica en lugar de la predeterminada.
Establece el apiKey y baseURL propiedades antes de realizar cualquier llamada. Esto asegura que tus llamadas a funciones, respuestas en streaming y solicitudes en modo JSON se dirijan a nuestra infraestructura uncensored. Puedes continuar usando métodos familiares como chat.completions.create con total compatibilidad.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterabliteratedmodels.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);
Streaming con SSE
Recibe generación de texto en tiempo real activando el modo de streaming, que entrega tokens a medida que están disponibles mediante Server-Sent Events.
Establece el parámetro stream a true en tu solicitud. La API devuelve una serie de fragmentos, lo que te permite renderizar texto de forma incremental en tu interfaz de usuario. Las estadísticas de uso de tokens se incluyen en el último fragmento, para que puedas seguir el consumo con precisión sin esperar a que termine de generarse toda la respuesta.
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)
Modo JSON y llamada de funciones
Garantiza una salida estructurada o habilita el uso de herramientas configurando el formato de la solicitud y las definiciones de herramientas en tu carga útil.
Usar response_format establecido a json_object para asegurar que el modelo devuelva JSON válido sin envoltorios markdown. Para la llamada a funciones, define tus herramientas en el cuerpo de la solicitud y deja que el modelo decida cuándo invocarlas. Esto admite flujos de trabajo complejos donde el modelo sin censura debe devolver datos estructurados para el procesamiento posterior.