EnConvert CLI — Dateikonvertierung & Web-Daten von der Kommandozeile#
enconvert ist die offizielle Kommandozeilen-Schnittstelle für die EnConvert-API — konvertieren Sie Dateien über 46 Upload-Routen, rendern Sie URLs und ganze Websites als PDF oder Screenshot und holen Sie agentenfertige Web-Daten (perceive, discover, lookup, distill, ingest), ohne Ihr Terminal zu verlassen. Die CLI wird über Homebrew, ein sha256-verifiziertes Install-Skript, Scoop oder npm installiert, enthält null Telemetrie und ist durchgehend fürs Scripting gebaut: --json bei jedem Befehl, ein eingebauter --jq-Filter, deterministische Exit-Codes, und konvertierte Dateien landen auf der Festplatte, während der Pfad auf stdout ausgegeben wird.
@enconvert/cli · Quelle: enconvert/cli · Lizenz: MIT · Telemetrie: keine
Installation#
Homebrew (macOS und Linux):
brew install enconvert/tap/enconvert
Install-Skript (macOS und Linux, sha256-verifiziert):
curl -fsSL https://get.enconvert.com/install.sh | sh
Scoop (Windows):
scoop bucket add enconvert https://github.com/enconvert/scoop-bucket && scoop install enconvert
npm (jede Plattform, Node.js >= 22.12):
npm i -g @enconvert/cli
Prüfen Sie die Installation mit enconvert --version und erkunden Sie den vollen Funktionsumfang mit enconvert --help.
Authentifizierung#
enconvert auth login
Fügen Sie Ihren privaten API-Schlüssel ein (sk_live_...) — verdeckte Eingabe, live gegen die API validiert und in credentials.toml mit Dateimodus 0600 gespeichert. Jede Anfrage authentifiziert sich über den X-API-Key-Header. In CI überspringen Sie login und setzen stattdessen ENCONVERT_API_KEY.
enconvert auth status # where the key comes from, plan, quota
enconvert whoami # one-line identity check
enconvert usage # current-period conversion and V2 usage
enconvert auth switch # change the active profile
enconvert auth logout # delete the stored key
enconvert auth token gibt den aktiven Schlüssel aus, um ihn an andere Tools weiterzureichen — kein anderer Befehl zeigt ihn jemals an.
Dateien konvertieren#
enconvert convert deckt alle 46 Upload-Routen ab — Datenformate, Office-Dokumente, Bilder, universelle Ziele und Komprimierung. Der Endpunkt wird aus der Dateiendung plus --to abgeleitet:
| Konvertierung | Befehl | Aufgerufener Endpunkt |
|---|---|---|
| DOCX → PDF | enconvert convert report.docx --to pdf |
POST /v1/convert/doc-to-pdf |
| HEIC → WebP | enconvert convert photo.heic --to webp |
POST /v1/convert/heic-to-webp |
| JSON → YAML | enconvert convert data.json --to yaml |
POST /v1/convert/json-to-yaml |
| Markdown → PDF | enconvert convert README.md --to pdf |
POST /v1/convert/markdown-to-pdf |
Globs fächern sich in eine Konvertierung pro Datei auf, und -o - streamt Roh-Bytes für Pipes:
enconvert convert *.heic --to webp
enconvert convert data.csv --to json -o - | jq '.[0]'
Standardmäßig wird die konvertierte Datei auf die Festplatte geladen und ihr Pfad auf stdout ausgegeben. -o out.pdf wählt das Ziel, -O behält den Server-Dateinamen, --url-only gibt nur die vorsignierte URL aus, ohne herunterzuladen, und -o - schreibt stattdessen die Roh-Bytes auf stdout.
enconvert formats listet jede unterstützte Route; enconvert params <route> zeigt die Parameter, die ein bestimmter Endpunkt akzeptiert.
URLs & Websites rendern#
enconvert url pdf https://example.com -o page.pdf # POST /v1/convert/url-to-pdf
enconvert url screenshot https://example.com # POST /v1/convert/url-to-screenshot
enconvert url markdown https://example.com/article # POST /v1/convert/url-to-markdown
Ganze Websites laufen als asynchrone Batches. Standardmäßig wartet die CLI und zeigt den Fortschritt; --no-wait gibt die Batch-ID aus und kehrt sofort zurück:
enconvert site pdf https://example.com
enconvert site screenshot https://example.com --no-wait
Web-Daten für Agenten#
Die V2-Befehle bilden 1:1 die V2-Web-Intelligence-Endpunkte ab:
enconvert perceive https://example.com # POST /v2/perceive
enconvert perceive batch urls.txt # async batch, up to 1000 URLs
enconvert discover https://example.com # POST /v2/discover
enconvert lookup "best static site generators" # POST /v2/lookup
enconvert distill https://example.com/pricing --schema schema.json # POST /v2/distill
enconvert ingest https://docs.example.com # POST /v2/ingest
perceive rendert eine Seite in einem einzigen Aufruf zu Markdown-, HTML-, Screenshot- und PDF-Artefakten; discover zählt die URLs einer Website ohne Rendering auf; lookup führt eine Web-, News-, Scholar- oder Maps-Suche aus; distill extrahiert strukturierte Daten passend zu Ihrem JSON-Schema; und ingest crawlt eine Website in RAG-fertiges, gechunktes JSONL. Ingest-Jobs bringen eigene Helfer mit — enconvert ingest list, enconvert ingest files <job_id>, enconvert ingest webhook-secret — und jedes erzeugte Artefakt lässt sich mit enconvert files download <id> abrufen.
Sie arbeiten in einem KI-Assistenten statt im Terminal? enconvert mcp install richtet den EnConvert-MCP-Server für Sie ein.
Jobs & Scripting#
Jeder Befehl akzeptiert --json (ein einzelnes JSON-Dokument), --jsonl (Streaming-Zeilen), einen eingebauten --jq-Filter und --template für eigene Textausgaben:
enconvert jobs get <job_id> --json --jq .status
Asynchrone Arbeit folgt einem Start-/Warten-/Abholen-Muster:
enconvert site pdf https://example.com --no-wait
enconvert jobs batch <batch_id>
enconvert jobs wait <batch_id> --wait-timeout 600 --exit-status
--exit-status lässt wartende Befehle mit dem Ergebnis des Jobs beenden, --poll-interval steuert den Polling-Takt, --dry-run gibt die Anfrage aus, ohne sie zu senden, und --no-input deaktiviert jede Eingabeaufforderung für CI. Die Exit-Codes sind stabil und skriptfreundlich:
| Code | Bedeutung |
|---|---|
0 |
Erfolg |
2 |
Bedienfehler — ungültige Flags oder Argumente |
4 |
Authentifizierung fehlgeschlagen |
5 |
Rate-Limit überschritten |
6 |
Plan- oder Kontingentgrenze erreicht |
7 |
Nicht unterstützte Konvertierung oder Format |
8 |
Eingabe abgelehnt |
9 |
Serverfehler oder Job-Fehlschlag |
10 |
Netzwerkfehler oder Timeout |
130 |
Mit Strg-C abgebrochen |
Der Befehl api#
Ein Passthrough im gh-Stil, der jeden EnConvert-Endpunkt erreicht — auch neue, für die die CLI noch kein eigenes Verb hat:
enconvert api /v2/perceive -f url=https://example.com
enconvert api /v1/convert/status/<job_id> --jq .status
-f fügt String-Felder hinzu, -F fügt typisierte Magic-Felder hinzu (Zahlen, Booleans, @file zum Einlesen eines Werts von der Festplatte). Mit Feldern ist die Anfrage ein POST, ohne sie ein GET, und --jq filtert die JSON-Antwort direkt.
Konfiguration & Profile#
Einstellungen liegen als benannte Profile in ~/.config/enconvert/config.toml; Schlüssel liegen separat in credentials.toml (Modus 0600); eine projektlokale .enconvertrc.toml überschreibt beides:
[profile.default]
api_url = "https://api.enconvert.com"
[profile.work]
timeout = 120
Wählen Sie ein Profil pro Aufruf mit --profile work, pro Shell mit ENCONVERT_PROFILE oder dauerhaft mit enconvert auth switch. enconvert config liest und schreibt jede Einstellung von der Kommandozeile aus.
Umgebungsvariablen#
| Variable | Zweck |
|---|---|
ENCONVERT_API_KEY |
API-Schlüssel — überschreibt gespeicherte Zugangsdaten |
ENCONVERT_API_URL |
Override der API-Basis-URL |
ENCONVERT_PROFILE |
Name des aktiven Profils |
ENCONVERT_CONFIG |
Expliziter Pfad zur Konfigurationsdatei |
ENCONVERT_CONFIG_DIR |
Override des Konfigurationsverzeichnisses |
ENCONVERT_DEBUG |
Ausführliches Request- und Response-Logging |
ENCONVERT_NO_INPUT |
Interaktive Eingabeaufforderungen deaktivieren |
ENCONVERT_NO_UPDATE_NOTIFIER |
Update-Hinweis stummschalten |
NO_COLOR |
Farbige Ausgabe deaktivieren (die NO_COLOR-Familie wird respektiert) |
Flags schlagen Umgebungsvariablen, diese schlagen die projektlokale .enconvertrc.toml, und diese schlägt die globale Konfiguration.
Shell-Vervollständigung#
source <(enconvert completion zsh)
Fügen Sie diese Zeile Ihrem Shell-Profil hinzu. Vervollständigungen für bash, fish und powershell werden auf dieselbe Weise erzeugt.
Aktualisieren#
enconvert upgrade
Erkennt, wie die CLI installiert wurde (Homebrew, Install-Skript, Scoop, npm), und aktualisiert über denselben Kanal. Setzen Sie ENCONVERT_NO_UPDATE_NOTIFIER=1, um den täglichen Update-Hinweis stummzuschalten.
Deinstallation#
brew uninstall enconvert # Homebrew
scoop uninstall enconvert # Scoop
npm rm -g @enconvert/cli # npm
rm "$(command -v enconvert)" # install script
Entfernen Sie optional ~/.config/enconvert/, um Konfiguration und Zugangsdaten zu löschen.
Fehlerbehebung#
command not found: enconvert nach npm i -g.
Der npm-Build erfordert Node.js >= 22.12, und das globale bin-Verzeichnis von npm muss in Ihrem PATH liegen — prüfen Sie es mit npm prefix -g. Die Homebrew-, Install-Skript- und Scoop-Builds sind eigenständige Binaries ohne Node-Voraussetzung.
Eine umgeleitete Datei enthält einen Dateipfad statt des Dokuments.
Standardmäßig lädt die CLI die Datei auf die Festplatte und gibt den Pfad auf stdout aus — enconvert url pdf ... > out.pdf fängt diesen Pfadtext ein. Streamen Sie die eigentlichen Bytes mit -o - oder setzen Sie das Ziel mit -o out.pdf.
Exit-Code 4 in CI.
Kein nutzbarer API-Schlüssel. Setzen Sie ENCONVERT_API_KEY in Ihren CI-Secrets; enconvert auth status zeigt genau, woher der Schlüssel kommt (oder nicht kommt).
Ein Befehl hängt in CI.
Er wartet auf eine interaktive Eingabe. Übergeben Sie --no-input (oder setzen Sie ENCONVERT_NO_INPUT=1), damit Eingabeaufforderungen sofort fehlschlagen statt zu blockieren.
Links#
- npm — @enconvert/cli
- GitHub — enconvert/cli (MIT, null Telemetrie)
- MCP-Server — @enconvert/mcp setup
- API-Referenz — Endpunkte-Übersicht
- Fehlercodes — Fehlercode-Referenz