Skip to content

Repository files navigation

Venice CLI

Privacy-first AI from the command line. No browser. No tracking. Just you and the model.

npm versionLicense: MIT

The official command-line interface for Venice AI. Chat with AI models, generate images, convert text to speech, transcribe audio, and more—all from your terminal.

Installation

npm install -g venice-cli

Or use without installing:

npx venice-cli chat "Hello, world!"

Quick Start

  1. Get your API key from Venice AI Settings

  2. Configure the CLI:

    venice config set api_key YOUR_API_KEY

    Or use an environment variable:

    export VENICE_API_KEY=YOUR_API_KEY
  3. Start chatting:

    venice chat "What is the meaning of life?"

Features

  • 🤖 Chat with state-of-the-art AI models
  • 🔍 Web Search with AI-powered synthesis
  • 🖼️ Image Generation from text prompts
  • 🔊 Text-to-Speech with multiple voices
  • 🎤 Speech-to-Text transcription
  • 📐 Embeddings generation
  • 🔧 Function Calling with built-in tools
  • 🎭 Character Personas for fun interactions
  • 💾 Conversation History with continue mode
  • 📊 Usage Tracking for token monitoring
  • 🐚 Shell Completions for bash, zsh, fish

Commands

Chat

# Basic chat
venice chat "Explain quantum computing in simple terms"# Use a specific model
venice chat -m deepseek-r1 "Solve this step by step: 15% of 340"# With a system prompt
venice chat -s "You are a helpful coding assistant""Write a fizzbuzz in Python"# Use a character persona
venice chat -c pirate "Tell me about the weather"# Continue the previous conversation
venice chat --continue "What about the next step?"# With function calling
venice chat -t calculator,weather "What's 25 * 4.5?"# JSON output for scripting
venice chat -f json "List 3 colors"| jq '.content'# Disable streaming
venice chat --no-stream "Quick question"

Options:

OptionDescription
-m, --model <model>Model to use (default: llama-3.3-70b)
-s, --system <prompt>System prompt
-c, --character <name>Character persona
-t, --tools <tools>Comma-separated list of tools
--interactive-toolsApprove each tool call
--continueContinue last conversation
--no-streamDisable streaming output
-f, --format <format>Output format (pretty|json|markdown|raw)

Web Search

# Search with AI synthesis
venice search "Latest developments in fusion energy"# Limit results
venice search -n 10 "Best practices for TypeScript"

Image Generation

# Generate an image
venice image "A serene mountain lake at sunset"# Save to a file
venice image -o sunset.png "A serene mountain lake at sunset"# Custom dimensions
venice image -w 1024 -h 768 "Landscape photograph"# Use a specific model
venice image -m flux-1-dev "Artistic portrait"

Image Upscaling

# Upscale an image
venice upscale photo.jpg -o photo_upscaled.jpg
# 4x upscale
venice upscale photo.jpg -s 4 -o photo_4x.jpg

Text-to-Speech

# Generate speech
venice tts "Hello, world!"# Custom voice and output
venice tts -v bf_emma -o greeting.mp3 "Good morning, everyone!"# From stdinecho"Text to speak"| venice tts -o output.mp3

Transcription

# Transcribe audio
venice transcribe recording.mp3
# JSON output with segments
venice transcribe -f json interview.wav

Models

# List all models
venice models
# Filter by type
venice models -t image
venice models -t audio
# Show only privacy-preserving models
venice models --privacy
# Search models
venice models -s llama

Embeddings

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

Configuration

# Interactive setup
venice config init
# Show current config
venice config show
# Set values
venice config set api_key YOUR_KEY
venice config set default_model llama-3.3-70b
venice config set default_voice af_sky
# Get a value
venice config get default_model
# Remove a value
venice config unset default_model
# Show config file path
venice config path

Available config keys:

KeyDescription
api_keyYour Venice API key
default_modelDefault chat model
default_image_modelDefault image generation model
default_voiceDefault TTS voice
output_formatDefault output format
no_colorDisable colored output
show_usageShow token usage after requests

Conversation History

# List recent conversations
venice history list
# Show a specific conversation
venice history show
# Clear all history
venice history clear
# Export history
venice historyexport history.json

Usage Statistics

# Show last 7 days
venice usage
# Show today only
venice usage --today
# Show this month
venice usage --month
# Custom range
venice usage -d 30

Characters

# List available characters
venice characters
# Use a character
venice chat -c wizard "What is the nature of magic?"

Available characters: pirate, wizard, scientist, poet, coder, teacher, comedian, philosopher

Voices

# List available TTS voices
venice voices

Shell Completions

# Bash
venice completions bash >>~/.bashrc
# Zsh
venice completions zsh >>~/.zshrc
# Fish
venice completions fish >~/.config/fish/completions/venice.fish

Built-in Tools

The CLI includes several built-in tools for function calling:

ToolDescription
calculatorMathematical calculations
weatherWeather information (simulated)
datetimeCurrent date and time
randomRandom number/choice generation
base64Base64 encoding/decoding
hashHash generation (md5, sha256, etc.)
# Use tools
venice chat -t calculator "What's the square root of 144?"
venice chat -t datetime "What day is it today?"# Interactive tool approval
venice chat --interactive-tools -t calculator "Calculate 15% tip on $85"

Output Formats

FormatDescriptionUse Case
prettyColored, formatted (default)Interactive use
jsonMachine-readable JSONScripting, piping
markdownMarkdown formattedDocumentation
rawPlain text, no decorationPipes, simple output

The CLI automatically detects when output is being piped and switches to raw format.

# Explicit format
venice chat -f json "List items"| jq '.'# Auto-detected raw format when piped
venice chat "Generate code"| pbcopy

Privacy

Venice CLI is designed with privacy in mind:

  • No browser tracking: Terminal interactions don't expose browser metadata
  • No telemetry: The CLI doesn't collect or send usage data
  • Local configuration: API key stored locally with restricted permissions
  • Transparent: You can see exactly what's being sent to the API
  • Privacy-preserving models: Use venice models --privacy to find models with no data retention

Environment Variables

VariableDescription
VENICE_API_KEYAPI key (overrides config file)
NO_COLORDisable colored output

Requirements

  • Node.js 18.0.0 or higher
  • A Venice AI API key

Development

# Clone the repo
git clone https://github.com/veniceai/venice-cli.git
cd venice-cli
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm run dev -- chat "Hello"

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT © Venice AI


Made with ❤️ for privacy-conscious developers.

About

Official-quality CLI for Venice AI — chat, search, images, TTS, and more from your terminal

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages