Umgebungseinrichtung
Diese Seite richtet sich an alle, die noch nie eine HTTP-API über ein Terminal aufgerufen haben. Wenn Sie bereits mit curl und Umgebungsvariablen vertraut sind, springen Sie direkt zu Schnellstart.
Client installieren
Sie benötigen ein Tool, das eine HTTP-Anfrage mit benutzerdefinierten Headern senden kann. Zwei gängige Optionen:
- curl – ein Befehlszeilen-Tool, das auf macOS und Linux meist bereits installiert ist. Überprüfen Sie dies mit
curl --versionin einem Terminal. Unter Windows installieren Sie es über curl.se/windows oder nutzen Sie curl, das in Git Bash / WSL enthalten ist. Jedes Beispiel in dieser Dokumentation ist zuerst als curl-Befehl geschrieben. - Postman (oder Insomnia) – eine grafische App zum Erstellen und Speichern von Anfragen, nützlich, wenn Sie lieber durch ein Formular klicken als Shell-Befehle schreiben. Installieren Sie es von postman.com/downloads und erstellen Sie dann jedes curl-Beispiel auf dieser Seite nach, indem Sie die URL, Methode, Header und den Body in eine neue Anfrage kopieren.
Verwendung der Python-Beispiele
Jedes Codebeispiel auf dieser Seite hat einen Python-Reiter, der auf der beliebten requests-Bibliothek basiert – kein offizielles ImageToTable.ai SDK (wir veröffentlichen keins; es handelt sich um einfache HTTP-Aufrufe mit einem beliebigen Standard-Client). Sie benötigen:
- Python 3.8+ – überprüfen Sie dies mit
python3 --version. Holen Sie es sich von python.org/downloads, falls es fehlt. requests– nicht Teil der Standardbibliothek, installieren Sie es zuerst:
(oderpip install requestspip3 install requests, je nach System).
Die Exportbeispiele, die die heruntergeladene Datei (xlsx/docx) parsen, verwenden außerdem openpyxl / python-docx – nur erforderlich, wenn Sie diese spezifischen Beispiele nachvollziehen, installieren Sie sie mit pip install openpyxl python-docx.
Verwendung der JavaScript-Beispiele
Der JavaScript-Tab verwendet die native fetch-API – keine Bibliothek muss installiert werden – setzt aber eine einigermaßen aktuelle Laufzeitumgebung voraus:
- Node.js 20+ bei serverseitiger Ausführung – prüfen Sie mit
node --version. Die Beispiele verwendenawaitauf oberster Ebene und das globalecrypto.randomUUID(), beides benötigt ein aktuelles Node; bei Node 18 (inzwischen End-of-Life) istcryptoaußerhalb von CommonJS/REPL nicht zuverlässig global verfügbar, und diese Beispiele können mit einem verwirrenden Fehlercrypto is not definedfehlschlagen, der nichts mit Ihrem API-Key zu tun hat. Laden Sie eine aktuelle Version von nodejs.org herunter. - Oder fügen Sie das Snippet einfach in die DevTools-Konsole eines Browsers ein – jeder moderne Browser unterstützt dieselben APIs (
fetch,FormData,crypto.randomUUID()) nativ, keine Installation erforderlich.
API-Key abrufen
Ihr API-Key wird auf der Profilseite Ihres Kontos ausgestellt. Die v1 API ist für kostenpflichtige Tarife (Basic und höher) verfügbar; die Verwendung mit einem Free-Tarif-Key gibt einen plan_required-Fehler zurück (keinen fehlenden Authentifizierungsfehler), da der Key selbst gültig ist – er darf nur noch nicht die v1 API verwenden.
API-Key als Umgebungsvariable speichern
Fügen Sie Ihren Key nicht direkt in einen Befehl ein, den Sie möglicherweise teilen, screenshotten oder in die Versionsverwaltung einchecken. Exportieren Sie ihn stattdessen in Ihre Shell-Sitzung und referenzieren Sie ihn in jeder Anfrage als $API_KEY – jedes Beispiel auf dieser Seite setzt voraus, dass diese Variable existiert:
export API_KEY="itt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Dies gilt nur für Ihre aktuelle Terminalsitzung. Für eine dauerhaftere Lösung fügen Sie dieselbe Zeile der Startdatei Ihrer Shell hinzu (~/.bashrc, ~/.zshrc oder entsprechend) – oder, wenn Sie ein Skript schreiben, laden Sie sie aus einer .env-Datei / einem Secrets-Manager, anstatt sie im Quellcode fest zu codieren.
Testanfrage senden
Bestätigen Sie Ihren Key und die Einrichtung, bevor Sie zu echten Dokumenten übergehen:
curl https://imagetotable.ai/api/v1/account \
-H "Authorization: Bearer $API_KEY"Ein funktionierender Key in einem kostenpflichtigen Tarif gibt Ihre Kontozusammenfassung zurück (Tarif, Rolle, verfügbare Credits). Bei allem anderen siehe die Fehlerbehebungs-Checkliste unten.
Fehlerbehebungs-Checkliste
Jeder v1-Fehler wird als JSON mit type/code/message zurückgegeben – die vollständige Liste finden Sie in der Anleitung Fehlerbehandlung. Die schnellsten ersten Überprüfungen für eine Anfrage, die nicht funktioniert:
- Erhalten Sie
missing_api_key? Prüfen Sie, ob der Header exaktAuthorization: Bearer <key>lautet – das WortBearer, ein einzelnes Leerzeichen, dann der Key. Ein fehlendes Leerzeichen oder ein überflüssiges Anführungszeichen in$API_KEYführt beides zu diesem Fehler. - Erhalten Sie
invalid_api_key? Der Key stimmt mit keinem Konto überein oder das Konto ist deaktiviert. Kopieren Sie ihn erneut von Ihrer Profilseite – Keys sind lang und beim Kopieren leicht zu kürzen. - Erhalten Sie
plan_required? Ihr Key ist gültig, aber Ihr Konto befindet sich im Free-Tarif. Führen Sie ein Upgrade auf Basic oder höher durch, um v1 zu nutzen. - Erhalten Sie einen Verbindungsfehler, keine JSON-Antwort? Überprüfen Sie, ob die URL mit
https://imagetotable.ai/api/v1/beginnt und dass Sie-X POST(oder das richtige Verb) für Endpunkte verwenden, die dies erfordern – eine GET-Anfrage an einen POST-only-Endpunkt erreicht die Route überhaupt nicht. - Laden Sie eine Datei hoch und erhalten einen unerwarteten Fehler? Multipart-Datei-Uploads benötigen
-F "file=@/pfad/zur/datei.jpg"(cURLs Form-Upload-Flag), nicht-doder einen rohen JSON-Body – diese Verwechslung ist der häufigste Upload-Fehler. Das führende@teilt cURL mit, diesen Pfad als echte Datei auf Ihrem eigenen Rechner zu lesen – es ist keine URL, und die Datei muss bereits dort existieren, bevor Sie den Befehl ausführen. Wenn Sie keine lokale Datei zur Hand haben, überspringen Sie dies vollständig: Übergeben Sie stattdessen einurl-Feld anstelle vonfile, und der Server holt sie für Sie ab – siehe Schnellstart. - Erhalten Sie
rate_limit_exceeded? Siehe Ratenbegrenzungen – die Grenzen gelten pro Konto, nicht pro erwartetem Anfragetyp, sodass ein Burst von Polling-Aufrufen dieselbe Grenze auslösen kann wie ein Burst von Uploads.