Cambia tu cliente en tres líneas
Esta guía de inicio rápido te muestra cómo integrar tu cliente con nuestra API compatible con OpenAI y sin censura utilizando el formato estándar del endpoint de Mistral. Aprenderás a autenticarte, enviar peticiones y manejar respuestas en streaming sin overhead de configuración.
URL base y autenticación
Para usar la API, apunta tu cliente a https://api.mistralapi.top/v1. La autenticación se basa en un token Bearer incluido en el encabezado Authorization. Generas esta clave en la página Obtener clave de API usando una cuenta de Google o una configuración estándar de correo electrónico y contraseña. La clave se muestra inmediatamente tras su creación. Mantén este token seguro, ya que otorga acceso completo a tu crédito prepago. A diferencia de los proveedores estándar, no requerimos número de teléfono ni tarjeta de crédito para activar el crédito de prueba inicial.
Nuestro servicio está diseñado para integrarse directamente en las configuraciones existentes de clientes Mistral o OpenAI. Simplemente actualiza la propiedad base_url en tu instancia de SDK. La estructura del endpoint coincide con el formato estándar /v1/chat/completions, lo que garantiza que tu código existente funcione sin modificaciones. Admitimos un único ID de modelo, uncensored, que maneja todas las tareas de generación de texto.
Endpoint de completados de chat
La interacción principal ocurre a través del endpoint POST /v1/chat/completions. Envías un cuerpo JSON que contiene tu ID de model, el array de messages y parámetros opcionales. La API devuelve una respuesta de texto o datos estructurados si especificas el modo JSON. Este endpoint es la forma principal de interactuar con el LLM. Admite tanto peticiones síncronas estándar como respuestas en streaming. Cada petición consume tokens de tu saldo prepago según el volumen de entrada y salida.
Los errores se manejan mediante códigos de estado HTTP estándar. Si tu clave no es válida, recibirás un 401. Si te quedas sin crédito, recibirás un 402. Los límites de peticiones se aplican a 300 peticiones por minuto y 8 conexiones concurrentes por clave. Usa el siguiente ejemplo para verificar tu conexión y la validez de tu clave.
curl https://api.mistralapi.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."}]
}'
Respuestas en streaming (SSE)
Para una menor latencia y mejor experiencia de usuario, habilita el streaming estableciendo stream: true en el cuerpo de tu petición. La API devuelve un flujo de Server-Sent Events (SSE). Cada fragmento contiene una respuesta parcial. El último fragmento incluye las estadísticas completas de uso de tokens para la petición. Esto permite que tu aplicación muestre los tokens a medida que se generan, en lugar de esperar a la finalización completa. El streaming es ideal para interfaces de chat donde la retroalimentación inmediata es crítica.
Al usar streaming, asegúrate de que tu cliente analice correctamente el formato SSE. El array choices en cada fragmento contendrá contenido delta. Debes acumular estos deltas para construir la respuesta completa. El uso de tokens solo está disponible en el último evento del flujo. Usa este método para mantener a tus usuarios comprometidos mientras el modelo procesa prompts complejos.
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)Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralapi.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);Preguntas y respuestas
¿Es esta la API oficial de Mistral?
No. Somos un servicio independiente que imita la estructura del endpoint de la API de Mistral. Servimos nuestro propio modelo sin censura, no los modelos propietarios de Mistral. Usa esta API si buscas la misma compatibilidad con clientes pero con políticas de contenido y precios diferentes.
¿Cómo recargo mi crédito?
Las recargas se realizan únicamente mediante criptomonedas (USDT en TRC20 o USDC en Base). La recarga mínima es de $10 y la máxima de $500. Recibes un bono del 5% por recargas superiores a $50 y un bono del 10% por recargas superiores a $100. No aceptamos tarjetas de crédito ni PayPal.
¿Cuál es el límite de la ventana de contexto?
El modelo admite una ventana de contexto de 100.000 tokens para prompt y completion combinados. La salida máxima por petición es de 32.000 tokens, o 2.048 tokens si no especificas el <code>max_tokens</code> parámetro.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.
Especificaciones técnicas
Todos los límites y funciones reales de la API en un solo lugar: revísalos antes de recargar.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| ID del modelo | uncensored |
| Base URL | https://api.mistralapi.top/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticación | Authorization: Bearer YOUR_KEY |
| 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 |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Modo JSON | response_format: {"type": "json_object"} |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| 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 |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Bono | +5 % desde $50, +10 % desde $100 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| 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 |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| 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 |