quiver-ai-cli
v0.1.0
Published
CLI tool for QuiverAI SVG generation API — generate and vectorize SVGs from the terminal
Maintainers
Readme
quiver-ai-cli
CLI tool for the QuiverAI SVG generation API. Generate SVGs from text prompts and convert raster images to SVG — right from your terminal.
Features
- Text to SVG — describe what you want, get an SVG back
- Image to SVG — convert PNG/JPG/WebP images into clean SVG vectors
- Streaming — watch generation progress in real-time via SSE
- Multiple outputs — generate several SVG variants in one call
- Reference images — attach style references (local files or URLs)
- Zero dependencies — single-file bundle, works with Node.js 18+ or Bun
Install
# npm
npm install -g quiver-ai-cli
# bun
bun install -g quiver-ai-cliAfter install, the quiver command is available globally.
Setup
Get your API key from QuiverAI and configure it:
quiver config set api_key sk-xxxxxxxxxxxxConfiguration is saved to ~/.config/.quiver-ai/config.json. You can also use the QUIVER_API_KEY environment variable (takes precedence over config file).
# Optionally set a default model
quiver config set default_model arrow-preview
# View current config
quiver config get
# Show config file path
quiver config pathUsage
Generate SVG from text
# Basic generation
quiver generate "a minimalist rocket icon"
# Save to file
quiver generate -o rocket.svg "a rocket launching into space"
# Stream with progress, specific model
quiver generate -s -m arrow-preview -o icon.svg "a compass icon"
# Generate 3 variants
quiver generate -n 3 -o icons.svg "a navigation arrow"
# With style reference image
quiver generate -r style-ref.png -o logo.svg "a tech startup logo"
# With additional instructions
quiver generate -i "flat design, single color, no gradients" -o flat.svg "a heart icon"Convert image to SVG
# From local file
quiver vectorize photo.png -o output.svg
# From URL
quiver vectorize https://example.com/logo.png -o logo.svg
# With auto-crop and streaming
quiver vectorize -s --auto-crop image.jpg -o clean.svg
# Resize before vectorizing
quiver vectorize --target-size 512 large-photo.png -o resized.svgList models
# List all available models
quiver models list
# Get details for a specific model
quiver models get arrow-previewCLI Reference
quiver config set <key> <value> Save a configuration value
quiver config get [key] Show configuration (or a specific key)
quiver config path Print the config file path
quiver models list List all available AI models
quiver models get <model-id> Show detailed metadata for a model
quiver generate [options] <prompt> Generate SVG from a text description
quiver vectorize [options] <image> Convert a raster image to SVGGenerate options
| Flag | Description |
|------|-------------|
| -m, --model <model> | Model ID (default: from config or arrow-preview) |
| -o, --output <file> | Save SVG to file instead of stdout |
| -s, --stream | Stream response via SSE with progress |
| -n, --count <n> | Number of SVG variants (default: 1) |
| -t, --temperature <t> | Sampling temperature (default: 1) |
| -i, --instructions <text> | Additional style guidance |
| --max-tokens <n> | Max output tokens |
| -r, --reference <url\|file> | Reference image (repeatable) |
Vectorize options
| Flag | Description |
|------|-------------|
| -m, --model <model> | Model ID (default: from config or arrow-preview) |
| -o, --output <file> | Save SVG to file instead of stdout |
| -s, --stream | Stream response via SSE with progress |
| -t, --temperature <t> | Sampling temperature (default: 1) |
| --auto-crop | Auto-crop to dominant subject first |
| --target-size <px> | Resize to square of this size before processing |
| --max-tokens <n> | Max output tokens |
Development
# Install dependencies
bun install
# Run in dev mode (directly from TypeScript)
bun run dev
# Build for Node.js (outputs dist/index.js)
bun run build
# Build standalone binary (outputs dist/quiver)
bun run build:binary
# Run built version
bun run startLicense
MIT
