---
seo_title: CLI di conversione file e dati web da terminale | EnConvert
meta_desc: Installa la CLI ufficiale enconvert con Homebrew, curl, Scoop o npm. Converti file, trasforma URL in PDF e ottieni dati web pronti per gli agenti dal terminale.
keywords: conversione file riga di comando, convertire file terminale cli, url in pdf riga di comando, homebrew convertitore file cli, scoop convertitore file, npm cli conversione file, cli dati web per agenti, output json jq cli, enconvert cli
---

# 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.

<div class="alert alert-info">
<strong>npm:</strong> <code>@enconvert/cli</code> · <strong>Sorgente:</strong> <a href="https://github.com/enconvert/cli">enconvert/cli</a> · <strong>Licenza:</strong> MIT · <strong>Telemetria:</strong> nessuna
</div>

---

## Installazione

**Homebrew** (macOS e Linux):

```bash
brew install enconvert/tap/enconvert
```

**Script di installazione** (macOS e Linux, verificato con sha256):

```bash
curl -fsSL https://get.enconvert.com/install.sh | sh
```

**Scoop** (Windows):

```bash
scoop bucket add enconvert https://github.com/enconvert/scoop-bucket && scoop install enconvert
```

**npm** (qualsiasi piattaforma, Node.js >= 22.12):

```bash
npm i -g @enconvert/cli
```

Verifica l'installazione con `enconvert --version`, poi esplora tutto ciò che il binario sa fare con `enconvert --help`.

---

## Autenticazione

```bash
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`.

```bash
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:

```bash
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

```bash
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:

```bash
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:

```bash
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](/it/docs/mcp).

---

## 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:

```bash
enconvert jobs get <job_id> --json --jq .status
```

Il lavoro asincrono segue uno schema avvia / attendi / recupera:

```bash
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:

```bash
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:

```toml
[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

```bash
source <(enconvert completion zsh)
```

Aggiungi quella riga al profilo della tua shell. I completamenti `bash`, `fish` e `powershell` si generano allo stesso modo.

---

## Aggiornamento

```bash
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

```bash
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](https://www.npmjs.com/package/@enconvert/cli)
- **GitHub** — [enconvert/cli](https://github.com/enconvert/cli) (MIT, zero telemetria)
- **Server MCP** — [@enconvert/mcp setup](/it/docs/mcp)
- **Riferimento API** — [Panoramica degli endpoint](/it/docs/endpoints-overview)
- **Codici di errore** — [Riferimento codici di errore](/it/docs/error-codes)
