SDKs für Dateikonvertierung#

Offizielle Client-Bibliotheken für die EnConvert-API, veröffentlicht für zehn Sprachen: Node.js, Python, Go, Java, PHP, Ruby, C#, Rust, Kotlin und Swift. Jedes SDK deckt dieselben beiden Oberflächen hinter einem einzigen API-Schlüssel ab. Die Konvertierungs-Oberfläche wandelt Dateien und URLs in andere Formate um, und die V2-Oberfläche für Web-Intelligenz nimmt Live-Webseiten wahr (perceive), ermittelt URLs (discover), sucht im Web (lookup), destilliert strukturierte Daten (distill), ingestiert ganze Sites (ingest) und überwacht Seiten auf Änderungen (watch). Jeder Client stellt diese Endpunkte als typisierte Methoden bereit, übernimmt die Authentifizierung und liefert vorsignierte Download-URLs zurück.

Überall dasselbe Wire-Format. Jedes SDK spricht dieselben öffentlichen REST-Endpunkte an, die auf dieser Website dokumentiert sind. Du kannst SDK-Aufrufe und rohe HTTP-Aufrufe gegen dasselbe Projekt und denselben Schlüssel mischen.

Verfügbare SDKs#

Sprache Paket Installation Quelle
Node.js / TypeScript @enconvert/node-sdk npm install @enconvert/node-sdk enconvert/node-sdk
Python enconvert pip install enconvert conversionapi/python-sdk
Go github.com/conversionapi/go-sdk go get github.com/conversionapi/go-sdk conversionapi/go-sdk
Java com.enconvert:enconvert-sdk Dependency über Maven Central conversionapi/java-sdk
PHP enconvert/enconvert-php composer require enconvert/enconvert-php conversionapi/php-sdk
Ruby enconvert gem install enconvert conversionapi/ruby-sdk
C# / .NET Enconvert dotnet add package Enconvert conversionapi/csharp-sdk
Rust enconvert cargo add enconvert conversionapi/rust-sdk
Kotlin com.enconvert:enconvert-kotlin Dependency über Maven Central conversionapi/kotlin-sdk
Swift Enconvert Swift Package Manager conversionapi/swift-sdk

Alle zehn stehen unter der MIT-Lizenz.


Wähle deine Sprache#

  • Node.js / TypeScript: Node 18+, keine Laufzeit-Abhängigkeiten, duale ESM- und CJS-Builds, vollständige Typdefinitionen.
  • Python: Python 3.9+, typisierte Dataclasses, py.typed für mypy enthalten.
  • Go: Go 1.21+, nur Standardbibliothek, keine Fremdabhängigkeiten.
  • Java: Java 17+, eine einzige Abhängigkeit (Gson), HTTP über den HttpClient des JDK.
  • PHP: PHP 8.1+, Installation über Composer, PSR-4-Autoloading.
  • Ruby: Ruby 3.0+, ausgeliefert als enconvert-Gem.
  • C# / .NET: .NET 8+, durchgehend asynchrone Methoden, Nullable Reference Types aktiviert.
  • Rust: ein blockierender Client auf Basis von reqwest, also ohne Async-Runtime nutzbar.
  • Kotlin: JDK 17+, idiomatische Data-Klassen und kotlinx.serialization.
  • Swift: macOS 12+, iOS 15+, tvOS 15+ und watchOS 8+, mit async/await-Methoden.

Du schreibst gerade keinen Code? Die CLI deckt dieselbe API vom Terminal aus ab, der MCP-Server bindet sie in Claude, Cursor und Windsurf ein, und der n8n-Node bringt sie in einen Workflow.


Warum ein SDK verwenden?#

Die REST-API direkt aufzurufen funktioniert, und die SDKs legen vier Dinge obendrauf:

  • Typsichere Optionen. Editor-Autovervollständigung für jeden Parameter jedes Endpunkts. Ein Tippfehler in einem Feldnamen schlägt schon zur Compile- oder Importzeit fehl, statt als 422 zurückzukommen.
  • Automatische Timeout-Recovery. Aufwendige URL-zu-PDF-Renderings und große Dokumente überdauern manchmal den Reverse-Proxy-Timeout, obwohl die Konvertierung auf dem Server gelingt. Die SDKs erzeugen eine clientseitige job_id, senden sie mit der Anfrage und fallen still auf Polling von GET /v1/convert/status/{job_id} zurück, falls der ursprüngliche Aufruf 5xx liefert. Du schreibst dafür keine Zeile Code.
  • Streaming-Downloads. Zeigt eine Methode auf einen lokalen Pfad, streamt das SDK die Antwort mit Backpressure direkt auf die Festplatte. Der Speicherverbrauch bleibt konstant, egal wie groß die Ausgabe ist.
  • Konsistente Fehler. Eine kleine Exception-Hierarchie erlaubt das Abfangen nach Klasse, statt Statuscodes von Hand zu parsen.

Die beiden Oberflächen#

Jedes SDK teilt seine Methoden auf dieselbe Weise auf.

Oberfläche Was sie leistet REST-Referenz
Konvertierung Dokumente, Bilder, Datenformate, URLs und ganze Websites in andere Formate umwandeln Endpunkt-Übersicht
Web-Intelligenz (V2) Live-Webseiten wahrnehmen, ermitteln, nachschlagen, destillieren, ingestieren und überwachen V1 und V2

Jedes V2-Rendering trägt außerdem einen render_quality-Wert zwischen 0.0 und 1.0. Eine blockierte Seite, ein Bot-Challenge-Interstitial oder eine leere Single-Page-App-Hülle kommt mit niedrigem Wert und Warnungen markiert zurück, statt still als echter Inhalt durchzugehen. So gelangt ein schlechter Lesevorgang nie unbemerkt in den Kontext eines Agenten.


Einen API-Schlüssel erhalten#

Jedes SDK benötigt einen privaten API-Schlüssel (sk_...). Erzeuge einen im Dashboard und übergib ihn an den Konstruktor, indem du ihn aus einer Umgebungsvariable oder deinem Secret-Manager liest. Hardcode einen privaten Schlüssel niemals und liefere ihn niemals in clientseitigem Code aus. Browser-Code sollte stattdessen einen öffentlichen Schlüssel (pk_) mit einem JWT verwenden, wie unter Öffentliche Schlüssel und JWT beschrieben.


Häufig gestellte Fragen#

Für welche Sprachen gibt es ein offizielles SDK zur Dateikonvertierung?#

Für zehn: Node.js und TypeScript, Python, Go, Java, PHP, Ruby, C# und .NET, Rust, Kotlin sowie Swift. Alle zehn sind offiziell, MIT-lizenziert und folgen derselben REST-API. Ein Feature, das in der API landet, ist damit aus jedem von ihnen erreichbar.

Warum ein SDK verwenden, statt die REST-API zur Dateikonvertierung direkt aufzurufen?#

Die SDKs bieten typsichere Optionen mit Editor-Autovervollständigung, automatische Timeout-Recovery für lange Konvertierungen, Streaming-Downloads direkt auf die Festplatte und eine konsistente Fehlerhierarchie, sodass du nach Exception-Klasse abfangen kannst, ohne Statuscodes zu parsen.

Wie behandelt das SDK Konvertierungen, die den Reverse-Proxy-Timeout überschreiten?#

Das SDK erzeugt eine clientseitige job_id, sendet sie mit der Anfrage und fällt auf Polling von GET /v1/convert/status/{job_id} zurück, falls die ursprüngliche Anfrage 5xx liefert. Es gibt das Ergebnis zurück, sobald der Job als erfolgreich verbucht ist, und wirft einen Fehler, sobald er als fehlgeschlagen verbucht ist.

Kann ich SDK-Aufrufe mit rohen HTTP-Anfragen mischen?#

Ja. Jedes SDK spricht dieselben öffentlichen REST-Endpunkte an, die auf dieser Website dokumentiert sind. SDK-Aufrufe und selbst gebaute HTTP-Aufrufe können sich also ein Projekt und einen Schlüssel teilen.

Decken die SDKs die V2-Endpunkte für Web-Intelligenz ab?#

Ja. Alle zehn stellen einen V2-Namensraum bereit, der perceive, discover, lookup, distill, ingest und watch abdeckt, zusätzlich zu den Methoden für die Dateikonvertierung. Was jeder Endpunkt leistet, steht in der V1 und V2.

Welchen API-Schlüssel benötigt ein SDK?#

Einen privaten API-Schlüssel (sk_...), erzeugt im Dashboard und an den Konstruktor übergeben. Lies ihn aus einer Umgebungsvariable, statt ihn hart zu verdrahten, und bündle ihn niemals in clientseitigen Code. Browser-Code sollte stattdessen einen öffentlichen Schlüssel mit einem JWT verwenden.

Gibt es ein SDK für meine Sprache, wenn sie nicht auf der Liste steht?#

Noch nicht, und du brauchst auch keines. Die API ist schlichtes REST mit JSON- und Multipart-Bodies, also funktioniert jeder HTTP-Client. Starte bei der Endpunkt-Übersicht und beim Authentifizierungs-Leitfaden.