Les valeurs à copier
Quiconque cherche l'URL de base de l'API Mimo a besoin de trois valeurs, tout le reste n'est qu'un détail de l'outil que vous configurez.
| Paramètre | Valeur |
|---|---|
| URL de base | https://api.mimoapi.top/v1 |
| ID du modèle | uncensored |
| En-tête d'authentification | Authorization: Bearer YOUR_KEY |
| Endpoint de chat | POST /v1/chat/completions |
| Liste des modèles | GET /v1/models |
Le service est compatible OpenAI, donc tout client qui vous permet de modifier l'URL de base et la clé OpenAI fonctionnera. Il s'agit d'une API textuelle hébergeant un modèle à poids ouverts d'un fournisseur indépendant ; ce n'est l'API officielle d'aucun vendeur de modèle. Texte uniquement : pas de génération d'images, d'audio ou de vidéo, pas d'embeddings ni de fine-tuning, donc les clients qui attendent ces points de terminaison ne les trouveront pas. Si vous n'avez pas encore de clé, la page des clés prend une minute.
URL de base versus point de terminaison complet
La confusion la plus courante est entre l'URL de base et l'URL du point de terminaison. L'URL de base s'arrête à /v1. Le point de terminaison est l'URL de base plus un chemin. Les SDK officiels OpenAI, et la plupart des outils qui les utilisent, combinent les deux pour vous.
- URL de base :
https://api.mimoapi.top/v1 - Point de terminaison de chat :
https://api.mimoapi.top/v1/chat/completions - Point de terminaison des modèles :
https://api.mimoapi.top/v1/models
Lorsqu'un écran de paramètres demande une « URL de base », une « URL de base API », un « point de terminaison » ou un « hôte », lisez son espace réservé. Si l'espace réservé se termine par /v1, collez l'URL de base. S'il se termine par /chat/completions, collez le point de terminaison de chat complet. Coller le point de terminaison complet dans un champ qui attend une URL de base produit /chat/completions/chat/completions, qui n'existe pas. Coller uniquement le domaine nu dans un champ qui attend une base produit /chat/completions sans /v1, ce qui échoue de la même manière.
Notez également l'hôte. L'API se trouve sur le sous-domaine api. Le domaine du site principal sert les pages web, donc une requête vers celui-ci avec un chemin d'API ne touchera pas le modèle.
Python et Node
Avec les SDK officiels, vous définissez l'URL de base une seule fois lors de la création du client. Installez avec pip install openai ou npm install openai.
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": "Name three uses for a base URL."}],
max_tokens=150,
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.mimoapi.top/v1",
apiKey: process.env.LLM_API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Name three uses for a base URL." }],
max_tokens: 150,
});
console.log(resp.choices[0].message.content);
Les SDK Python et Node OpenAI lisent également les variables d'environnement OPENAI_BASE_URL et OPENAI_API_KEY lorsque vous ne passez pas de valeurs dans le code. Cela permet de réorienter un script existant sans le modifier : exportez les deux variables, et le script parlera à cette API. Vérifiez que le script ne code pas en dur un modèle comme un nom GPT ; remplacez-le par uncensored.
curl pour un test rapide
Un appel HTTP brut supprime toutes les autres variables, c'est donc la meilleure première vérification. La première commande liste les modèles et confirme la clé. La seconde envoie une requête de chat.
export LLM_API_KEY="YOUR_KEY"
curl -s https://api.mimoapi.top/v1/models \
-H "Authorization: Bearer $LLM_API_KEY"
curl -s https://api.mimoapi.top/v1/chat/completions \
-H "Authorization: Bearer $LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":20}' -i
L’option -i affiche les en-têtes de réponse. Cherchez X-Request-Id (citez-le si vous contactez le support), X-Balance-USD (votre crédit restant) et les deux en-têtes de limite de débit, X-RateLimit-Limit-Requests et X-RateLimit-Limit-Concurrency. Pour le streaming, ajoutez "stream": true au corps et -N à curl pour que la sortie ne soit pas mise en mémoire tampon. Le guide rapide de cinq minutes explique le streaming et l'appel de fonctions après cela.
LangChain, interfaces de chat et autres outils
Les outils tiers utilisent leurs propres libellés, mais tous nécessitent les mêmes trois valeurs. Voici les schémas que vous rencontrerez :
- LangChain (Python) :
ChatOpenAI(model="uncensored", base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY"). La même classe fonctionne pour n'importe quel serveur compatible OpenAI. - SillyTavern et interfaces de jeu de rôle similaires : choisissez une source de chat personnalisée ou générique compatible OpenAI, collez l'URL de base, ajoutez la clé, et tapez
uncensoredcomme nom de modèle si la liste ne se remplit pas automatiquement. - Open WebUI et autres interfaces de chat auto-hébergées : ajoutez une connexion compatible OpenAI dans les paramètres, en utilisant la même URL de base et la clé.
- Extensions et scripts d'éditeur : recherchez « endpoint OpenAI personnalisé » ou « remplacer l'URL de base » dans les paramètres de l'extension.
Les noms des menus de chaque outil changent selon les versions, alors fiez-vous à l'objectif du champ plutôt qu'au libellé exact. Si un outil insiste pour vérifier la clé auprès d'un fournisseur fixe, il n'est pas compatible avec les endpoints personnalisés, et la solution est de changer d'outil.
Lorsqu'un outil propose une liste déroulante de modèles, il la remplit généralement en appelant GET /v1/models. Si la liste reste vide, tapez l'ID de modèle à la main. Si l'outil refuse les noms de modèles inconnus, cherchez une option étiquetée « modèle personnalisé ».
Correction des erreurs de configuration courantes
Lorsqu'une requête échoue, le code de statut et l'URL exacte ciblent rapidement la cause. Parcourez cette liste.
- Erreur d'authentification. La clé est manquante, tronquée ou contient un espace ou une nouvelle ligne à la fin. Collez-la à nouveau, et assurez-vous que l'en-tête contient
Bearer, une espace, puis la clé. - Introuvable. Le chemin est incorrect. Affichez l'URL finale construite par votre client. Elle doit être exactement
https://api.mimoapi.top/v1/chat/completions. Recherchez un/v1manquant, un chemin en double ou le mauvais hôte. - Modèle inconnu. Un nom de modèle résiduel d'un autre fournisseur. Définissez le modèle sur
uncensored. - HTTP 429 avec
rate_limitedouconcurrency. Vous dépassez les 300 requêtes par minute ou 8 simultanées (60 et 2 sur une clé d'essai). Ralentissez ou mettez les requêtes en file d'attente. Un 429 avec un en-têteRetry-After: 5signifie une surcharge temporaire ; attendez cinq secondes et réessayez. - Requête trop volumineuse. La limite du corps est de 8 Mo, et la fenêtre de contexte est de 100 000 tokens pour le prompt plus la complétion. Réduisez l'historique.
- Fonctionne dans curl, échoue dans le navigateur. Appeler l'API directement depuis du JavaScript côté client expose votre clé à tous les visiteurs. Routez les appels via votre propre serveur.
Ne placez jamais la clé dans un dépôt public ou un paquet côté client. Stockez-la dans une variable d'environnement et gardez-la hors des captures d'écran et des tickets de support.
Étapes suivantes après le premier appel réussi
Une fois que l'URL de base fonctionne, quelques paramètres valent la peine d'être connus. Le streaming sur SSE est activé avec stream: true. L'appel de fonctions utilise tools et tool_choice, avec les résultats renvoyés sous forme de messages role: "tool". Le mode JSON est response_format: {"type": "json_object"}. Les contrôles d'échantillonnage tels que temperature, top_p, stop, seed et les pénalités sont transmis.
Côté financier, vous payez 0,15 $ par 1M de tokens d'entrée et 0,50 $ par 1M de tokens de sortie depuis votre crédit prépayé ; la page tarifs liste les montants de rechargement et les bonus. Le modèle est ajusté pour répondre sans refus de contenu pour un usage adulte légal, et le contenu sexuel impliquant des mineurs est strictement interdit. Les prompts ne sont pas utilisés pour l'entraînement.
