API-Referenz
Drei Adressen unter https://api.mimir-mentor.com. Alle brauchen den Kopf x-api-key, Anfragen und Antworten sind JSON.
KI in Text erkennen
POST
/v1/ai-detectionPrüft einen Text und liefert Urteil, KI-Anteil und markierte Sätze. Abgerechnet werden die Wörter des Textes, und nur bei einer Antwort mit 200.
Anfrage
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
text | string | ja | Der zu prüfende Text. Mindestens 80 Wörter, höchstens 100.000 Zeichen. |
language | string | nein | Sprachkürzel des Textes, zum Beispiel de. Standard: en. |
offset_unit | string | nein | codepoint (Standard, passend für Python) oder utf16 (passend für JavaScript und Java). |
all_sentences | boolean | nein | true liefert alle Sätze, auch die ohne Markierung (Stufe not_flagged). Standard: false. |
curl https://api.mimir-mentor.com/v1/ai-detection \
-H "x-api-key: $MIMIR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Dein Text mit mindestens 80 Wörtern …", "language": "de"}'import os
import requests
response = requests.post(
"https://api.mimir-mentor.com/v1/ai-detection",
headers={"x-api-key": os.environ["MIMIR_API_KEY"]},
json={"text": text, "language": "de"},
timeout=120,
)
response.raise_for_status()
result = response.json()
print(result["verdict"], result["ai_share"])
for sentence in result["sentences"]:
print(sentence["band"], text[sentence["start"]:sentence["end"]])const response = await fetch("https://api.mimir-mentor.com/v1/ai-detection", {
method: "POST",
headers: { "x-api-key": process.env.MIMIR_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ text, language: "de", offset_unit: "utf16" }),
});
if (!response.ok) throw new Error(`${response.status} ${JSON.stringify(await response.json())}`);
const result = await response.json();
console.log(result.verdict, result.ai_share);
for (const s of result.sentences) console.log(s.band, text.slice(s.start, s.end));Antwort
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Kennung der Anfrage. Nenne sie bei Rückfragen. |
model | string | Name des Modells. |
language | string | Die verwendete Sprache. |
words | integer | Abgerechnete Wörter dieser Anfrage. |
verdict | string | none, some oder mostly. |
ai_share | number | Anteil des Textes in den Stufen very_likely_ai und likely_ai, von 0 bis 1. |
possible_share | number | Anteil in der Stufe possibly_ai, von 0 bis 1. |
result_message | string | Das Urteil als fertiger Satz in der Sprache des Textes. |
offset_unit | string | Die Einheit von start und end. |
sentences | array | Jede markierte Stelle mit start, end und band. Unmarkierte Sätze fehlen, außer mit all_sentences. |
usage | object | Dein Stand nach dieser Anfrage: plan, words_used, words_included, period_end. |
200 OK
{
"id": "req_peDQZjknMKvf186g33YtMZsU",
"model": "r13",
"language": "de",
"words": 114,
"verdict": "mostly",
"ai_share": 0.8663,
"possible_share": 0.1275,
"result_message": "Ein großer Teil ist wahrscheinlich KI-generiert.",
"offset_unit": "codepoint",
"sentences": [
{
"start": 0,
"end": 123,
"band": "possibly_ai"
},
{
"start": 124,
"end": 261,
"band": "very_likely_ai"
},
{
"start": 262,
"end": 423,
"band": "very_likely_ai"
}
],
"usage": {
"plan": "starter",
"words_used": 12114,
"words_included": 500000,
"period_end": 1796928768
}
}Verbrauch abfragen
GET
/v1/usageZeigt Tarif, verbrauchte und enthaltene Wörter und das Ende des Abrechnungszeitraums (Unix-Zeit). Kostet nichts und eignet sich, um einen Schlüssel zu prüfen.
curl https://api.mimir-mentor.com/v1/usage -H "x-api-key: $MIMIR_API_KEY"200 OK
{
"plan": "starter",
"words_used": 12114,
"words_included": 500000,
"period_end": 1796928768
}Modell und Grenzen
GET
/v1/modelsNennt das laufende Modell mit Stand, die Sprachen und die Grenzen je Anfrage. Kostet nichts.
curl https://api.mimir-mentor.com/v1/models -H "x-api-key: $MIMIR_API_KEY"200 OK
{
"models": [
{
"id": "r13",
"updated": "2026-11-09",
"languages": [
"da",
"de",
"en",
"es",
"fi",
"fr",
"it",
"nl",
"pl",
"pt",
"sv",
"tr"
]
}
],
"limits": {
"max_characters": 100000,
"min_words": 80,
"requests_per_minute": 60,
"concurrent_requests": 2
}
}