Die zu kopierenden Werte
Jeder, der nach der Mimo-API-Base-URL sucht, benötigt drei Werte, und alles andere ist ein Detail des Tools, das du konfigurierst.
| Einstellung | Wert |
|---|---|
| Base-URL | https://api.mimoapi.top/v1 |
| Modell-ID | uncensored |
| Auth-Header | Authorization: Bearer YOUR_KEY |
| Chat-Endpunkt | POST /v1/chat/completions |
| Modellliste | GET /v1/models |
Der Dienst ist OpenAI-kompatibel, daher funktioniert jeder Client, mit dem du die OpenAI-Basis-URL und den Schlüssel ändern kannst. Es ist eine gehostete Text-API, die ein Open-Weight-Modell eines unabhängigen Anbieters ausführt; es ist nicht die offizielle API eines Modellherstellers. Nur Text: Es gibt keine Bild-, Audio- oder Videogenerierung, keine Embeddings und kein Fine-Tuning, daher finden Clients, die diese Endpunkte erwarten, sie nicht. Wenn du noch keinen Schlüssel hast, dauert es auf der Schlüssel-Seite nur eine Minute.
Base-URL versus vollständiger Endpunkt
Die häufigste Verwechslung besteht zwischen der Base-URL und der Endpunkt-URL. Die Base-URL endet bei /v1. Der Endpunkt ist die Base plus ein Pfad. Offizielle OpenAI-SDKs und die meisten darauf aufbauenden Tools verknüpfen die beiden für dich.
- Basis-URL:
https://api.mimoapi.top/v1 - Chat-Endpunkt:
https://api.mimoapi.top/v1/chat/completions - Modelle-Endpunkt:
https://api.mimoapi.top/v1/models
Wenn ein Einstellungsbildschirm nach einer „Basis-URL“, einer „API-Base-URL“, einem „Endpunkt“ oder einem „Host“ fragt, lies den Platzhalter. Wenn der Platzhalter mit /v1 endet, füge die Basis-URL ein. Wenn er mit /chat/completions endet, füge den vollständigen Chat-Endpunkt ein. Das Einfügen des vollständigen Endpunkts in ein Feld, das eine Basis erwartet, ergibt /chat/completions/chat/completions, was nicht existiert. Das Einfügen der nackten Domain in ein Feld, das eine Basis erwartet, ergibt /chat/completions ohne /v1, was ebenfalls fehlschlägt.
Achte auch auf den Host. Die API liegt auf der api-Subdomain. Die reine Domain der Website bedient die Webseiten, daher erreicht eine Anfrage an diese Domain mit einem API-Pfad das Modell nicht.
Python und Node
Mit den offiziellen SDKs setzt du die Basis-URL einmal beim Erstellen des Clients. Installiere mit pip install openai oder 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);
Die Python- und Node.js-OpenAI-SDKs lesen auch die Umgebungsvariablen OPENAI_BASE_URL und OPENAI_API_KEY, wenn du keine Werte im Code übergibst. Das macht es möglich, ein bestehendes Skript umzuleiten, ohne es zu bearbeiten: Exportiere die beiden Variablen, und das Skript spricht mit dieser API. Stelle sicher, dass das Skript kein Modell wie einen GPT-Namen hart codiert; ersetze es durch uncensored.
curl für einen schnellen Test
Ein einfacher HTTP-Aufruf entfernt jede andere Variable, daher ist er die beste erste Prüfung. Der erste Befehl listet Modelle auf und bestätigt den Schlüssel. Der zweite sendet eine Chat-Anfrage.
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
Das -i-Flag gibt Antwort-Header aus. Achte auf X-Request-Id (zitiere es bei einer Anfrage an den Support), X-Balance-USD (dein verbleibendes Guthaben) sowie die beiden Ratenlimit-Header X-RateLimit-Limit-Requests und X-RateLimit-Limit-Concurrency. Füge für das Streaming "stream": true zum Body und -N zu curl hinzu, damit die Ausgabe nicht gepuffert wird. Der fünfminütige Schnellstart erklärt das Streaming und Function Calling im Anschluss.
LangChain, Chat-Frontends und andere Tools
Drittanbieter-Tools verwenden eigene Bezeichnungen, aber alle benötigen dieselben drei Werte. Einige Muster, die du sehen wirst:
- LangChain (Python):
ChatOpenAI(model="uncensored", base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY"). Dieselbe Klasse funktioniert für jeden OpenAI-kompatiblen Server. - SillyTavern und ähnliche Roleplay-Frontends: wähle eine benutzerdefinierte oder generische OpenAI-kompatible Chat-Quelle, füge die Basis-URL ein, füge den Schlüssel hinzu und gib
uncensoredals Modellnamen ein, falls sich die Liste nicht von selbst füllt. - Open WebUI und andere selbst gehostete Chat-Oberflächen: füge in den Einstellungen eine OpenAI-kompatible Verbindung hinzu, unter Verwendung derselben Basis-URL und desselben Schlüssels.
- Editor-Plugins und Skripte: suche in den Plugin-Einstellungen nach „benutzerdefinierter OpenAI-Endpunkt“ oder „Basis-URL überschreiben“.
Die Menünamen jedes Tools ändern sich zwischen Versionen, daher verlasse dich auf den Zweck des Felds statt auf die genaue Bezeichnung. Wenn ein Tool darauf besteht, den Schlüssel gegen einen festen Anbieter zu prüfen, ist er nicht mit benutzerdefinierten Endpunkten kompatibel, und ein anderes Tool ist die Lösung.
Wenn ein Tool eine Modellauswahl anbietet, füllt es diese normalerweise durch Aufruf von GET /v1/models. Wenn die Auswahl leer bleibt, gib die Modell-ID manuell ein. Wenn das Tool unbekannte Modellnamen ablehnt, suche nach einer Option mit der Bezeichnung „benutzerdefiniertes Modell“.
Behebung der üblichen Konfigurationsfehler
Wenn eine Anfrage fehlschlägt, schränken der Statuscode und die genaue URL die Ursache schnell ein. Gehe diese Liste durch.
- Authentifizierungsfehler. Der Schlüssel fehlt, ist abgeschnitten oder hat am Ende ein Leerzeichen oder einen Zeilenumbruch. Füge ihn erneut ein und stelle sicher, dass der Header aus
Bearer, einem Leerzeichen und dann dem Schlüssel besteht. - Nicht gefunden. Der Pfad ist falsch. Gib die finale URL aus, die dein Client erstellt. Sie sollte genau
https://api.mimoapi.top/v1/chat/completionslauten. Suche nach einem fehlenden/v1, einem doppelten Pfad oder dem falschen Host. - Unbekanntes Modell. Ein übrig gebliebener Modellname eines anderen Anbieters. Setze das Modell auf
uncensored. - HTTP 429 mit
rate_limitedoderconcurrency. Du überschreitest 300 Anfragen pro Minute oder 8 gleichzeitig (60 und 2 bei einem Trial-Schlüssel). Verlangsame dich oder stelle Anfragen in eine Warteschlange. Ein 429 mit einemRetry-After: 5-Header bedeutet temporäre Überlastung; warte fünf Sekunden und wiederhole die Anfrage. - Anfrage zu groß. Die Body-Grenze beträgt 8 MB, und das Kontextfenster umfasst 100.000 Token für Prompt plus Completion. Kürze den Verlauf.
- Funktioniert in curl, scheitert im Browser. Das direkte Aufrufen der API aus Frontend-JavaScript setzt deinen Schlüssel jedem Besucher aus. Leite Aufrufe über deinen eigenen Server.
Lege den Schlüssel niemals in ein öffentliches Repository oder ein Client-seitiges Bundle. Speichere ihn in einer Umgebungsvariable und halte ihn aus Screenshots und Support-Tickets heraus.
Nächste Schritte nach dem ersten erfolgreichen Aufruf
Sobald die Basis-URL funktioniert, sind einige Einstellungen gut zu kennen. Streaming über SSE wird mit stream: true aktiviert. Tool Calling verwendet tools und tool_choice, wobei Ergebnisse als role: "tool"-Nachrichten zurückgesendet werden. JSON-Modus ist response_format: {"type": "json_object"}. Sampling-Parameter wie temperature, top_p, stop, seed und die Strafen werden durchgereicht.
Finanziell zahlst du $0,15 pro 1M Input-Token und $0,50 pro 1M Output-Token aus Prepaid-Guthaben; die Preisseite listet Aufladungsgrößen und Boni auf. Das Modell ist darauf abgestimmt, ohne Inhaltsabweisungen für die rechtmäßige Nutzung durch Erwachsene zu antworten, und sexuelle Inhalte mit Minderjährigen sind niemals erlaubt. Prompts werden nicht zum Training verwendet.
