Free
Die vollständige Engine testen
- 25.000 Wörter/Monat
- Detaillierte Indikatoren bei jedem Scan
- Vollständiger API-Zugang
- Erkennungshistorie im Dashboard
- Für immer kostenlos — keine Testphase
- Chrome-Ext., unbegrenzte Sitze
Vollständige Dokumentation zur Integration der KI-Erkennungs-API von TruthScan in Ihre Anwendungen.
Testen Sie die API ohne Code, indem Sie unseren FastAPI-Endpunkt besuchen: https://detect-text.truthscan.com/docs
Preise & Credits
Die Texterkennung wird mit 1 Credit pro Wort abgerechnet. Längere Eingaben verbrauchen mehr Credits – prüfen Sie Ihr Guthaben, bevor Sie große Dokumente senden.
Prüfen Sie Ihr Guthaben mit GET /check-user-credits. Preispläne anzeigen
TruthScan verwendet API-Schlüssel, um den Zugriff auf die API zu ermöglichen. Sie können Ihren API-Schlüssel oben auf der Seite in unserem Entwicklerportal.
TruthScan erwartet, dass der API-Schlüssel in allen API-Anfragen an den Server im Anforderungstext wie folgt enthalten ist:
{
"key": "YOUR API KEY GOES HERE"
}Sie müssen YOUR API KEY GOES HERE durch Ihren persönlichen API-Schlüssel ersetzen.
Für WebSocket-Szenarien müssen Sie Ihre Organization ID als Teil der URL senden. Sie können Ihre Organization ID oben auf der Seite in unserem Entwicklerportal.
TruthScan erwartet, dass Ihre Organization ID in der URL aller WebSocket-Anfragen enthalten ist. Die Dokumentation sieht wie folgt aus:
wss://detect-text.truthscan.com/ws/$ORG_IDSie müssen $ORG_ID durch Ihre persönliche Organization ID ersetzen.
Dieser Endpunkt ermöglicht es Ihnen, Text zur KI-Erkennung einzureichen. Mindestens 200 Wörter werden für beste Genauigkeit empfohlen.
POST https://detect-text.truthscan.com/detectSchwellenwert
Dieser Endpunkt gibt eine "result"-Bewertung von 1-100 zurück (höher = wahrscheinlicher KI-generiert). Für beste Genauigkeit wird jede Bewertung unter 50 als definitiv menschlich betrachtet. 50-60 ist möglicherweise KI. Über 60 ist definitiv KI. Dies ist das genaueste Ergebnis mit 99%+ Genauigkeit.
Die Bewertungen für andere Detektoren wie Writer und Copyleaks sind ungefähr und nicht so genau wie die Haupt-"result"-Bewertung.
Zeilenumbrüche
Wenn Sie Daten als JSON senden, sollten Zeilenumbrüche als \n innerhalb der Zeichenfolge codiert werden.
Beispielanfrage
curl -X 'POST' \
'https://detect-text.truthscan.com/detect' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"text": "On Citizen science\nCitizen science involves the public participating in scientific research. This can take many forms, collecting data on local wildlife populations to analyzing astronomical images. Citizen science projects allow researchers to gather large amounts of data and engage the public in the process. By participating, individuals contribute to valuable research while gaining a deeper understanding of the scientific world around them.",
"key": "YOUR-API-KEY-GOES-HERE",
"model": "xlm_ud_detector",
"retry_count": 0,
"generate_analysis_details": true
}'Hier muss die Anfrageeingabe weniger als 30.000 Wörter betragen.
Optionale Parameter
model: Zu verwendendes KI-Erkennungsmodell (Standard: 'xlm_ud_detector')retry_count: Anzahl der Wiederholungen bei Verarbeitungsfehlern (Standard: 0)generate_analysis_details: Auf 'true' setzen, um tiefgehende KI-Analyseergebnisse zu aktivieren (Standard: 'false'). Bei Aktivierung enthält die Abfrageantwort die Felder analysis_results_status und analysis_results.Beispielantwort
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"input": "Citizen science involves the public participating in scientific research. This can take many forms, collecting data on local wildlife populations to analyzing astronomical images. Citizen science projects allow researchers to gather large amounts of data and engage the public in the process. By participating, individuals contribute to valuable research while gaining a deeper understanding of the scientific world around them.",
"model": "xlm_ud_detector",
"result": null,
"result_details": null,
"status": "pending",
"retry_count": 0
}Die Antwort enthält die vom Server zugewiesene ID des Dokuments. Zu diesem Zeitpunkt befindet sich das Dokument nun in der Warteschlange zur Verarbeitung. Sie können den /query-API-Endpunkt verwenden, um den Status der KI-Erkennungsanfrage abzufragen. Die durchschnittliche Zeit zum Abschließen einer KI-Erkennungsprüfung beträgt 2-4 Sekunden. Es kann je nach Wortanzahl länger dauern.
Dieser Endpunkt akzeptiert eine Dokument-ID, die von der /detect-Anfrage zurückgegeben wird. Und gibt den Status der Dokumentenübermittlung sowie das Ergebnis der KI-Erkennungsoperation zurück, wie von verschiedenen KI-Detektoren von Drittanbietern behandelt.
POST https://detect-text.truthscan.com/queryBeispielanfrage
curl -X 'POST' \
'https://detect-text.truthscan.com/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"id": "DOCUMENT-ID-GOES-HERE"
}'Beispielantwort
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"model": "xlm_ud_detector",
"result": 12.0,
"label": "Human",
"result_details": {
"scoreGptZero": 50.0,
"scoreOpenAI": 0.0,
"scoreWriter": 0.0,
"scoreCrossPlag": 0.0,
"scoreCopyLeaks": 50.0,
"scoreSapling": 0.0,
"scoreContentAtScale": 0.0,
"scoreZeroGPT": 50.0,
"human": 88.0,
"analysis_results_status": "pending",
"analysis_results": null
},
"result_categories": {
"advanced": 12,
"standard": 12
},
"status": "done",
"retry_count": 0
}Ergebnisinterpretation
result: Bewertung von 0-100, die die Wahrscheinlichkeit angibt, dass der Text KI-generiert ist. Unter 50 = definitiv menschlich. 50-60 = möglicherweise KI. Über 60 = definitiv KI.label: Die Gesamtbewertung: 'Human', 'AI' oder 'Paraphrase'result_details scores: Ungefähre KI-Wahrscheinlichkeitsbewertungen von Drittanbieter-Detektoren: GPTZero, OpenAI, Writer, CrossPlag, CopyLeaks, Sapling, ContentAtScale, ZeroGPT (jeweils 0, 50 oder 100; höher = wahrscheinlicher KI-generiert)human: Gesamte Menschlichkeitsbewertung (0-100); höher = menschlicher, die umgekehrte Richtung der KI-Wahrscheinlichkeitsbewertungen obenresult_categories.advanced: Erweiterte Ergebniskategorie mit abgestufter Bewertung (1-99 formatiert)result_categories.standard: Standard-Ergebniskategorieanalysis_results_status: Status der tiefgehenden KI-Analyse ('pending', 'ready', 'skipped' oder null). Bei 'pending' den /query-Endpunkt weiter abfragen — die Analyse wird noch im Hintergrund verarbeitet. Bei 'ready' enthält das Feld analysis_results die abgeschlossene Analyse. Bei 'skipped', null oder fehlend ist keine tiefgehende Analyse für diesen Text verfügbar.analysis_results: Tiefgehende KI-Analyseergebnisse (verfügbar wenn analysis_results_status 'ready' ist). Enthält: agreement (strong/moderate/weak/disagreement), confidence (0-100), keyIndicators (Array gefundener Textindikatoren), detailedReasoning (Erklärung), linguisticPatterns (Array beobachteter linguistischer Muster) und recommendations (umsetzbare Empfehlungen).Hier ist "result": 12.0 die KI-Wahrscheinlichkeitsbewertung (0-100, höher = wahrscheinlicher KI-generiert). Da sie unter dem Schwellenwert von 50 liegt, wird der Text als Human klassifiziert, siehe das Feld "label". Die Werte pro Detektor unter result_details sind ebenfalls KI-Wahrscheinlichkeitsbewertungen (jeweils 0, 50 oder 100); zum Beispiel ist "scoreZeroGPT": 50.0 die Auswertung von ZeroGPT, und dasselbe gilt für die anderen Detektoren. Das separate Feld "human" ist das Gegenteil, es ist eine Menschlichkeitsbewertung, ein höherer Wert bedeutet menschlicher.
Dieser Endpunkt akzeptiert den API-Schlüssel des Benutzers über den Header und gibt Details zum Benutzerguthaben zurück.
GET https://detect-text.truthscan.com/check-user-creditsBeispielanfrage
curl -X 'GET' \
'https://detect-text.truthscan.com/check-user-credits' \
-H 'apikey: YOUR API KEY GOES HERE' \
-H 'accept: application/json' \
-H 'Content-Type: application/json'Beispielantwort
{
"baseCredits": 10000,
"boostCredits": 1000,
"credits": 11000
}Wenn Sie 'generate_analysis_details' in der /detect-Anfrage auf 'true' setzen, führt TruthScan nach Abschluss der ersten Erkennung eine tiefgehende KI-Analyse im Hintergrund durch. Die erste Abfrageantwort gibt den Status 'done' und Ihre Erkennungsergebnisse zurück, aber das Feld analysis_results_status kann noch 'pending' sein. Sie können die ersten Ergebnisse sofort verwenden und optional auf den Abschluss der tiefgehenden Analyse warten.
Wenn Sie mit 'generate_analysis_details': true einreichen und zum ersten Mal mit Status 'done' abfragen, sind die Kernerkennungsergebnisse (result, label, result_details) bereit. Allerdings kann analysis_results_status 'pending' sein — dies bedeutet, dass die tiefgehende KI-Analyse noch im Hintergrund verarbeitet wird.
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"model": "xlm_ud_detector",
"status": "done",
"result": 73.2,
"label": "AI",
"result_details": {
"scoreGptZero": 100.0,
"scoreOpenAI": 50.0,
"scoreWriter": 50.0,
"scoreCrossPlag": 100.0,
"scoreCopyLeaks": 100.0,
"scoreSapling": 50.0,
"scoreContentAtScale": 50.0,
"scoreZeroGPT": 100.0,
"human": 25.0,
"analysis_results_status": "pending",
"analysis_results": null
}
}Was zu tun ist
Sie können die ersten Erkennungsergebnisse (result, label, result_details-Bewertungen) sofort verwenden. Wenn Sie auch die tiefgehende Analyse benötigen, fragen Sie den /query-Endpunkt mit derselben Dokument-ID weiter ab, bis sich analysis_results_status von 'pending' ändert.
Rufen Sie den /query-Endpunkt mit derselben Dokument-ID weiter auf. Überprüfen Sie das Feld analysis_results_status bei jeder Antwort. Wenn es sich von 'pending' auf 'ready' ändert, wird das analysis_results-Objekt gefüllt.
curl -X 'POST' \
'https://detect-text.truthscan.com/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9"
}'Sobald analysis_results_status 'ready' ist, enthält das analysis_results-Objekt die vollständige tiefgehende KI-Analyse mit Übereinstimmungsgrad, Konfidenz, Schlüsselindikatoren, detaillierter Begründung, linguistischen Mustern und Empfehlungen.
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"model": "xlm_ud_detector",
"status": "done",
"result": 73.2,
"label": "AI",
"result_details": {
"scoreGptZero": 100.0,
"scoreOpenAI": 50.0,
"scoreWriter": 50.0,
"scoreCrossPlag": 100.0,
"scoreCopyLeaks": 100.0,
"scoreSapling": 50.0,
"scoreContentAtScale": 50.0,
"scoreZeroGPT": 100.0,
"human": 25.0,
"analysis_results_status": "ready",
"analysis_results": {
"agreement": "strong",
"confidence": 78,
"keyIndicators": [
"Highly consistent sentence structure throughout",
"Formulaic transitions between paragraphs",
"Lack of personal voice or idiosyncratic expressions"
],
"detailedReasoning": "The text exhibits hallmarks of AI-generated content including uniform sentence complexity, predictable paragraph transitions, and an absence of personal stylistic quirks. The vocabulary choices are sophisticated but lack the natural variation typical of human writing.",
"linguisticPatterns": [
"Uniform sentence length distribution",
"Repetitive use of hedging language",
"Absence of colloquialisms or informal markers"
],
"recommendations": [
"Cross-reference with the original source if available",
"Check for consistent writing style across longer documents",
"Compare with known writing samples from the claimed author",
"Consider the context in which the text was produced"
]
}
},
"result_categories": {
"advanced": 73,
"standard": 73
}
}Wenn analysis_results_status 'skipped', null oder fehlend ist, wird keine tiefgehende Analyse für diesen Text erstellt. Dies geschieht, wenn 'generate_analysis_details' in der /detect-Anfrage nicht auf 'true' gesetzt wurde oder bei bestimmten Verarbeitungsszenarien. Sie sollten die ersten Erkennungsergebnisse als endgültig betrachten.
{
"status": "done",
"result": 12.0,
"label": "Human",
"result_details": {
"analysis_results_status": "skipped",
"analysis_results": null
}
}Felder der Analyseergebnisse
analysis_results_status: 'pending' = wird noch verarbeitet, 'ready' = Ergebnisse verfügbar, 'skipped' / null / fehlend = nicht verfügbar für diesen Textanalysis_results.agreement: Wie stark die tiefgehende Analyse mit der ersten Erkennung übereinstimmt (strong / moderate / weak / disagreement)analysis_results.confidence: Konfidenzbewertung der tiefgehenden Analyse (0-100)analysis_results.keyIndicators: Array spezifischer Textindikatoren, die im Text gefunden wurdenanalysis_results.detailedReasoning: Erklärung in 2-4 Sätzen, warum der Text so klassifiziert wurdeanalysis_results.linguisticPatterns: Array beobachteter linguistischer Muster (z.B. Satzbaukonsistenz, Vokabularmuster)analysis_results.recommendations: Array umsetzbarer Empfehlungen zum Verständnis der TextechtheitDer KI-Detektor auf Satzebene läuft auf einem WebSocket-basierten Protokoll.
Hier sind die notwendigen Schritte, um Ergebnisse auf Satzebene für Ihren Text zu erhalten:
Dieser Endpunkt ermöglicht es Ihnen, die WebSocket-Verbindung herzustellen
wss://detect-text.truthscan.com/ws/$ORG_IDBeispielcode
ws = new WebSocket("wss://detect-text.truthscan.com/ws/1722238709737x2194626580942121212");Sobald die WebSocket-Verbindung hergestellt ist, lauschen Sie auf Ereignisse, die über die WebSocket-Verbindung gesendet werden.
Beispielcode
ws.addEventListener("message", (event) => {
console.log("Message from server ", event.data);
});Zeigen Sie Interesse daran, ein Dokument zu senden, indem Sie eine document_watch-Anfrage über das WebSocket senden
Beispielcode
ws.send(JSON.stringify({
"event_type": "document_watch",
"api_key": "$API_KEY",
}))Nachdem Sie ein document_watch-Ereignis gesendet haben, gibt der Server ein document_id-Ereignis zurück.
Beispielantwort
{
"event_type": "document_id",
"success": true,
"document_id": "512da191-166926922-44cb-81c6-191ae3a807aa"
}Nehmen Sie die von der document_id-Antwort generierte ID und reichen Sie ein Dokument zur KI-Erkennung ein
POST https://detect-text.truthscan.com/detectBeispielanfrage
curl -X 'POST' \
'https://detect-text.truthscan.com/detect' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"text": "Citizen science involves the public participating in scientific research. This can take many forms, collecting data on local wildlife populations to analyzing astronomical images. Citizen science projects allow researchers to gather large amounts of data and engage the public in the process. By participating, individuals contribute to valuable research while gaining a deeper understanding of the scientific world around them.",
"key": "YOUR-API-KEY-GOES-HERE",
"model": "xlm_ud_detector",
"id": "512da191-166926922-44cb-81c6-191ae3a807aa"
}'Beginnen Sie, document_chunk-Ereignisse zu empfangen. document_chunk-Ereignisse geben jeden Satz zusammen mit dem Ergebnis auf Satzebene zurück
Beispielantworten
{
"event_type": "document_chunk",
"document_id": "512da191-166926922-44cb-81c6-191ae3a807aa",
"model": "xlm_ud_detector",
"chunk": "Citizen science involves the public in scientific research.",
"result": 0.714
}Wenn die Dokumentverarbeitung abgeschlossen ist, erhalten Sie ein document_done-Ereignis.
Beispielantworten
{
"event_type": "document_done",
"document_id": "512da191-166926922-44cb-81c6-191ae3a807aa",
"model": "xlm_ud_detector"
}Wenn der Server aus irgendeinem Grund einen Fehler beim Durchführen der KI-Erkennung feststellt, wird ein document_error-Ereignis an den WebSocket-Client gesendet. Der Client sollte entsprechend handeln, zum Beispiel wird eine Benutzeroberfläche eine Fehlermeldung anzeigen.
Zum Beispiel sendet der Server einen REQUEST_TIMEOUT-Fehlercode, wenn es mehr als 20 Sekunden zwischen Chunk-Ereignissen dauert.
{
"event_type": "document_error",
"document_id": "512da191-166926922-44cb-81c6-191ae3a807aa",
"error_code": "REQUEST_TIMEOUT",
"message": "Request timeout. Took 20 seconds."
}Es wird Fälle geben, in denen die Benutzeroberfläche die Operation abbrechen möchte. Der Benutzer entscheidet sich, das Fenster zu schließen, oder bricht das Ereignis explizit ab.
Wenn dies geschieht, sollten Sie ein document_halt-Ereignis senden
Beispielantworten
{
"event_type": "document_halt",
"document_id": "512da191-166926922-44cb-81c6-191ae3a807aa"
}Die meisten Fehler entstehen durch falsche Parameter, die an die API gesendet werden. Überprüfen Sie die Parameter jedes API-Aufrufs, um sicherzustellen, dass sie richtig formatiert sind, und versuchen Sie, den bereitgestellten Beispielcode auszuführen.
Die generischen Fehlercodes, die wir verwenden, entsprechen dem REST-Standard:
| Fehlercode | Bedeutung |
|---|---|
| 400 | Bad Request -- Ihre Anfrage ist ungültig. |
| 403 | Forbidden -- Der API-Schlüssel ist ungültig oder es sind nicht genügend Credits vorhanden (1 pro Wort). |
| 404 | Not Found -- Die angegebene Ressource existiert nicht. |
| 405 | Method Not Allowed -- Sie haben versucht, auf eine Ressource mit einer ungültigen Methode zuzugreifen. |
| 406 | Not Acceptable -- Sie haben ein Format angefordert, das kein JSON ist. |
| 410 | Gone -- Die Ressource an diesem Endpunkt wurde entfernt. |
| 422 | Invalid Request Body -- Ihr Anforderungstext ist falsch formatiert oder ungültig oder enthält fehlende Parameter. |
| 429 | Too Many Requests -- Sie senden zu viele Anfragen! Verlangsamen Sie! |
| 500 | Internal Server Error -- Wir hatten ein Problem mit unserem Server. Versuchen Sie es später erneut. |
| 503 | Service Unavailable -- Wir sind vorübergehend wegen Wartungsarbeiten offline. Bitte versuchen Sie es später erneut. |
Ursache: Ungültiger oder abgelaufener API-Schlüssel
Lösung:
Ursache: Unzureichende Credits für Textverarbeitung
Lösung:
Ursache: Leerer oder nur Leerzeichen enthaltender Text eingereicht
Lösung:
Ursache: Fehlende E-Mail für URL-Verarbeitung
Lösung:
Ursache: Dokumentverarbeitung dauerte zu lange (>120 Sekunden)
Lösung:
Ursache: Die Verarbeitung ist aus verschiedenen Gründen fehlgeschlagen
Lösung:
Ursache: Netzwerkprobleme oder Server-Verbindungsabbrüche
Lösung:
Ursache: Ungültige Organization ID in der WebSocket-Verbindung
Lösung:
Erhalten Sie vollständige forensische Berichte - sprachliche Muster, Schlüsselindikatoren und detaillierte Begründungen.
Free
Die vollständige Engine testen
Starter
$0,03 / 1.000 Wörter - $290/Jahr
Für Einzelpersonen und kleine Teams
Professional
$0,02 / 1.000 Wörter - $990/Jahr
Für Teams in Produktion
Business
$0,01 / 1.000 Wörter - $3.990/Jahr
Für Hochvolumen-Betrieb
Enterprise
$0,005 oder weniger pro 1.000 Wörter
Vertrieb kontaktierenFinden Sie Antworten auf die häufigsten Fragen zu unserer KI-Erkennungs-API.