Erste Schritte
Übersicht
Erstellen Sie eine Aufgabe pro Datei oder URL, fragen Sie deren status ab und laden Sie dann die ZIP herunter. Anfragen sind asynchron. Pro Monthly und Pro Annual unterstützen den API; Kostenlos nicht.
https://YOUR_API_HOST/api/open/v1Ersetzen Sie YOUR_API_HOST durch Ihre API-Domäne. Alle unten aufgeführten Pfade verwenden diese Basis-URL. Die Beispiele verwenden Platzhalter-IDs und signierte URLs.
Authentifizierung
Senden Sie bei jeder API-Anfrage Authorization: Bearer gefolgt von Ihrem Pro API-Schlüssel. Holen Sie sich den Schlüssel mit der Schlüsseltaste API oder setzen Sie ihn zurück. Bei den Schlüsseln wird die Groß-/Kleinschreibung beachtet: sk- plus 24 zufällige Buchstaben und Ziffern. Benutzeranmeldungs-JWTs authentifizieren diese Endpunkte nicht.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Authorization | string | Ja | Bearer, gefolgt von Ihrem Pro-API-Schlüssel; für jeden Endpunkt erforderlich. |
Authorization: Bearer sk-YOUR_API_KEYBewahren Sie den Schlüssel auf Ihrem Server auf. Stellen Sie es nicht im öffentlichen Frontend code, in Repositorys oder bei Download-Anfragen bereit. Downloads verwenden ihre eigene signierte URL. Durch das Zurücksetzen des Schlüssels wird der alte Schlüssel sofort ungültig. Für den API-Zugriff ist außerdem eine aktive Pro-Mitgliedschaft erforderlich.
Schnellstart
Ersetzen Sie den Host API, legen Sie MINERU_API_KEY fest und stellen Sie paper.pdf bereit. Diese Beispiele werden einmal hochgeladen, alle 3 Sekunden bis zu 30 Minuten abgefragt und dann ZIP auf die Festplatte gestreamt. Das Polling-Timeout ist ein Client-Limit und bricht den Server-Task nicht ab. Verwenden Sie die Aufgaben-ID, um mit der Abfrage fortzufahren. Python benötigt das Paket requests; Node.js benötigt Version 20+; cURL verwendet Bash und jq.
# pip install requests
import os
import time
import requests
API = "https://YOUR_API_HOST/api/open/v1"
headers = {"Authorization": "Bearer " + os.environ["MINERU_API_KEY"]}
with open("paper.pdf", "rb") as source:
response = requests.post(API + "/tasks", headers=headers, files={"file": ("paper.pdf", source, "application/pdf")},
data={"force_ocr": "true", "extra_formats": '["docx","html"]'}, timeout=120)
response.raise_for_status()
body = response.json()
if body["code"] != 0:
raise RuntimeError(body["code"] + ": " + body["msg"])
task_id = body["data"]["task_id"]
deadline = time.monotonic() + 1800
while time.monotonic() < deadline:
response = requests.get(API + "/tasks/" + task_id, headers=headers, timeout=30)
response.raise_for_status()
body = response.json()
if body["code"] != 0:
raise RuntimeError(body["code"] + ": " + body["msg"])
data = body["data"]
task = data["task"]
if task["status"] == "completed":
url = data["results"].get("full_zip_url")
if not url:
raise RuntimeError("ZIP unavailable; check expires_at")
# Download separately: do not send the API key to the download host.
with requests.get(url, stream=True, timeout=120) as download:
download.raise_for_status()
with open("result.zip", "wb") as output:
for chunk in download.iter_content(1024 * 1024):
output.write(chunk)
print("Saved result.zip")
break
if task["status"] in {"failed", "expired"}:
raise RuntimeError(task["status"] + ": " + task["error"])
time.sleep(3)
else:
raise TimeoutError("Polling timed out; task ID: " + task_id)API Endpunkte
Erstellen Sie eine Aufgabe
/api/open/v1/tasksEin Endpunkt: POST /api/open/v1/tasks. Wählen Sie eine Eingabemethode: Laden Sie eine Datei mit multipart/form-data hoch oder senden Sie source_url mit JSON. Beide geben data.task_id für denselben Aufgabenabfragefluss zurück. Jede akzeptierte Einreichung erstellt eine neue Aufgabe.
Chemische Aufgaben akzeptieren nur PDF und Bilder. force_ocr und extra_formats sind nicht verfügbar.
Option 1: Datei hochladen
Laden Sie genau eine Datei direkt auf den API-Server hoch. Lassen Sie Ihren HTTP-Client die Multipart-Grenze festlegen; Stellen Sie Content-Type nicht manuell ein. Nur Datei und optional force_ocr und extra_formats senden. Der Server prüft die empfangenen Bytes und Einheiten vor dem Speichern und Einreihen in die Warteschlange. Es ist keine separate Anfrage zum Abschluss des Uploads erforderlich.
Parameter im Request-Body · multipart/form-data
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
file | binary | Ja | Eine Datei; Der Dateiname muss eine unterstützte Erweiterung enthalten. |
parse_type | string (0 | 1) | Nein | 0: allgemeine Dokumente (Standard); 1: chemische Strukturen.Standard: 0 |
force_ocr | string (true | false) | Nein | true / false; Nur für PDF. Aktiviert: vorhandene Textebene ignorieren und OCR nutzen. Deaktiviert: automatisch erkennen. Andere Formate bleiben unverändert.Standard: false |
extra_formats | string (JSON) | Nein | JSON-codierter Array-String, e.g. ["docx","html"]. Werte: html, docx, latex.Standard: [] |
curl --fail-with-body "https://YOUR_API_HOST/api/open/v1/tasks" \
-H "Authorization: Bearer $API_KEY" \
-F '[email protected]' \
-F 'force_ocr=true' \
-F 'extra_formats=["docx","html"]'Antwortfelder · 200 OK
HTTP 200 bedeutet, dass die Aufgabe erstellt wurde. code ist 0, msg ist ok und die Daten enthalten nur task_id. Fragen Sie die Aufgabe ab, um ihre status und results zu erhalten.
| Feld | Typ | Beschreibung |
|---|---|---|
code | integer | 0 bei erfolgreicher Aufgabenerstellung. |
data.task_id | string (UUID) | Aufgabe UUID wurde bei der Erstellung als data.task_id zurückgegeben. |
msg | string | ok bei erfolgreicher Aufgabenerstellung. |
{
"code": 0,
"data": {
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436"
},
"msg": "ok"
}Option 2: Senden Sie eine URL
Senden Sie JSON statt multipart. source_url muss eine öffentliche HTTP/HTTPS-URL für ein Dokument, ein Bild oder HTML sein. Die Quelle muss einen positiven Content-Length-Wert und ein unterstütztes Format über Header oder Dateinamen angeben. Fehlende, widersprüchliche oder geänderte Metadaten führen zum Fehler. Private Adressen, URLs mit Zugangsdaten sowie komprimierte Antworten oder Antworten mit chunked-Übertragung werden abgelehnt. Maximal 5 Weiterleitungen sind erlaubt. Beim Erstellen wird queued zurückgegeben; Abruffehler stehen später in task.error.
Parameter im Request-Body · application/json
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
source_url | string | Ja | Öffentliche Quell-URL HTTP/HTTPS, vorbehaltlich der Metadaten- und Größenvalidierung. |
parse_type | integer (0 | 1) | Nein | 0: allgemeine Dokumente (Standard); 1: chemische Strukturen.Standard: 0 |
force_ocr | boolean | Nein | true / false; Nur für PDF. Aktiviert: vorhandene Textebene ignorieren und OCR nutzen. Deaktiviert: automatisch erkennen. Andere Formate bleiben unverändert.Standard: false |
extra_formats | string[] | Nein | Array aus html, docx und/oder latex, kein JSON-String. Markdown und JSON sind bereits enthalten.Standard: [] |
curl --fail-with-body "https://YOUR_API_HOST/api/open/v1/tasks" \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
--data '{"source_url":"https://example.com/paper.pdf","force_ocr":true,"extra_formats":["docx","html"]}'Antwortfelder · 200 OK
HTTP 200 bedeutet, dass die Aufgabe erstellt wurde. code ist 0, msg ist ok und die Daten enthalten nur task_id. Fragen Sie die Aufgabe ab, um ihre status und results zu erhalten.
| Feld | Typ | Beschreibung |
|---|---|---|
code | integer | 0 bei erfolgreicher Aufgabenerstellung. |
data.task_id | string (UUID) | Aufgabe UUID wurde bei der Erstellung als data.task_id zurückgegeben. |
msg | string | ok bei erfolgreicher Aufgabenerstellung. |
{
"code": 0,
"data": {
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436"
},
"msg": "ok"
}curl --fail-with-body "https://YOUR_API_HOST/api/open/v1/tasks" \
-H "Authorization: Bearer $API_KEY" \
-F '[email protected]' \
-F 'parse_type=1'Aufgaben auflisten
/api/open/v1/tasksListet Ihre Web- und API-Aufgaben zusammen auf, die neuesten zuerst. Elemente enthalten nur task_id, status, credits, created_at und Dateiname, Größe, mime_type und source_type. Abfragedetails für Dateimetadaten, Fehlergrund, Ablauf und Ergebnis-URLs. page_size akzeptiert 1–100; Ungültige Werte sind standardmäßig 20.. Die Seite darunter ist standardmäßig 1. Standard ist 1..
Abfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
page | integer | Nein | 1-basierte Seitenzahl; ungültig oder kleiner als 1 verwendet 1.Standard: 1 |
page_size | integer | Nein | Elemente pro Seite, 1–100; Ungültige Werte verwenden 20.Standard: 20 |
search | string | Nein | Filtern Sie nach Dateinamen für alle Ihre Aufgaben (bis zu 255 Zeichen). |
status | string | Nein | Optionaler status-Filter: queued, running, completed, failed oder expired. Trennen Sie mehrere Status durch Kommas. |
curl --fail-with-body "https://YOUR_API_HOST/api/open/v1/tasks?page=1&page_size=20" \
-H "Authorization: Bearer $API_KEY"Antwortfelder · 200 OK
| Feld | Typ | Beschreibung |
|---|---|---|
data.items | TaskSummary[] | Aufgabenzusammenfassungen, die nur Felder in der Tabelle TaskSummary enthalten. |
data.has_more | boolean | Ob eine andere Seite verfügbar ist. |
data.page | integer | 1-basierte Seitenzahl; ungültig oder kleiner als 1 verwendet 1. |
data.page_size | integer | Elemente pro Seite, 1–100; Ungültige Werte verwenden 20. |
{
"code": 0,
"msg": "ok",
"data": {
"items": [
{
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436",
"parse_type": 0,
"status": "completed",
"credits": 2,
"created_at": "2026-10-12T07:04:05Z",
"file": {
"name": "paper.pdf",
"size": 12345,
"mime_type": "application/pdf",
"source_type": "upload"
}
}
],
"has_more": false,
"page": 1,
"page_size": 20
}
}TaskSummary
| Feld | Typ | Beschreibung |
|---|---|---|
task_id | string (UUID) | Aufgabe UUID wurde bei der Erstellung als data.task_id zurückgegeben. |
parse_type | integer (0 | 1) | 0: allgemeine Dokumente (Standard); 1: chemische Strukturen. |
status | string | Gesamtaufgabenstatus; siehe Aufgabenstatus. |
credits | integer | Abrechenbare Anzahl: PDF-Seiten, PPT-Folien oder Excel-Arbeitsblätter. Word, HTML und Bilder zählen jeweils als 1 Einheit. Bis zum Abschluss der Prüfung einer URL-Datei ist der Wert 0. |
created_at | string (RFC3339) | Erstellungszeitpunkt des Datensatzes im Format RFC3339. |
file.name | string | Gespeicherter Eingabedateiname; URL-Aufgaben zeigen möglicherweise zunächst den Quellhost an. |
file.size | integer (int64) | Tatsächlich gespeicherte Bytes; 0 vor dem URL-Download. |
file.mime_type | string | Gespeicherter MIME-Typ; kann beim Abrufen leer sein. |
file.source_type | string | upload oder url. |
Aufgabenergebnisse abrufen
/api/open/v1/tasks/{id}Lesen Sie data.task.status. results ist immer ein Wörterbuch: leer für queued, running, failed oder expired und enthält Dokument-URLs, wenn completed. Die ZIP-URL ist results.full_zip_url. Fehlgeschlagene Aufgaben geben HTTP 200 mit code task_failed und den Grund in msg zurück; expired results verwenden code result_expired.
Pfadparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | string (UUID) | Ja | Aufgabe UUID wurde bei der Erstellung als data.task_id zurückgegeben. |
curl --fail-with-body "https://YOUR_API_HOST/api/open/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $API_KEY"Antwortfelder · 200 OK
| Feld | Typ | Beschreibung |
|---|---|---|
data.task | Task | Aufgabenobjekt, wird immer bei erfolgreicher Detailsuche zurückgegeben. |
data.file | File | Eingabedateiobjekt; URL-Metadaten sind möglicherweise noch nicht fertig. |
data.results | object | Ein Wörterbuch mit Datei- und Bild-URLs. Unvollendete, failed- oder expired-Aufgaben geben ein leeres Wörterbuch zurück. |
{
"code": 0,
"msg": "ok",
"data": {
"task": {
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436",
"parse_type": 0,
"status": "running",
"credits": 2,
"force_ocr": true,
"expires_at": "2026-10-19T07:04:05Z",
"error": "",
"created_at": "2026-10-12T07:04:05Z"
},
"file": {
"name": "paper.pdf",
"size": 12345,
"mime_type": "application/pdf",
"suffix": "pdf",
"source_type": "upload",
"source_url": ""
},
"results": {}
}
}{
"code": 0,
"msg": "ok",
"data": {
"task": {
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436",
"parse_type": 0,
"status": "completed",
"credits": 2,
"force_ocr": true,
"expires_at": "2026-10-19T07:04:05Z",
"error": "",
"created_at": "2026-10-12T07:04:05Z"
},
"file": {
"name": "paper.pdf",
"size": 12345,
"mime_type": "application/pdf",
"suffix": "pdf",
"source_type": "upload",
"source_url": ""
},
"results": {
"original_url": "https://downloads.example.com/uploads/4001a517-cd93-47a6-a56a-e53d2a0828df/aa0e6ab6-44f3-4554-b459-b62fe4c6b437.pdf?token=SIGNED_TOKEN",
"markdown_url": "https://downloads.example.com/results/a90e6ab6-44f3-4554-b459-b62fe4c6b436/preview/markdown.md?token=SIGNED_TOKEN",
"middle_json_url": "https://downloads.example.com/results/a90e6ab6-44f3-4554-b459-b62fe4c6b436/preview/middle_json.json?token=SIGNED_TOKEN",
"structured_json_url": "https://downloads.example.com/results/a90e6ab6-44f3-4554-b459-b62fe4c6b436/preview/structured_content.json?token=SIGNED_TOKEN",
"images": {
"images/001.jpg": "https://downloads.example.com/results/a90e6ab6-44f3-4554-b459-b62fe4c6b436/preview/images/001.jpg?token=SIGNED_TOKEN"
},
"full_zip_url": "https://downloads.example.com/results/a90e6ab6-44f3-4554-b459-b62fe4c6b436/exports/6b0e6ab6-44f3-4554-b459-b62fe4c6b439.zip?token=SIGNED_TOKEN"
}
}
}{
"code": "task_failed",
"msg": "MinerU job ended: failed",
"data": {
"task": {
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436",
"parse_type": 0,
"status": "failed",
"credits": 2,
"force_ocr": true,
"expires_at": "2026-10-19T07:04:05Z",
"error": "MinerU job ended: failed",
"created_at": "2026-10-12T07:04:05Z"
},
"file": {
"name": "paper.pdf",
"size": 12345,
"mime_type": "application/pdf",
"suffix": "pdf",
"source_type": "upload",
"source_url": ""
},
"results": {}
}
}{
"code": 0,
"msg": "ok",
"data": {
"task": {
"task_id": "a90e6ab6-44f3-4554-b459-b62fe4c6b436",
"parse_type": 1,
"status": "completed",
"credits": 2,
"force_ocr": false,
"expires_at": "2026-10-19T07:04:05Z",
"error": "",
"created_at": "2026-10-12T07:04:05Z"
},
"file": {
"name": "paper.pdf",
"size": 12345,
"mime_type": "application/pdf",
"suffix": "pdf",
"source_type": "upload",
"source_url": ""
},
"results": {
"original_url": "https://downloads.example.com/uploads/4001a517-cd93-47a6-a56a-e53d2a0828df/aa0e6ab6-44f3-4554-b459-b62fe4c6b437.pdf?token=SIGNED_TOKEN",
"json_url": "https://downloads.example.com/results/a90e6ab6-44f3-4554-b459-b62fe4c6b436/molecular_structures.json?token=SIGNED_TOKEN"
}
}
}Task
| Feld | Typ | Beschreibung |
|---|---|---|
task_id | string (UUID) | Aufgabe UUID wurde bei der Erstellung als data.task_id zurückgegeben. |
parse_type | integer (0 | 1) | 0: allgemeine Dokumente (Standard); 1: chemische Strukturen. |
status | string | Gesamtaufgabenstatus; siehe Aufgabenstatus. |
credits | integer | Abrechenbare Anzahl: PDF-Seiten, PPT-Folien oder Excel-Arbeitsblätter. Word, HTML und Bilder zählen jeweils als 1 Einheit. Bis zum Abschluss der Prüfung einer URL-Datei ist der Wert 0. |
force_ocr | boolean | true / false; Nur für PDF. Aktiviert: vorhandene Textebene ignorieren und OCR nutzen. Deaktiviert: automatisch erkennen. Andere Formate bleiben unverändert. |
expires_at | string | null (RFC3339) | Aufbewahrungsfrist für Aufgaben; kann null sein, bevor Ergebnisse/failure aufgezeichnet werden. |
error | string | Verarbeitung von error oder Wiederherstellungsnachricht; leer, wenn keine vorhanden ist. |
created_at | string (RFC3339) | Erstellungszeitpunkt des Datensatzes im Format RFC3339. |
File
| Feld | Typ | Beschreibung |
|---|---|---|
name | string | Gespeicherter Eingabedateiname; URL-Aufgaben zeigen möglicherweise zunächst den Quellhost an. |
size | integer (int64) | Tatsächlich gespeicherte Bytes; 0 vor dem URL-Download. |
mime_type | string | Gespeicherter MIME-Typ; kann beim Abrufen leer sein. |
suffix | string | Kleinbuchstabenerweiterung ohne Punkt; kann beim Abrufen leer sein. |
source_type | string | upload oder url. |
source_url | string | Vom Benutzer übermittelte Quell-URL; leer für hochgeladene Dateien. |
results
| Feld | Typ | Beschreibung |
|---|---|---|
original_url | string | Signierte Originaldatei-URL. |
json_url | string | Download-URL für chemisches JSON; nur bei parse_type=1. |
markdown_url | string | Signierte native markdown.md-URL zum Vorschaulesen. |
middle_json_url | string | Signierte middle_json.json-URL mit Seiten, Blockstruktur und normalisierten Begrenzungsrahmen. |
structured_json_url | string | Signierte structured_content.json URL; wird weggelassen, wenn die Ressource nicht vorhanden ist. |
images | Record<string, string> | Karte nativer relativer Pfade zu signierten Bild-URLs; leeres Objekt, wenn keine Bilder vorhanden sind. |
full_zip_url | string | results.full_zip_url ist die signierte endgültige API ZIP URL, die nur zurückgegeben wird, wenn completed und beibehalten wird. |
Referenzhinweise
Formate und Grenzen
Pro-Limits: 200 MiB pro Dokument, 50 MiB pro Bild und 500 abrechenbare Einheiten. API und Weboberfläche teilen sich täglich 5 und monatlich 1000 Einheiten; die täglichen Einheiten werden zuerst genutzt. Nach der Validierung wird Kontingent reserviert und nach dem Speichern des grundlegenden Analyseergebnisses abgebucht. Bei bestätigtem Analysefehler oder Abbruch wird die Reservierung freigegeben. Fehler bei der Veröffentlichung oder beim Export erstatten keine bereits erfolgreich durchgeführte Analyse. Bei fehlgeschlagener oder zeitüberschrittener Ausführung werden noch nicht abgebuchte Reservierungen automatisch freigegeben. Für Exporte wird kein zusätzliches Kontingent abgebucht.
| Format | Dateinamenerweiterungen | Abrechenbare Einheiten |
|---|---|---|
.pdf | Physische PDF Seiten | |
| Word | .doc, .docx | 1 Einheit pro Datei |
| PowerPoint | .ppt, .pptx | Anzahl der Folien |
| Excel | .xls, .xlsx | Anzahl der Arbeitsblätter |
| Bilder | .png, .jpg, .jpeg, .webp, .gif, .bmp, .tif, .tiff | 1 Einheit pro Datei |
| HTML | .html, .htm | 1 Einheit pro Datei |
Das Upload-Format wird durch die Dateinamenerweiterung bestimmt, ohne Berücksichtigung der Groß-/Kleinschreibung. PDF, PowerPoint und Excel müssen über lesbare Seiten-/unit-Metadaten verfügen. MIME wird nicht zur Validierung hochgeladener Inhalte verwendet. Leere Dateien, nicht unterstützte Erweiterungen, verschlüsselte oder nicht lesbare PDFs und Eingaben, die das Limit überschreiten, werden abgelehnt. Das Parsen von HTML ist statisch und führt kein JavaScript aus. 1 MiB = 1,048,576 Bytes.
Aufgabenstatus
Rufen Sie weiterhin queued oder running ab. Herunterladen auf completed; Lesen Sie error und hören Sie bei failed auf. expired bedeutet, dass die Aufbewahrung beendet ist. status beschreibt die gesamte Aufgabe; API-Aufgaben werden erst abgeschlossen, wenn die letzten ZIP fertig sind.
| task.status | Beschreibung |
|---|---|
queued | Akzeptiert; Warten auf Verarbeitung oder Abrufen der URL-Eingabe. |
running | In Bearbeitung: umfasst das Parsen, Speichern der Ergebnisse und Erstellen des API-ZIP-Archivs. |
completed | Das Endergebnis kann abgefragt und heruntergeladen werden. |
failed | Verarbeitung fehlgeschlagen. Lesen Sie das Feld error. Erstellen Sie nicht automatisch eine Ersatzaufgabe. |
expired | Die Frist zur Aufbewahrung der Ergebnisse in expires_at ist abgelaufen; keine Download-URLs. |
ZIP-Ergebnisse und Downloads
Das API erzeugt ein letztes ZIP. Markdown, mittlere JSON, strukturierte JSON und gespeicherte Bilder sind standardmäßig enthalten. extra_formats unterstützt nur html, docx und latex; Die angeforderten Dateien werden demselben ZIP hinzugefügt. Erstellen Sie keinen separaten Webexportauftrag für eine API-Aufgabe. Keine Extras bedeutet, dass results.full_zip_url auf base.zip zeigt; Extras bedeuten, dass es auf die Datei exports/a ZIP verweist.
Chemische Aufgaben liefern results.original_url und results.json_url, ohne ZIP und weitere Exportformate.
Chemische Ergebnisse sind ein JSON-Array mit allen nativen MolParser-Feldern je Molekül. Ohne Moleküle wird [] zurückgegeben.
source, input_index, page_index, bbox, confidence, raw_caption, caption, smi, esmi, cxsmiles, markush, sru, groupsresult.zip
├── markdown.md
├── middle_json.json
├── structured_content.json
├── images/
│ └── …
├── model_output.json (optional)
├── result.html (extra_formats: html)
├── result.docx (extra_formats: docx)
└── result.tex (extra_formats: latex)Ergebnisse werden 7 Tage aufbewahrt. results.full_zip_url wird für höchstens 15 Minuten und nie über die Aufbewahrungsfrist hinaus signiert. Mit einem einfachen GET herunterladen, ohne Authorization. Wenn die Signatur abläuft, während sie noch erhalten bleibt, fragen Sie die Details erneut nach einer neuen URL ab. Vorschaubild-Links dauern höchstens 2 Stunden; Andere Dateilinks dauern höchstens 15 Minuten.
ZIP-Dokumente behalten native relative Bildverweise und enthalten gespeicherte Bilder, sodass diese Verweise nicht von CDN-Signaturen abhängen. Extrahieren Sie das gesamte Archiv und behalten Sie die Ordnerstruktur bei. Remote-Bilder, auf die durch die Eingabe HTML verwiesen wird, werden nicht automatisch archiviert und verweisen möglicherweise weiterhin auf die Quellwebsite.
Fehler und Wiederherstellung
code 0 bedeutet Erfolg. Ein anderer code bezeichnet die Fehlerkategorie; msg nennt den Grund. Abfragen fehlgeschlagener oder abgelaufener Aufgaben liefern HTTP 200 mit task_failed oder result_expired und einem leeren results-Objekt.
{
"code": "quota_exceeded",
"data": null,
"msg": "not enough available pages/units"
}| HTTP | code | Beschreibung |
|---|---|---|
| 200 | task_failed | Analyse fehlgeschlagen. Den Grund finden Sie in msg. |
| 200 | result_expired | Die Ergebnisse sind abgelaufen. |
| 400 | invalid_request | Ungültige Parameter oder Datei. Den Grund finden Sie in msg. |
| 400 | too_many_pages | Das Dokument überschreitet das Seitenlimit oder das Limit abrechenbarer Einheiten. |
| 401 | unauthorized | API-Authentifizierung fehlgeschlagen. |
| 402 | quota_exceeded | Nicht genügend verfügbares Kontingent. |
| 403 | user_disabled | Das Konto ist deaktiviert. |
| 403 | pro_required | Eine aktive Pro-Mitgliedschaft ist erforderlich. |
| 404 | not_found | Aufgabe nicht gefunden oder Zugriff verweigert. |
| 413 | file_too_large | Die Datei überschreitet das Größenlimit Ihres Tarifs. |
| 500 | internal_error | Serververarbeitung fehlgeschlagen. Den Grund finden Sie in msg. |