Inicio rápido para usuarios de OpenRouter
Migra tus llamadas a la API de OpenRouter a nuestro endpoint sin censura en minutos cambiando la URL base y la clave de API. Esta guía cubre las integraciones esenciales para generación de texto, streaming y salidas estructuradas.
Empieza con crédito de prueba
Correo y contraseña; la clave aparece al instante en pantalla.
Obtener clave de APIInstalación y configuración
Nuestra API es totalmente compatible con los SDK estándar de OpenAI. Para cambiar de OpenRouter, solo necesitas actualizar dos valores de configuración: el base_url y el api_key. Apunta tu cliente a https://api.openrouterapi.cc/v1 y usa la clave generada en nuestro panel. No se requieren cabeceras personalizadas ni lógica de enrutamiento compleja. El ID del modelo a solicitar es uncensored.
Asegúrate de que la versión de tu SDK soporte el parámetro base_url. Si usas un cliente HTTP en bruto, simplemente actualiza la URL de destino. Esta configuración asegura que tu código de cliente existente funcione sin modificaciones, siempre que solo envíes solicitudes de completado de texto.
Autenticación
La autenticación se maneja mediante la cabecera estándar Authorization. Pasa tu clave de API como un token Bearer. Si la clave no es válida o ha expirado, la API devuelve un error 401. A diferencia de algunos proveedores, no cobramos por las solicitudes fallidas; los errores y rechazos son gratuitos, por lo que puedes probar la autenticación sin consumir crédito.
Cada cuenta admite una clave activa a la vez. Generar una nueva clave invalida inmediatamente la anterior. Mantén tu clave segura y rotarla si sospechas exposición. La clave se muestra inmediatamente después del registro, así que cópiala antes de salir de la página.
Completado básico de chat
La funcionalidad principal es el endpoint POST /v1/chat/completions. Envía tu prompt como una lista de mensajes y recibe una respuesta de texto. El modelo está ajustado para responder sin rechazos de contenido para uso adulto lícito, lo que lo hace adecuado para temas creativos, controvertidos o de investigación de seguridad.
Establece el campo model en uncensored. Puedes controlar el comportamiento usando parámetros como temperature, top_p y stop. La API admite modo JSON a través de response_format y llamadas a funciones a través de tools. Todas las peticiones se procesan de forma asíncrona y recibes la finalización completa una vez que el modelo termina.
Respuestas en streaming
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve Server-Sent Events (SSE) con respuestas parciales. Recibes fragmentos de texto a medida que se generan, lo que permite su visualización en tiempo real en tu aplicación.
La información de uso de tokens se proporciona en el último fragmento del stream. Esto te permite rastrear los costos con precisión sin analizar cada token individual. El streaming es ideal para interfaces de chat donde importa la latencia. Asegúrate de que tu cliente maneje SSE correctamente y cierre la conexión cuando termine el stream.
Llamadas a funciones
La API admite llamadas a funciones a través del parámetro tools. Define tus funciones en la matriz tools y establece tool_choice en auto o en un nombre de función específico. El modelo devolverá argumentos JSON estructurados si se activa una función.
Esta función es útil para integrar el LLM con APIs o bases de datos externas. Asegúrate de que las definiciones de tus funciones sean precisas, ya que el modelo depende de ellas para generar argumentos válidos. La API no ejecuta las funciones; debes manejar la lógica de ejecución en el código de tu aplicación.
Modo JSON
Para salidas estructuradas, usa response_format: {"type": "json_object"}. Esto obliga al modelo a devolver JSON válido, lo cual es esencial para analizar datos en aplicaciones posteriores. El modo JSON suele ser más fiable que las llamadas a funciones para tareas simples de extracción de datos.
Asegúrate de que tus prompts instruyan claramente al modelo para que devuelva JSON. Pueden producirse respuestas JSON inválidas si el prompt es ambiguo. El modo JSON es compatible en los modos estándar y de streaming. Úsalo cuando necesites salidas predecibles y legibles por máquina.
Límites, errores y contexto
La ventana de contexto es de 100.000 tokens para prompt y finalización combinados. La salida máxima es de 32.000 tokens por petición (2.048 si no se establece max_tokens). Los límites de peticiones son de 300 peticiones por minuto y 8 peticiones simultáneas por clave. Los cuerpos de las peticiones están limitados a 8 MB.
Los errores devuelven códigos HTTP estándar: 401 para claves inválidas, 402 para crédito insuficiente y 429 por límites de peticiones. El crédito es prepago, por lo que un error 402 significa que necesitas recargar. Los errores y las denegaciones son gratuitos, así que puedes reintentar sin coste. El filtro estricto de contenido bloquea el contenido sexual que involucra a menores.
cURL
curl https://api.openrouterapi.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.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);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)Ficha técnica de la API
Una tabla con cada límite, función y precio.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| ID del modelo | uncensored |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.openrouterapi.cc/v1 |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Modo JSON | response_format: {"type": "json_object"} |
| Límite de peticiones | 300 por minuto por clave |
| Concurrencia | 8 peticiones a la vez por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Tamaño de petición | hasta 8 MB |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Bono | +5 % desde $50, +10 % desde $100 |
| 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 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| Acceso | Google o correo y contraseña |
| Contenido | contenido 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ódigo | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |
Preguntas y respuestas
¿Es esta la API oficial de OpenRouter?
No, este es un servicio independiente. Ofrecemos un único modelo sin censura compatible con la estructura de URL base de OpenRouter. No servimos los modelos agregados ni la lógica de enrutamiento de OpenRouter.
¿Cómo pago por la API?
Aceptamos pagos solo con criptomonedas: USDT (TRC20) o USDC (Base). Puedes recargar cualquier cantidad entera desde $10 hasta $500. No aceptamos tarjetas de crédito ni PayPal.
¿Se usan los prompts para el entrenamiento?
No, tus prompts no se usan para entrenamiento. Solo requerimos una dirección de correo electrónico para tu cuenta y no almacenamos ni usamos tus datos para mejorar el modelo.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.