Inicio rápido API Mukenetsu AI
La API de Mukenetsu AI es un servicio LLM sin censura con endpoints compatibles con OpenAI. Integra tus SDKs existentes cambiando solo la URL base y configurando la clave de API para generar texto sin restricciones.
- URL base
https://api.mukenetsuapi.com/v1- Modelo
uncensored
Configuración básica y URL base
Mukenetsu AI es una API REST compatible con OpenAI. Puedes usar tus clientes y SDKs existentes con mínimos cambios. Usa la siguiente URL base para comunicarte con la API.
https://api.mukenetsuapi.com/v1
A diferencia de otros servicios LLM, no necesitas elegir endpoints complejos ni configurar extras. Solo ofrecemos un endpoint de chat completion y uno para listar modelos. Esta simplicidad acelera tu desarrollo.
La clave de API se obtiene al instante al registrarte con tu correo electrónico y contraseña en la página Obtener clave de API. No necesitas operar el panel de control. Además, priorizamos la privacidad: los datos del prompt no se usan para entrenar el modelo.
Autenticación y clave de API
El acceso a la API requiere autenticación mediante el encabezado Authorization: Bearer <API_KEY>. Utiliza la clave de API de Mukenetsu AI generada al crear la cuenta. Aunque se asigna una clave por cuenta, puedes regenerarla en cualquier momento si lo necesitas. Ten en cuenta que al regenerar la clave, la anterior quedará invalidada.
Si ocurre un error de autenticación, normalmente se devuelve una respuesta 401 (Unauthorized) o 402 (Payment Required). El 401 indica que la clave es incorrecta o está deshabilitada; el 402 significa que el saldo de crédito de tu cuenta es insuficiente. El crédito es prepago y puedes recargarlo desde $10 o más con criptomonedas (USDT, USDC).
Endpoint de chat completion
El endpoint principal para la generación de texto es POST /v1/chat/completions. Al enviar una petición a este endpoint, puedes generar texto incluyendo el historial de conversaciones y el prompt del sistema. Especifica el ID del modelo como uncensored. Se trata de un modelo de pesos abiertos único, diferente a los modelos GPT de OpenAI o de otros proveedores.
El siguiente ejemplo muestra cómo generar texto básico con curl. Los parámetros necesarios son el ID del modelo, los mensajes y, opcionalmente, activar el streaming.
curl https://api.mukenetsuapi.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."}]
}'Este endpoint no ofrece embeddings, generación de imágenes ni conversión de voz. Está especializado exclusivamente en la finalización y generación de texto.
Streaming (SSE)
Si deseas obtener el texto generado en tiempo real, puedes utilizar el modo streaming. Al incluir "stream": true en la petición, el servidor devuelve los datos de forma secuencial en formato de eventos enviados por el servidor (SSE). Esto permite al usuario mostrar parte del texto antes de que finalice la generación.
Si utilizas el SDK de OpenAI en Python o la biblioteca cliente de Node.js, el procesamiento de streaming se realiza automáticamente solo indicando la opción stream=True. El manejador de eventos recibe fragmentos por token.
from openai import OpenAI
client = OpenAI(base_url="https://api.mukenetsuapi.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)El streaming mejora la experiencia en respuestas largas o aplicaciones interactivas. Sin embargo, si se corta la conexión durante el streaming, no recibirás más eventos.
Llamadas a funciones
La API de Mukenetsu AI admite llamadas a funciones (tool calling). Esto facilita la integración con APIs externas o bases de datos. Al incluir el campo tools y el parámetro tool_choice en el cuerpo de la petición, puedes hacer que el modelo ejecute una función específica.
El modelo decide si llamar a una función o devolver texto normal según sea necesario. Una vez completada la llamada, puedes obtener una respuesta más detallada añadiendo el resultado de la función a messages y pasándoselo al modelo.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mukenetsuapi.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);Esta función es ideal para aplicaciones tipo agente o automatización de tareas complejas. Al ser compatible con OpenAI, puedes reutilizar tu lógica existente de llamadas a funciones.
Límites de peticiones y restricciones
El uso de la API tiene las siguientes limitaciones: máximo 300 peticiones por minuto y un tamaño máximo del cuerpo de la petición de 8 MB. Si superas estos límites, se devuelve un error 429 (Too Many Requests). La ventana de contexto es de 100,000 tokens (suma del prompt y el texto generado). Para conversaciones o documentos largos, debes dividirlos apropiadamente antes de enviarlos.
Al recibir respuestas en streaming, sigue este flujo de eventos.
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)Además, el contenido sexual con menores está estrictamente limitado por razones legales. Otros contenidos adultos legales, ficción, investigación de seguridad y temas controvertidos se generan sin censura.
Funciones y límites
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 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.mukenetsuapi.com/v1 |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| 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) |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Tamaño de petición | hasta 8 MB |
| Concurrencia | 8 peticiones a la vez por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Límite de peticiones | 300 por minuto por clave |
| 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ón | crédito prepago por uso real; errores y rechazos no se cobran |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Recarga | USDT (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 |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| Acceso | Google o correo y contraseña |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
Códigos de error
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 frecuentes
¿Dónde obtengo la clave de API?
Obtén tu clave de API al registrarte con correo y contraseña en la página «Get API key». No necesitas el panel de control; la clave se muestra inmediatamente tras el registro.
¿Qué modelo se utiliza?
Se usa el modelo de pesos abiertos con ID «uncensored». A diferencia de GPT, Claude o Gemini, funciona en nuestros servidores GPU. No divulgamos aún la arquitectura ni los benchmarks.
¿Qué pasa si hay un error durante el streaming?
Si se corta la conexión, no recibirás más eventos. Reenvía la petición desde el punto de corte o envía una petición normal (no streaming) para obtener la respuesta completa.
Obtén la clave de API con un solo formulario
Crear cuenta, copiar la clave y cambiar la URL base. Con esto ya está todo configurado.