EnConvert CLI — Conversione file e dati web dalla riga di comando#
enconvert è l'interfaccia a riga di comando ufficiale dell'API EnConvert — converti file attraverso 46 route di upload, trasforma URL e interi siti in PDF o screenshot e ottieni dati web pronti per gli agenti (perceive, discover, lookup, distill, ingest) senza uscire dal terminale. Si installa da Homebrew, da uno script di installazione verificato con sha256, da Scoop o da npm, non include alcuna telemetria ed è costruita per lo scripting da cima a fondo: --json su ogni comando, un filtro --jq integrato, codici di uscita deterministici e file convertiti salvati su disco con il percorso stampato su stdout.
@enconvert/cli · Sorgente: enconvert/cli · Licenza: MIT · Telemetria: nessuna
Installazione#
Homebrew (macOS e Linux):
brew install enconvert/tap/enconvert
Script di installazione (macOS e Linux, verificato con sha256):
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 (qualsiasi piattaforma, Node.js >= 22.12):
npm i -g @enconvert/cli
Verifica l'installazione con enconvert --version, poi esplora tutto ciò che il binario sa fare con enconvert --help.
Autenticazione#
enconvert auth login
Incolla la tua chiave API privata (sk_live_...) — input nascosto, validata in tempo reale contro l'API e salvata in credentials.toml con modalità file 0600. Ogni richiesta si autentica con l'header X-API-Key. In CI salta login e imposta invece 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 stampa la chiave attiva per passarla ad altri strumenti — nessun altro comando la mostra mai.
Convertire file#
enconvert convert copre tutte le 46 route di upload — formati di dati, documenti office, immagini, destinazioni universali e compressione. L'endpoint viene dedotto dall'estensione del file più --to:
| Conversione | Comando | Endpoint chiamato |
|---|---|---|
| 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 |
I glob si espandono in una conversione per file, e -o - trasmette i byte grezzi per il piping:
enconvert convert *.heic --to webp
enconvert convert data.csv --to json -o - | jq '.[0]'
Per impostazione predefinita il file convertito viene scaricato su disco e il suo percorso viene stampato su stdout. -o out.pdf sceglie la destinazione, -O mantiene il nome file del server, --url-only stampa l'URL prefirmato senza scaricare, e -o - scrive invece i byte grezzi su stdout.
enconvert formats elenca ogni route supportata; enconvert params <route> mostra i parametri accettati da uno specifico endpoint.
Renderizzare URL e siti#
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
I siti interi girano come batch asincroni. Per impostazione predefinita la CLI attende e mostra l'avanzamento; --no-wait stampa l'id del batch e ritorna subito:
enconvert site pdf https://example.com
enconvert site screenshot https://example.com --no-wait
Dati web per agenti#
I comandi V2 corrispondono 1:1 agli endpoint di web intelligence V2:
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 trasforma una pagina in artefatti markdown, HTML, screenshot e PDF in una sola chiamata; discover enumera gli URL di un sito senza rendering; lookup esegue una ricerca web, news, scholar o maps; distill estrae dati strutturati conformi al tuo schema JSON; e ingest esegue il crawling di un sito in JSONL suddiviso in chunk pronto per il RAG. I job di ingest hanno i propri ausiliari — enconvert ingest list, enconvert ingest files <job_id>, enconvert ingest webhook-secret — e ogni artefatto prodotto si recupera con enconvert files download <id>.
Lavori dentro un assistente IA invece che in un terminale? enconvert mcp install configura per te il server MCP di EnConvert.
Job e scripting#
Ogni comando accetta --json (un singolo documento JSON), --jsonl (righe in streaming), un filtro --jq integrato e --template per un output di testo personalizzato:
enconvert jobs get <job_id> --json --jq .status
Il lavoro asincrono segue uno schema avvia / attendi / recupera:
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 fa terminare i comandi in attesa con l'esito del job, --poll-interval regola la cadenza di polling, --dry-run stampa la richiesta senza inviarla, e --no-input disattiva ogni prompt per la CI. I codici di uscita sono stabili e adatti agli script:
| Codice | Significato |
|---|---|
0 |
Successo |
2 |
Errore d'uso — flag o argomenti non validi |
4 |
Autenticazione fallita |
5 |
Limite di richieste superato |
6 |
Limite di piano o quota raggiunto |
7 |
Conversione o formato non supportato |
8 |
Input rifiutato |
9 |
Errore del server o fallimento del job |
10 |
Errore di rete o timeout |
130 |
Interrotto con Ctrl-C |
Il comando api#
Un passthrough in stile gh che raggiunge ogni endpoint EnConvert — inclusi quelli nuovi per cui la CLI non ha ancora un verbo dedicato:
enconvert api /v2/perceive -f url=https://example.com
enconvert api /v1/convert/status/<job_id> --jq .status
-f aggiunge campi stringa, -F aggiunge campi magici tipizzati (numeri, booleani, @file per leggere un valore dal disco). Con i campi la richiesta è una POST, senza è una GET, e --jq filtra la risposta JSON al volo.
Configurazione e profili#
Le impostazioni vivono in ~/.config/enconvert/config.toml come profili con nome; le chiavi vivono a parte in credentials.toml (modalità 0600); un .enconvertrc.toml locale al progetto sovrascrive entrambi:
[profile.default]
api_url = "https://api.enconvert.com"
[profile.work]
timeout = 120
Seleziona un profilo per invocazione con --profile work, per shell con ENCONVERT_PROFILE, o in modo persistente con enconvert auth switch. enconvert config legge e scrive qualsiasi impostazione dalla riga di comando.
Variabili d'ambiente#
| Variabile | Scopo |
|---|---|
ENCONVERT_API_KEY |
Chiave API — sovrascrive le credenziali salvate |
ENCONVERT_API_URL |
Override dell'URL base dell'API |
ENCONVERT_PROFILE |
Nome del profilo attivo |
ENCONVERT_CONFIG |
Percorso esplicito del file di configurazione |
ENCONVERT_CONFIG_DIR |
Override della directory di configurazione |
ENCONVERT_DEBUG |
Log dettagliato di richieste e risposte |
ENCONVERT_NO_INPUT |
Disattivare i prompt interattivi |
ENCONVERT_NO_UPDATE_NOTIFIER |
Silenziare l'avviso di aggiornamento |
NO_COLOR |
Disattivare l'output colorato (la famiglia NO_COLOR è rispettata) |
I flag vincono sulle variabili d'ambiente, che vincono sul .enconvertrc.toml del progetto, che vince sulla configurazione globale.
Completamento della shell#
source <(enconvert completion zsh)
Aggiungi quella riga al profilo della tua shell. I completamenti bash, fish e powershell si generano allo stesso modo.
Aggiornamento#
enconvert upgrade
Rileva come è stata installata la CLI (Homebrew, script di installazione, Scoop, npm) e aggiorna attraverso lo stesso canale. Imposta ENCONVERT_NO_UPDATE_NOTIFIER=1 per silenziare l'avviso di aggiornamento giornaliero.
Disinstallazione#
brew uninstall enconvert # Homebrew
scoop uninstall enconvert # Scoop
npm rm -g @enconvert/cli # npm
rm "$(command -v enconvert)" # install script
Facoltativamente rimuovi ~/.config/enconvert/ per eliminare configurazione e credenziali.
Risoluzione dei problemi#
command not found: enconvert dopo npm i -g.
La build npm richiede Node.js >= 22.12, e la directory bin globale di npm deve essere nel tuo PATH — verificala con npm prefix -g. Le build Homebrew, script di installazione e Scoop sono binari autonomi senza alcun requisito su Node.
Un file rediretto contiene un percorso di file invece del documento.
Per impostazione predefinita la CLI scarica il file su disco e stampa il percorso su stdout — enconvert url pdf ... > out.pdf cattura quel testo di percorso. Trasmetti i byte reali con -o -, oppure imposta la destinazione con -o out.pdf.
Codice di uscita 4 in CI.
Nessuna chiave API utilizzabile. Imposta ENCONVERT_API_KEY nei secret della tua CI; enconvert auth status mostra esattamente da dove arriva (o non arriva) la chiave.
Un comando resta bloccato in CI.
Sta aspettando un prompt interattivo. Passa --no-input (o imposta ENCONVERT_NO_INPUT=1) così i prompt falliscono subito invece di bloccare.
Link#
- npm — @enconvert/cli
- GitHub — enconvert/cli (MIT, zero telemetria)
- Server MCP — @enconvert/mcp setup
- Riferimento API — Panoramica degli endpoint
- Codici di errore — Riferimento codici di errore