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

> A interface de linha de comando oficial da Venice traz chat, busca na web, geração de imagem, TTS, transcrição, vídeo e embeddings para o seu terminal, com criptografia de ponta a ponta opcional.

O [Venice CLI](https://github.com/veniceai/venice-cli) é a interface de linha de comando oficial da Venice. Converse com modelos de IA, gere imagens, converta texto em fala, transcreva áudio, gere vídeo e muito mais — tudo a partir do seu terminal, com criptografia de ponta a ponta opcional.

<Card title="GitHub: veniceai/venice-cli" icon="github" href="https://github.com/veniceai/venice-cli">
  Publicado como [`veniceai-cli`](https://www.npmjs.com/package/veniceai-cli) no npm. Licença MIT.
</Card>

<CardGroup cols={3}>
  <Card title="Privacy-first" icon="lock">
    E2EE opcional e atestação TEE. Sem telemetria, sem rastreamento pelo navegador.
  </Card>

  <Card title="Todas as modalidades" icon="layer-group">
    Chat, busca, imagem, upscale, TTS, transcrição, vídeo e embeddings
  </Card>

  <Card title="Scriptável" icon="terminal">
    Saída em JSON e raw, piping via stdin e completions de shell para bash, zsh e fish
  </Card>
</CardGroup>

## Quickstart

<Steps>
  <Step title="Instale a CLI">
    Instale globalmente com o npm:

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

    Ou execute sem instalar:

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

  <Step title="Obtenha uma chave de API Venice">
    Gere uma em [venice.ai/settings/api](https://venice.ai/settings/api). Veja o [guia de chave de API](/guides/getting-started/generating-api-key) para instruções passo a passo.
  </Step>

  <Step title="Configure sua chave">
    Execute o setup interativo e cole sua chave quando solicitado, para que ela nunca apareça no histórico do shell ou na lista de processos:

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

    Ou use uma variável de ambiente:

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

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

<Note>
  Requer Node.js 18.0.0 ou superior. `VENICE_API_KEY` sobrescreve qualquer valor armazenado no arquivo de configuração.
</Note>

## Comandos

| Comando                               | O que faz                                                                              |
| ------------------------------------- | -------------------------------------------------------------------------------------- |
| `venice chat <prompt>`                | Conversa com qualquer modelo de texto Venice, com ferramentas, personagens e streaming |
| `venice search <query>`               | Busca na web com síntese por IA e citações opcionais                                   |
| `venice image <prompt>`               | Gera uma imagem a partir de um prompt de texto                                         |
| `venice upscale <file>`               | Faz upscale de uma imagem existente em até 4×                                          |
| `venice tts <text>`                   | Texto para fala com mais de 35 vozes                                                   |
| `venice transcribe <file>`            | Fala para texto com timestamps opcionais                                               |
| `venice video <subcommand>`           | Enfileira, monitora e baixa vídeos gerados por IA                                      |
| `venice embeddings <text>`            | Gera vetores de embedding                                                              |
| `venice models`                       | Lista e filtra o catálogo de modelos em tempo real                                     |
| `venice tee <subcommand>`             | Busca e verifica atestação TEE                                                         |
| `venice config <subcommand>`          | Gerencia chave de API e padrões                                                        |
| `venice history <subcommand>`         | Lista, exibe, exporta ou limpa conversas                                               |
| `venice usage`                        | Mostra o uso de tokens ao longo do tempo                                               |
| `venice characters` / `venice voices` | Lista personas integradas e vozes de TTS                                               |
| `venice completions <shell>`          | Gera completions de 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'
```

Opções comuns de chat:

| Opção                    | Descrição                                              |
| ------------------------ | ------------------------------------------------------ |
| `-m, --model <model>`    | Modelo a usar (padrão: `kimi-k2-5`)                    |
| `-s, --system <prompt>`  | Prompt de sistema                                      |
| `-c, --character <name>` | Persona de personagem                                  |
| `-t, --tools <tools>`    | Lista de ferramentas integradas separadas por vírgula  |
| `--continue`             | Continua a última conversa                             |
| `--web-search`           | Habilita busca na web para informações atuais          |
| `--no-stream`            | Desabilita saída em streaming                          |
| `-f, --format <format>`  | Formato de saída (`pretty`, `json`, `markdown`, `raw`) |
| `--e2ee` / `--no-e2ee`   | Força ou desabilita criptografia de ponta a ponta      |
| `--tee-verify`           | Mostra detalhes da atestação TEE                       |
| `-q, --quiet`            | Oculta mensagens de status de E2EE/TEE                 |

### Busca na 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"
```

### Geração e upscaling de imagens

```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 para fala e transcrição

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

### Geração de vídeo

A geração de vídeo é assíncrona (baseada em fila).

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

### Configuração

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

| Chave                 | Descrição                                |
| --------------------- | ---------------------------------------- |
| `api_key`             | Sua chave de API Venice                  |
| `default_model`       | Modelo de chat padrão                    |
| `default_image_model` | Modelo padrão de geração de imagens      |
| `default_voice`       | Voz de TTS padrão                        |
| `output_format`       | Formato de saída padrão                  |
| `show_usage`          | Exibir uso de tokens após as requisições |

## Privacidade: E2EE e TEE

O Venice CLI é construído para privacidade. Ele não envia nenhuma telemetria, armazena sua chave de API localmente com permissões restritas e suporta os modelos de computação confidencial da Venice.

* **Criptografia de ponta a ponta (E2EE)**: as mensagens são criptografadas no cliente e descriptografadas apenas dentro do TEE, de modo que a Venice não consegue ler seus dados. A CLI habilita E2EE automaticamente quando um modelo anuncia a capacidade, gerando um par de chaves efêmero por sessão (ECDH + AES-GCM).
* **Atestação TEE**: verifique criptograficamente que um modelo está rodando em um enclave seguro antes de enviar dados.

```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>
  O modo E2EE desabilita ferramentas e busca na web para preservar a criptografia de ponta a ponta.
</Note>

## Formatos de saída

| Formato    | Caso de uso                                             |
| ---------- | ------------------------------------------------------- |
| `pretty`   | Saída colorida e formatada para uso interativo (padrão) |
| `json`     | JSON legível por máquina para scripting e piping        |
| `markdown` | Saída formatada em Markdown para documentação           |
| `raw`      | Texto puro sem decoração, para pipes                    |

A CLI detecta automaticamente quando a saída é redirecionada por pipe e passa para `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-fonte, issues e 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">
    Exponha as mesmas ferramentas Venice para qualquer host MCP
  </Card>

  <Card title="Referência da API Venice" icon="book" href="/api-reference/api-spec">
    Documentação completa de endpoints e parâmetros
  </Card>
</CardGroup>
