URL Base y autenticación
Tus solicitudes van a https://api.modelunrestricted.com/v1. Incluye tu clave de API en el Authorization header. No requerimos número de teléfono para registrarte. El inicio de sesión con Google o correo electrónico te da acceso inmediato.
curl https://api.modelunrestricted.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a simple python loop"}]
}'La clave se genera al instante. Guárdala de forma segura. Identifica tu cuenta y créditos. Errores como 401 significan que la clave es incorrecta. Revisa tu panel.
Endpoint de completados de chat
Envía mensajes a POST /v1/chat/completions. Esta es la forma estándar de obtener respuestas de texto. El ID de nuestro modelo es uncensored. Responde sin denegar contenido adulto lícito.
from openai import OpenAI
client = OpenAI(base_url="https://api.modelunrestricted.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)Establece el nombre del modelo explícitamente. Usa temperature para la creatividad. Ajusta top_p para la diversidad. La API devuelve JSON estructurado. Analízalo en tu código.
Respuestas en streaming con SSE
Habilita la transmisión estableciendo stream: true. Recibes tokens a medida que se generan. Esto reduce la latencia percibida. Se siente más rápido para los usuarios.
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)Lee el último fragmento para el uso de tokens. Acumula el texto localmente. Maneja los errores de red de manera elegante. SSE es estándar en la mayoría de los SDKs. Úsalo para interfaces en tiempo real.
Llamada a funciones y herramientas
Define las herramientas en tu solicitud. El modelo devuelve argumentos estructurados. Utiliza tool_choice para forzar funciones específicas. Esto funciona como otras APIs compatibles con OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.modelunrestricted.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);Analiza las llamadas a herramientas. Ejecuta tu código. Devuelve los resultados a la conversación. Esto permite flujos de trabajo complejos. Prueba los casos límite temprano.
aplicación estricta del modo JSON
Establecer response_format para {"type": "json_object"}. El modelo produce JSON válido. Esto es crucial para la integración programática. Evita errores de análisis en producción.
Establecer temperature más bajo para mayor consistencia. Los valores más altos pueden romper la sintaxis. Valida el esquema de salida. Reintenta en caso de error. El modo JSON es fiable para datos estructurados.
Límites, errores y contexto
Nuestra ventana de contexto es de 100.000 tokens en total. La salida máxima es de 16.000 tokens. Los errores y las denegaciones no cuestan nada. 402 significa sin crédito. Recarga con cripto. 429 significa límite de velocidad. Espera y reintenta. Permitimos 300 solicitudes por minuto por clave. Ocho solicitudes concurrentes están bien. Mantén tus cargas útiles por debajo de 8 MB. Esto garantiza la estabilidad. No se aplican tarifas de suscripción. Los créditos nunca caducan. Usa la ventana completa sabiamente.