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

> La interfaz de línea de comandos oficial de Venice lleva chat, búsqueda web, generación de imágenes, TTS, transcripción, vídeo y embeddings a tu terminal con cifrado de extremo a extremo opcional.

La [Venice CLI](https://github.com/veniceai/venice-cli) es la interfaz de línea de comandos oficial de Venice. Chatea con modelos de IA, genera imágenes, convierte texto a voz, transcribe audio, genera vídeo y mucho más, todo desde tu terminal y con cifrado de extremo a extremo opcional.

<Card title="GitHub: veniceai/venice-cli" icon="github" href="https://github.com/veniceai/venice-cli">
  Publicada como [`veniceai-cli`](https://www.npmjs.com/package/veniceai-cli) en npm. Licencia MIT.
</Card>

<CardGroup cols={3}>
  <Card title="Privacidad primero" icon="lock">
    E2EE y atestación TEE opcionales. Sin telemetría ni seguimiento del navegador.
  </Card>

  <Card title="Todas las modalidades" icon="layer-group">
    Chat, búsqueda, imagen, upscale, TTS, transcripción, vídeo y embeddings
  </Card>

  <Card title="Scriptable" icon="terminal">
    Salida JSON y raw, entrada por stdin y autocompletado para bash, zsh y fish
  </Card>
</CardGroup>

## Inicio rápido

<Steps>
  <Step title="Instala la CLI">
    Instálala globalmente con npm:

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

    O ejecútala sin instalarla:

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

  <Step title="Obtén una API key de Venice">
    Genera una en [venice.ai/settings/api](https://venice.ai/settings/api). Consulta la [guía de API key](/guides/getting-started/generating-api-key) para instrucciones paso a paso.
  </Step>

  <Step title="Configura tu key">
    Ejecuta la configuración interactiva y pega tu key cuando se te pida, de forma que nunca aparezca en el historial del shell ni en la lista de procesos:

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

    O usa una variable de entorno en su lugar:

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

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

<Note>
  Requiere Node.js 18.0.0 o superior. `VENICE_API_KEY` tiene prioridad sobre cualquier valor guardado en el archivo de configuración.
</Note>

## Comandos

| Comando                               | Qué hace                                                                          |
| ------------------------------------- | --------------------------------------------------------------------------------- |
| `venice chat <prompt>`                | Chatea con cualquier modelo de texto de Venice, con tools, characters y streaming |
| `venice search <query>`               | Búsqueda web con síntesis por IA y citas opcionales                               |
| `venice image <prompt>`               | Genera una imagen a partir de un prompt de texto                                  |
| `venice upscale <file>`               | Escala una imagen existente hasta 4×                                              |
| `venice tts <text>`                   | Texto a voz con más de 35 voces                                                   |
| `venice transcribe <file>`            | Voz a texto con marcas de tiempo opcionales                                       |
| `venice video <subcommand>`           | Encola, consulta y descarga vídeo generado por IA                                 |
| `venice embeddings <text>`            | Genera vectores de embedding                                                      |
| `venice models`                       | Lista y filtra el catálogo de modelos en vivo                                     |
| `venice tee <subcommand>`             | Obtén y verifica atestación TEE                                                   |
| `venice config <subcommand>`          | Gestiona la API key y los valores por defecto                                     |
| `venice history <subcommand>`         | Lista, muestra, exporta o borra conversaciones                                    |
| `venice usage`                        | Muestra el uso de tokens a lo largo del tiempo                                    |
| `venice characters` / `venice voices` | Lista los personajes integrados y las voces TTS                                   |
| `venice completions <shell>`          | Genera autocompletado para el 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'
```

Opciones comunes de chat:

| Opción                   | Descripción                                             |
| ------------------------ | ------------------------------------------------------- |
| `-m, --model <model>`    | Modelo a usar (por defecto: `kimi-k2-5`)                |
| `-s, --system <prompt>`  | Prompt del sistema                                      |
| `-c, --character <name>` | Personaje                                               |
| `-t, --tools <tools>`    | Lista separada por comas de tools integradas            |
| `--continue`             | Continúa la última conversación                         |
| `--web-search`           | Activa la búsqueda web para información actualizada     |
| `--no-stream`            | Desactiva la salida en streaming                        |
| `-f, --format <format>`  | Formato de salida (`pretty`, `json`, `markdown`, `raw`) |
| `--e2ee` / `--no-e2ee`   | Fuerza o desactiva el cifrado de extremo a extremo      |
| `--tee-verify`           | Muestra los detalles de la atestación TEE               |
| `-q, --quiet`            | Oculta los mensajes de estado de E2EE/TEE               |

### Búsqueda 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"
```

### Generación y escalado de imágenes

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

### Texto a voz y transcripción

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

### Generación de vídeo

La generación de vídeo es asíncrona (basada en cola).

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

### Modelos y 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"
```

### Configuración

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

| Clave                 | Descripción                                  |
| --------------------- | -------------------------------------------- |
| `api_key`             | Tu API key de Venice                         |
| `default_model`       | Modelo de chat por defecto                   |
| `default_image_model` | Modelo por defecto de generación de imágenes |
| `default_voice`       | Voz TTS por defecto                          |
| `output_format`       | Formato de salida por defecto                |
| `show_usage`          | Muestra el uso de tokens tras cada petición  |

## Privacidad: E2EE y TEE

Venice CLI está construida para la privacidad. No envía telemetría, guarda tu API key localmente con permisos restringidos y admite los modelos de computación confidencial de Venice.

* **Cifrado de extremo a extremo (E2EE)**: los mensajes se cifran en el cliente y solo se descifran dentro del TEE, de modo que Venice no puede leer tus datos. La CLI activa E2EE automáticamente cuando un modelo declara esta capacidad, generando un par de claves efímeras por sesión (ECDH + AES-GCM).
* **Atestación TEE**: verifica criptográficamente que un modelo se ejecuta en un enclave seguro antes de enviar los datos.

```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>
  El modo E2EE desactiva las tools y la búsqueda web para preservar el cifrado de extremo a extremo.
</Note>

## Formatos de salida

| Formato    | Caso de uso                                                      |
| ---------- | ---------------------------------------------------------------- |
| `pretty`   | Salida coloreada y formateada para uso interactivo (por defecto) |
| `json`     | JSON legible por máquina para scripting y pipes                  |
| `markdown` | Salida en markdown para documentación                            |
| `raw`      | Texto plano sin decoración, pensado para pipes                   |

La CLI detecta automáticamente cuando la salida se envía por pipe y cambia a `raw`.

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

## Recursos

<CardGroup cols={2}>
  <Card title="GitHub" icon="github" href="https://github.com/veniceai/venice-cli">
    Código fuente, issues y releases
  </Card>

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

  <Card title="Venice MCP Server" icon="plug" href="/guides/integrations/venice-mcp">
    Expón las mismas tools de Venice a cualquier host MCP
  </Card>

  <Card title="Referencia de la API de Venice" icon="book" href="/api-reference/api-spec">
    Documentación completa de endpoints y parámetros
  </Card>
</CardGroup>
