> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Venice CLI

> L'interfaccia a riga di comando ufficiale di Venice porta chat, ricerca web, generazione di immagini, TTS, trascrizione, video ed embeddings nel tuo terminale, con crittografia end-to-end opzionale.

La [Venice CLI](https://github.com/veniceai/venice-cli) è l'interfaccia a riga di comando ufficiale di Venice. Chatta con i modelli AI, genera immagini, converti testo in voce, trascrivi audio, genera video e molto altro—tutto dal tuo terminale, con crittografia end-to-end opzionale.

<Card title="GitHub: veniceai/venice-cli" icon="github" href="https://github.com/veniceai/venice-cli">
  Pubblicata come [`veniceai-cli`](https://www.npmjs.com/package/veniceai-cli) su npm. Licenza MIT.
</Card>

<CardGroup cols={3}>
  <Card title="Privacy-first" icon="lock">
    E2EE opzionale e attestazione TEE. Nessuna telemetria, nessun tracciamento del browser.
  </Card>

  <Card title="Ogni modalità" icon="layer-group">
    Chat, ricerca, immagini, upscale, TTS, trascrizione, video ed embeddings
  </Card>

  <Card title="Scriptabile" icon="terminal">
    Output JSON e raw, piping da stdin e completion di shell per bash, zsh, fish
  </Card>
</CardGroup>

## Avvio rapido

<Steps>
  <Step title="Installa la CLI">
    Installala globalmente con npm:

    ```bash theme={"system"}
    npm install -g veniceai-cli
    ```

    Oppure eseguila senza installarla:

    ```bash theme={"system"}
    npx veniceai-cli chat 'Hello, world!'
    ```
  </Step>

  <Step title="Ottieni una API key Venice">
    Generane una da [venice.ai/settings/api](https://venice.ai/settings/api). Consulta la [guida sulle API key](/guides/getting-started/generating-api-key) per istruzioni passo passo.
  </Step>

  <Step title="Configura la tua key">
    Esegui la configurazione interattiva e incolla la tua key quando richiesto, così non apparirà mai nella cronologia della shell o nell'elenco dei processi:

    ```bash theme={"system"}
    venice config init
    ```

    Oppure usa invece una variabile d'ambiente:

    ```bash theme={"system"}
    export VENICE_API_KEY=YOUR_API_KEY
    ```
  </Step>

  <Step title="Inizia a chattare">
    ```bash theme={"system"}
    venice chat "What is the meaning of life?"
    ```
  </Step>
</Steps>

<Note>
  Richiede Node.js 18.0.0 o superiore. `VENICE_API_KEY` ha la precedenza su qualsiasi valore salvato nel file di configurazione.
</Note>

## Comandi

| Comando                               | Cosa fa                                                                          |
| ------------------------------------- | -------------------------------------------------------------------------------- |
| `venice chat <prompt>`                | Chatta con qualsiasi modello testuale di Venice, con tool, character e streaming |
| `venice search <query>`               | Ricerca web con sintesi AI e citazioni opzionali                                 |
| `venice image <prompt>`               | Genera un'immagine da un prompt testuale                                         |
| `venice upscale <file>`               | Esegue l'upscale di un'immagine esistente fino a 4×                              |
| `venice tts <text>`                   | Text-to-speech con oltre 35 voci                                                 |
| `venice transcribe <file>`            | Speech-to-text con timestamp opzionali                                           |
| `venice video <subcommand>`           | Metti in coda, esegui polling e scarica video generati dall'AI                   |
| `venice embeddings <text>`            | Genera vettori di embedding                                                      |
| `venice models`                       | Elenca e filtra il catalogo modelli live                                         |
| `venice tee <subcommand>`             | Recupera e verifica l'attestazione TEE                                           |
| `venice config <subcommand>`          | Gestisci API key e valori predefiniti                                            |
| `venice history <subcommand>`         | Elenca, mostra, esporta o cancella conversazioni                                 |
| `venice usage`                        | Mostra l'utilizzo dei token nel tempo                                            |
| `venice characters` / `venice voices` | Elenca i personaggi integrati e le voci TTS                                      |
| `venice completions <shell>`          | Genera i completamenti della shell                                               |

### Chat

```bash theme={"system"}
# Basic chat
venice chat "Explain quantum computing in simple terms"

# Use a specific model and system prompt
venice chat -m deepseek-v3.2 -s "You are a helpful coding assistant" "Write fizzbuzz in Python"

# Continue the previous conversation
venice chat --continue "What about the next step?"

# Function calling with built-in tools
venice chat -t calculator,datetime "What's 25 * 4.5, and what day is it?"

# JSON output for scripting
venice chat -f json "List 3 colors" | jq '.content'
```

Opzioni chat comuni:

| Opzione                  | Descrizione                                             |
| ------------------------ | ------------------------------------------------------- |
| `-m, --model <model>`    | Modello da usare (default: `kimi-k2-5`)                 |
| `-s, --system <prompt>`  | System prompt                                           |
| `-c, --character <name>` | Persona del character                                   |
| `-t, --tools <tools>`    | Elenco separato da virgole di tool integrati            |
| `--continue`             | Continua l'ultima conversazione                         |
| `--web-search`           | Abilita la ricerca web per informazioni aggiornate      |
| `--no-stream`            | Disabilita l'output in streaming                        |
| `-f, --format <format>`  | Formato di output (`pretty`, `json`, `markdown`, `raw`) |
| `--e2ee` / `--no-e2ee`   | Forza o disabilita la crittografia end-to-end           |
| `--tee-verify`           | Mostra i dettagli dell'attestazione TEE                 |
| `-q, --quiet`            | Nascondi i messaggi di stato E2EE/TEE                   |

### Ricerca web

```bash theme={"system"}
venice search "Latest developments in fusion energy"
venice search -n 10 --citations "Best practices for TypeScript"
venice search --scrape "Company research on Anthropic"
```

### Generazione di immagini e upscaling

```bash theme={"system"}
# Generate and save an image
venice image -o sunset.png "A serene mountain lake at sunset"

# Custom dimensions and model
venice image -w 1024 -h 768 -m flux-1-dev "Landscape photograph"

# Upscale an existing image 4×
venice upscale photo.jpg -s 4 -o photo_4x.jpg
```

### Text-to-speech e trascrizione

```bash theme={"system"}
# Speak with a specific voice
venice tts -v bf_emma -o greeting.mp3 "Good morning, everyone!"

# Pipe text in from stdin
echo "Text to speak" | venice tts -o output.mp3

# Transcribe audio with timestamps
venice transcribe -t recording.mp3

# Choose a model and language hint
venice transcribe -m openai/whisper-large-v3 -l es spanish_audio.mp3
```

### Generazione video

La generazione video è asincrona (basata su coda).

```bash theme={"system"}
# Queue a text-to-video generation
venice video generate -m veo3-fast-text-to-video "Cinematic sunset over mountains"

# Image-to-video with a reference image
venice video generate -m wan-2.6-image-to-video -i photo.jpg "The scene comes alive"

# Poll until done, then download
venice video status -w <queue_id>
venice video retrieve <queue_id> -o my_video.mp4

# List available video models
venice video models
```

### Modelli ed embeddings

```bash theme={"system"}
# List and filter the catalog
venice models -t image
venice models --privacy
venice models --e2ee

# Generate embeddings
venice embeddings -o vectors.json "Text to embed"
```

### Configurazione

```bash theme={"system"}
# Interactive setup
venice config init

# Set and inspect values
venice config set default_model kimi-k2-5
venice config get default_model
venice config show
venice config path
```

| Chiave                | Descrizione                                   |
| --------------------- | --------------------------------------------- |
| `api_key`             | La tua API key Venice                         |
| `default_model`       | Modello di chat predefinito                   |
| `default_image_model` | Modello di generazione immagini predefinito   |
| `default_voice`       | Voce TTS predefinita                          |
| `output_format`       | Formato di output predefinito                 |
| `show_usage`          | Mostra l'utilizzo dei token dopo le richieste |

## Privacy: E2EE e TEE

Venice CLI è costruita per la privacy. Non invia telemetria, memorizza la tua API key localmente con permessi ristretti e supporta i modelli di calcolo confidenziale di Venice.

* **Crittografia end-to-end (E2EE)**: I messaggi vengono crittografati lato client e decrittografati solo all'interno del TEE, quindi Venice non può leggere i tuoi dati. La CLI abilita automaticamente E2EE quando un modello dichiara la capacità, generando una coppia di chiavi effimere per sessione (ECDH + AES-GCM).
* **Attestazione TEE**: Verifica crittograficamente che un modello venga eseguito in un enclave sicuro prima di inviare dati.

```bash theme={"system"}
# Discover confidential-compute models
venice models --e2ee
venice models --tee

# Chat with E2EE (auto-enabled for capable models)
venice chat -m <e2ee-capable-model> "Your private message here"

# TEE-only mode: verify attestation without encryption
venice chat -m <e2ee-capable-model> --no-e2ee "TEE verified, not encrypted"

# Fetch and verify attestation directly
venice tee attestation <model>
venice tee verify <model>
```

<Note>
  La modalità E2EE disabilita tool e ricerca web per preservare la crittografia end-to-end.
</Note>

## Formati di output

| Formato    | Caso d'uso                                                   |
| ---------- | ------------------------------------------------------------ |
| `pretty`   | Output colorato e formattato per l'uso interattivo (default) |
| `json`     | JSON leggibile dalla macchina per scripting e piping         |
| `markdown` | Output formattato in Markdown per la documentazione          |
| `raw`      | Testo semplice senza decorazioni, per i pipe                 |

La CLI rileva automaticamente quando l'output viene reindirizzato a un pipe e passa a `raw`.

```bash theme={"system"}
venice chat -f json "List items" | jq '.'
venice chat "Generate code" | pbcopy
```

## Risorse

<CardGroup cols={2}>
  <Card title="GitHub" icon="github" href="https://github.com/veniceai/venice-cli">
    Codice sorgente, issue e release
  </Card>

  <Card title="npm" icon="npm" href="https://www.npmjs.com/package/veniceai-cli">
    `veniceai-cli`
  </Card>

  <Card title="Server MCP di Venice" icon="plug" href="/guides/integrations/venice-mcp">
    Esponi gli stessi tool Venice a qualsiasi host MCP
  </Card>

  <Card title="Riferimento API Venice" icon="book" href="/api-reference/api-spec">
    Documentazione completa di endpoint e parametri
  </Card>
</CardGroup>
