URL base y autenticación
Empieza apuntando tu cliente compatible con OpenAI a la URL base de la API de Mimo. Recibirás una clave de API inmediatamente después de registrarte con Google o correo electrónico. Pasa esta clave en el encabezado estándar Authorization. El identificador del modelo es uncensored, que ejecuta un modelo de pesos abiertos ajustado para menos rechazos en contenido adulto lícito.
A diferencia de los servicios de suscripción, la facturación es prepago mediante cripto. Los errores no consumen crédito. Puedes verificar la conectividad listando modelos o enviando una petición de texto simple. Mantén tu clave segura; una clave por cuenta reemplaza a la anterior si generas una nueva.
Endpoint estándar de Chat Completions
Envía una petición POST estándar al endpoint de chat completions. Establece el modelo a uncensored y proporciona tus mensajes en el formato de array requerido. La API devuelve salida de texto basada en tu prompt. Puedes ajustar parámetros como temperature o top_p para controlar la creatividad.
curl https://api.mimoapi.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."}]
}'Este endpoint maneja interacciones de texto de entrada y texto de salida. No soporta embeddings, imágenes ni ajuste fino. Si necesitas esas funciones, debes usar un servicio diferente. La ventana de contexto permite 100.000 tokens en total para prompt y completion combinados.
Integración con SDK de Python
Usa la biblioteca oficial de OpenAI para Python para interactuar con la API. Sobrescribe la URL base para apuntar al endpoint de la API de Mimo. Esto te permite usar los mismos métodos de SDK que usas para GPT-4 u otros modelos. Establece la clave de API y el modelo objetivo en la configuración de tu cliente.
from openai import OpenAI
client = OpenAI(base_url="https://api.mimoapi.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)Este enfoque asegura que tu código siga siendo portátil. Si cambias de proveedor, solo cambias la URL base y la clave. El SDK de Python maneja la serialización y los reintentos automáticamente. También puedes establecer parámetros como seed para salidas deterministas.
Integración con SDK de Node.js
Instala el paquete OpenAI Node.js y configura la URL base. Pasa tu clave de API en el objeto de configuración. El cliente enrutará las peticiones al endpoint del modelo sin censura. Esto funciona con importaciones tanto de CommonJS como de módulos ES.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mimoapi.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);Los desarrolladores de Node pueden usar los mismos patrones asíncronos que usan con otros servicios compatibles con OpenAI. El SDK se encarga del parsing de streaming y la codificación JSON. Puedes configurar max_tokens para controlar la longitud de la salida; si no se especifica, el valor predeterminado es 2,048.
Respuestas en streaming (SSE)
Activa el streaming configurando stream: true en tu petición. La API devuelve Server-Sent Events (SSE) que contienen tokens parciales. Esto te permite mostrar la salida de forma progresiva a los usuarios. Las estadísticas de uso de tokens aparecen en el último fragmento del flujo.
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)El streaming reduce la latencia percibida para respuestas largas. Debes manejar los eventos del stream en tu código de cliente. La API no garantiza recuentos exactos de tokens durante el streaming, pero el último fragmento incluye datos de uso precisos. Esto es útil para la transparencia de facturación.
Límites de peticiones, errores y modo JSON
La API aplica un límite de 300 peticiones por minuto por clave y permite 8 peticiones simultáneas. Si excedes esto, recibes un error 429. Un error 401 indica una clave inválida o expirada. El crédito prepago se cobra solo por uso real de tokens; los errores y rechazos son gratuitos.
Para salida estructurada, usa el modo JSON estableciendo response_format a json_object. Esto fuerza al modelo a devolver JSON válido. Esto es útil para llamadas a funciones o extracción de datos. La ventana de contexto soporta hasta 32.000 tokens de salida por petición.