KI-PDF-Erkennungs-API
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
Authentifizierung
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.
PDF-Detektor
Der PDF-Detektor analysiert hochgeladene PDF-Dateien asynchron. PDFs müssen zuerst in den Object Storage hochgeladen und dann über `/detect-pdf` eingereicht werden. Pollen Sie `/query`, bis `status` `done` ist.
Drei Detektorversionen stehen zur Verfügung. Jede beantwortet eine andere Frage, wählen Sie die Version, die zu Ihrem Anwendungsfall passt (oder führen Sie v1 und v3/v4 an derselben Datei aus, indem Sie sie zweimal mit unterschiedlichen `model`-Werten einreichen):
- v1:
pdf_detector/v1Erkennt, ob das PDF mit einem KI-Tool erzeugt wurde, anhand von PDF-Metadaten.
- v3:
pdf_detector/v3Prüft auf digitale Bearbeitungen und Anzeichen KI-generierter Dokumente.
- v4:
pdf_detector/v4(Standard / neueste Version)Neueste Version des Manipulationsdetektors mit verbesserter Gesamtleistung, empfohlen für neue Integrationen.
Modellauswahl
pdf_detector: Lassen Sie `model` weg oder senden Sie `pdf_detector`, um die neueste Version zu verwenden (derzeit `pdf_detector/v4`).pdf_detector/v1: Senden Sie `model: pdf_detector/v1` für die Erkennung von KI-Generierungs-Metadaten.pdf_detector/v3: Senden Sie `model: pdf_detector/v3`, um v3 festzulegen.pdf_detector/v4: Senden Sie `model: pdf_detector/v4`, um v4 explizit festzulegen.model: Jeder andere `model`-Wert gibt 400 Bad Request zurück.
Ablauf
- `GET /get-presigned-url` mit einem `.pdf`-Dateinamen und Ihrem API-Schlüssel im Header `apikey`.
- `PUT` der PDF-Bytes an die zurückgegebene `presigned_url`.
- `POST /detect-pdf` mit der öffentlichen Objekt-`url`, Ihrem API-`key` und einem optionalen `model`.
- `POST /query` mit der zurückgegebenen Dokument-`id`, bis die Verarbeitung abgeschlossen ist.
Dateilimits
PDF-Dateien müssen `.pdf` sein, höchstens 2 MB groß und unter der eingereichten `url` erreichbar.
Kreditabzug
Die PDF-Erkennung zieht 1.000 Credits pro Seite ab. Ein 5-seitiges PDF verbraucht 5.000 Credits. Überprüfen Sie Ihren Kontostand mit `/check-user-credits`, bevor Sie große Dokumente einreichen.
Vorsignierte Upload-URL abrufen
Fordern Sie eine vorsignierte Upload-URL an, bevor Sie ein PDF zur Erkennung einreichen.
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"
}PDF hochladen
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'PDF erkennen
Reichen Sie ein PDF ein, das bereits in den Object Storage hochgeladen wurde.
Anfragekörper
url(erforderlich): Öffentliche Object-Storage-URL des hochgeladenen PDFs.key(erforderlich): Ihr API-Schlüssel.model: `pdf_detector/v1`, `pdf_detector/v3`, `pdf_detector/v4` oder `pdf_detector` (neueste). Standard ist `pdf_detector/v4`.
POST https://detect-text.truthscan.com/detect-pdfBeispielanfrage — Standard (v4 / neueste Version)
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 — v1 festlegen (KI-Generierungs-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",
"model": "pdf_detector/v1"
}'Beispielantwort
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"model": "pdf_detector/v4",
"result_details": null,
"status": "pending",
"retry_count": 0
}Die Antwort enthält die vom Server zugewiesene Dokument-ID. Verwenden Sie `POST /query`, um Ergebnisse abzufragen. Die typische Bearbeitungszeit beträgt wenige Sekunden.
Abfragen
Status und Ergebnisse der PDF-Erkennung anhand der Dokument-ID abfragen (derselbe Endpunkt wie bei der Texterkennung). Das Antwortformat hängt vom für den Job verwendeten `model` ab.
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 — v1 KI-Fingerabdruck gefunden
{
"id": "077eaa29-db75-4266-8eae-8a49d41c25ad",
"model": "pdf_detector/v1",
"status": "done",
"label": "Tampering Detected",
"result_details": {
"prediction": "Grok",
"base_category": "Possibly AI Generated/Edited"
},
"result_categories": null,
"source_details": {
"source": "Grok",
"confidence": null,
"credits_deducted": null
},
"retry_count": 0
}v1-Felder
label: "Tampering Detected", wenn markiert; andernfalls "No Tampering Detected".result_details.prediction: Spezifischer Toolname (z. B. "Grok", "ChatGPT"), generisches "AI Generated" oder "No Tampering Detected".result_details.base_category: "Possibly AI Generated/Edited" oder "No Tampering Detected".source_details.source: Zugeordnete Quelle bei einem Treffer; null, wenn kein Fingerabdruck gefunden wird.
Beispielantwort — v1 kein KI-Fingerabdruck
{
"id": "077eaa29-db75-4266-8eae-8a49d41c25ad",
"model": "pdf_detector/v1",
"status": "done",
"label": "No Tampering Detected",
"result_details": {
"prediction": "No Tampering Detected",
"base_category": "No Tampering Detected"
},
"result_categories": null,
"source_details": null,
"retry_count": 0
}Beispielantwort — v3 strukturelle Manipulation erkannt
{
"id": "5395e0d8-41d6-4e30-add7-97b8a7ffbbc9",
"model": "pdf_detector/v3",
"status": "done",
"label": "Tampered",
"result_details": {
"status": "ok",
"structure": {
"prediction": "Tampered",
"rule": { "hidden": "high" },
"max_severity": "high",
"signals_flagged": 1,
"signals": {
"hidden": {
"label": "Hidden Text",
"flagged": true,
"severity": "high",
"findings": [
{
"severity": "high",
"detail": "Invisible or off-page text detected on page 1."
}
]
}
}
},
"detailed_explanation": "Hidden text was found on page 1 that is not visible in the rendered document."
}
}Beispielantwort — v3 keine Manipulation erkannt (Genuine)
{
"id": "5395e0d8-41d6-4e30-add7-97b8a7ffbbc9",
"model": "pdf_detector/v3",
"status": "done",
"label": "Genuine",
"result_details": {
"status": "ok",
"structure": {
"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."
}
}Beispielantwort — v4 (gleiches Format wie v3)
v4 liefert dasselbe Antwortformat wie v3. Das Feld `model` zeigt `pdf_detector/v4`.
v3 / v4-Felder
label: Spiegelt `structure.prediction` wider: "Tampered", "Suspicious" oder "Genuine".result_details.structure.signals: Aufschlüsselung für das `hidden`-Signal. Enthält `label`, `flagged`, `severity` und `findings` (mit optionalen `changes`, die Vorher/Nachher-Werte anzeigen, wenn verfügbar).result_details.detailed_explanation: Natürlichsprachliche Zusammenfassung der Befunde.
Urteilsstufen
Tampered: Starke Hinweise auf Inhaltsmanipulation oder KI-generierte Herkunft.Suspicious: Ein oder mehrere Signale erkannt, aber keines auf dem höchsten Konfidenzniveau.Genuine: Keine Manipulationssignale erkannt.
Schweregrade
Jeder Befund verwendet `"low"`, `"medium"` oder `"high"`, um die Konfidenz anzugeben.
Fehler
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. |
Benötigen Sie Hilfe?
Für weitere Informationen zur Nutzung unserer API oder für technischen Support kontaktieren Sie uns bitte.
API Frequently Asked Questions
Find answers to the most common questions about our AI PDF detection API.