Free
Die vollständige Engine testen
- 25 Ergebnisse/Monat (Bilder + PDF-Seiten)
- Detaillierte Indikatoren bei jedem Ergebnis
- Vollständiger API-Zugang
- Erkennungshistorie im Dashboard
- Für immer kostenlos — keine Testphase
- Chrome-Ext., unbegrenzte Sitze
Vollständige Dokumentation zur Integration der TruthScan KI-PDF-Erkennungs-API in Ihre Anwendungen.
Testen Sie die API ohne Code, indem Sie unseren FastAPI-Endpunkt besuchen: https://detect-text.truthscan.com/docs
Preise & Credits
Die PDF-Erkennung zieht 1.000 Credits pro Seite ab (z. B. verbraucht ein 5-seitiges PDF 5.000 Credits).
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.
Für Anfragen nach vorsignierten Upload-URLs (`GET /get-presigned-url`) fügen Sie Ihren API-Schlüssel im Header `apikey` hinzu.
Für PDF-Erkennungsanfragen (`POST /detect-pdf`) fügen Sie Ihren API-Schlüssel im JSON-Body als `key` hinzu.
Sie müssen YOUR API KEY GOES HERE durch Ihren persönlichen API-Schlüssel ersetzen.
Der PDF-Detektor analysiert hochgeladene PDF-Dokumente auf Anzeichen von KI-Generierung und digitaler Manipulation. PDFs werden asynchron verarbeitet: laden Sie die Datei hoch, senden Sie sie über `/detect-pdf` zur Erkennung und fragen Sie dann die Ergebnisse ab.
Der Detektor führt mehrere Analysemodule für jedes Dokument aus. Standardmäßig laufen alle Module. Sie können die auszuführenden Module über den Parameter `modules` in der Anfrage wählen:
metadataPrüft Dokumentmetadaten auf Manipulationsartefakte von KI- oder digitalen Bearbeitungswerkzeugen.
structureUntersucht das Dokument auf digitale Bearbeitungen wie versteckte Textebenen.
Modellauswahl
Senden Sie `model` im Anfragekörper als einen der folgenden Werte. Jeder andere Wert gibt 400 Bad Request zurück.
pdf_detector: Neueste Version (derzeit `pdf_detector/v5`). Entspricht dem Weglassen von `model`.pdf_detector/v1: Erkennt, ob das PDF mit einem KI-Tool erzeugt wurde, anhand von PDF-Metadaten.pdf_detector/v3: Prüft auf digitale Bearbeitungen und Anzeichen KI-generierter Dokumente.pdf_detector/v4: Prüft auf digitale Bearbeitungen und Anzeichen KI-generierter Dokumente, mit verbesserter Gesamtleistung gegenüber v3.pdf_detector/v5: Neuester Detektor. Führt Metadaten- und Strukturanalyse aus.Modulauswahl
Senden Sie `modules` im Anfragekörper als einen der folgenden Werte.
[]: Alle Module (Standard). Entspricht dem Weglassen von `modules`.["metadata"]: Nur Metadatenanalyse.["structure"]: Nur Strukturanalyse.Ablauf
Dateianforderungen
Dateien müssen im Format `.pdf` sein, höchstens 2 MB groß und unter der angegebenen URL öffentlich erreichbar.
Kreditabzug
Die PDF-Erkennung verbraucht 1.000 Credits pro Seite, unabhängig von den ausgewählten Modulen. Ein 5-seitiges PDF kostet 5.000 Credits. Prüfen Sie Ihren Kontostand mit `GET /check-user-credits`, bevor Sie große Dokumente einreichen.
Fordern Sie eine vorsignierte Upload-URL an, bevor Sie ein PDF zur Erkennung einreichen. `file_name` (erforderlich): der PDF-Dateiname (muss auf `.pdf` enden). `expiration` (optional): Ablaufzeit der URL in Sekunden (Standard: 3600).
Header
Fügen Sie Ihren API-Schlüssel im Header `apikey` hinzu.
GET https://detect-text.truthscan.com/get-presigned-urlBeispielanfrage
curl -X 'GET' \
'https://detect-text.truthscan.com/get-presigned-url?file_name=report.pdf&expiration=3600' \
-H 'accept: application/json' \
-H 'apikey: YOUR-API-KEY-GOES-HERE'Laden Sie die Datei per PUT an die `presigned_url` aus der Antwort hoch, bevor Sie `/detect-pdf` aufrufen.
Beispielantwort
{
"status": "success",
"presigned_url": "https://...digitaloceanspaces.com/...?X-Amz-Algorithm=...",
"file_path": "userId_20250604120000_report.pdf"
}Verwenden Sie die bereitgestellte `presigned_url`, um Ihr PDF per `PUT`-Anfrage hochzuladen.
Beispielanfrage
curl -X PUT 'https://nyc3.digitaloceanspaces.com/ai-detector-prod/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_report.pdf...' \
--header 'Content-Type: application/pdf' \
--header 'x-amz-acl: private' \
--data-binary '@report.pdf'Reichen Sie ein PDF ein, das bereits in den Object Storage hochgeladen wurde.
Anfragekörper
url (erforderlich): Object-Storage-URL des hochgeladenen PDFs (`presigned_url`-Host + `file_path`).key (erforderlich): Ihr API-Schlüssel.model: Das zu verwendende Detektormodell. Standard ist `pdf_detector` (neueste). Unterstützte versionierte Werte sind `pdf_detector/v1`, `pdf_detector/v3`, `pdf_detector/v4` und `pdf_detector/v5`.modules: Array der auszuführenden Module: `["metadata"]`, `["structure"]` oder `["metadata", "structure"]`. Weglassen oder `[]` senden, um alle auszuführen. Gilt für v4 und v5; wird bei Legacy-Versionen ignoriert.POST https://detect-text.truthscan.com/detect-pdfBeispielanfrage : alle Module (Standard)
curl -X 'POST' \
'https://detect-text.truthscan.com/detect-pdf' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://your-bucket.region.digitaloceanspaces.com/userId_20250604120000_report.pdf",
"key": "YOUR-API-KEY-GOES-HERE"
}'Beispielanfrage : nur Metadaten
curl -X 'POST' \
'https://detect-text.truthscan.com/detect-pdf' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://your-bucket.region.digitaloceanspaces.com/userId_20250604120000_report.pdf",
"key": "YOUR-API-KEY-GOES-HERE",
"modules": ["metadata"]
}'Beispielantwort
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"model": "pdf_detector",
"result": null,
"result_details": null,
"status": "pending",
"retry_count": 0
}Die Antwort enthält eine Dokument-`id`. Verwenden Sie sie, um Ergebnisse über `POST /query` abzufragen. Die Verarbeitung ist in der Regel in wenigen Sekunden abgeschlossen.
Verwenden Sie den Endpunkt `/query` (derselbe wie bei der Texterkennung), um Status und Ergebnisse abzurufen. Das Antwortformat hängt vom für den Job verwendeten `model` ab. Fragen Sie ab, bis `status` `done` ist.
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-FROM-STEP-3"
}'Beispielantwort : manipuliertes Dokument
{
"id": "594502f3-5474-4d2f-9a7a-039f85485854",
"model": "pdf_detector",
"status": "done",
"retry_count": 0,
"modules": {
"metadata": {
"status": "done",
"result_details": {
"prediction": "ChatGPT",
"rule": "PyMuPDF - Creator: OpenAI",
"base_category": "Possibly AI Generated/Edited",
"basic_source": "ChatGPT"
},
"source_details": {
"source": "AI Generated",
"credits_deducted": 1000
},
"label": "Tampered"
},
"structure": {
"status": "done",
"result_details": {
"prediction": "Suspicious",
"rule": { "hidden": "medium" },
"max_severity": "medium",
"signals_flagged": 1,
"signals": {
"hidden": {
"label": "Hidden Text",
"flagged": true,
"severity": "medium",
"findings": [
{
"severity": "medium",
"detail": "Page 1: invisible text layer found beneath visible content."
}
]
}
}
},
"detailed_explanation": "Page 1 contains a hidden text layer beneath visible content, suggesting possible content manipulation.",
"label": "Suspicious"
}
},
"summary": {
"label": "Tampered",
"detection_steps": ["metadata", "structure"],
"detection_rules": {
"metadata": "PyMuPDF - Creator: OpenAI",
"structure": "1 signals fired"
},
"details": {
"is_ai": true,
"ai_detection_steps": ["metadata"],
"is_digitally_edited": true,
"digital_edit_detection_steps": ["structure"]
}
}
}Metadatenmodul
label: Tampered, wenn ein KI-Fingerabdruck gefunden wurde; andernfalls Genuine.result_details.prediction: Das identifizierte KI-Tool (z. B. `"ChatGPT"`) oder `"No Tampering Detected"`.source_details: Verschachtelt in `modules.metadata`.source_details.source: `"AI Generated"`, `"Digitally Edited"` oder `null`.source_details.credits_deducted: Für diesen Job abgezogene Credits bei TruthScan-Schlüsseln; andernfalls `null`.Beispielantwort: echtes Dokument
{
"id": "e4c0f5d7-b061-4d4e-af9c-5b8da03e6f44",
"model": "pdf_detector",
"status": "done",
"retry_count": 0,
"modules": {
"metadata": {
"status": "done",
"result_details": {
"prediction": "No Tampering Detected",
"rule": null,
"base_category": "No Tampering Detected",
"basic_source": null
},
"source_details": {
"source": null,
"credits_deducted": 1000
},
"label": "Genuine"
},
"structure": {
"status": "done",
"result_details": {
"prediction": "Genuine",
"rule": {},
"max_severity": null,
"signals_flagged": 0,
"signals": {
"hidden": {
"label": "Hidden Text",
"flagged": false,
"severity": null,
"findings": []
}
}
},
"detailed_explanation": "No AI-generation or tampering fingerprints were detected; the PDF looks clean.",
"label": "Genuine"
}
},
"summary": {
"label": "Genuine",
"detection_steps": [],
"detection_rules": {},
"details": {
"is_ai": false,
"ai_detection_steps": [],
"is_digitally_edited": false,
"digital_edit_detection_steps": []
}
}
}Die Antwort verstehen
`summary.label` ist das Gesamturteil. `summary.detection_steps` listet Module, die das Dokument markiert haben. `summary.detection_rules` hält fest, was jedes markierte Modul ausgelöst hat. `summary.details.is_ai` ist `true`, wenn das Dokument als KI-generiert erkannt wurde. `summary.details.is_digitally_edited` ist `true`, wenn strukturelle Bearbeitungen erkannt wurden.
Strukturmodul
label: Tampered, Suspicious oder Genuine.result_details.signals: Aufschlüsselung je Signal. `hidden` erkennt versteckte Textebenen im Dokument.result_details.signals_flagged: Gesamtzahl der ausgelösten Signale.detailed_explanation: Natürlichsprachliche Zusammenfassung der Befunde.Urteil
Tampered: Starke Hinweise auf Inhaltsmanipulation oder KI-generierte Herkunft.Suspicious: Ein oder mehrere Signale erkannt, aber nicht auf dem höchsten Konfidenzniveau.Genuine: Keine Manipulationssignale erkannt.Schweregrade
Jeder einzelne Befund hat einen Schweregrad: `"low"`, `"medium"` oder `"high"`.
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 | Verboten -- Der API-Schlüssel ist ungültig oder es sind nicht genügend Credits vorhanden (1.000 pro PDF-Seite). |
| 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. |
Erhalten Sie vollständige forensische Berichte - Heatmaps, Schlüsselindikatoren und detaillierte Beschreibungen.
Free
Die vollständige Engine testen
Starter
$0,03 / Ergebnis - $290/Jahr
Für Einzelpersonen und kleine Teams
Professional
$0,02 / Ergebnis - $990/Jahr
Für Teams in Produktion
Business
$0,01 / Ergebnis - $3.990/Jahr
Für Hochvolumen-Betrieb
Enterprise
$0,005 oder weniger pro Ergebnis
Vertrieb kontaktierenFind answers to the most common questions about our AI PDF detection API.