Install
openclaw skills install venice-api-kitComplete Venice AI API toolkit - image generation, video, audio, embeddings, transcription, characters, models, and admin functions. Privacy-focused inferenc...
openclaw skills install venice-api-kitComplete toolkit for the entire Venice AI API. Includes all inference endpoints (image, video, audio, embeddings), discovery tools (models, characters), and admin functions (billing, usage, API keys).
API Base URL: https://api.venice.ai/api/v1
Documentation: docs.venice.ai
export VENICE_API_KEY="your_api_key_here"
Or configure in ~/.openclaw/openclaw.json:
{
skills: {
entries: {
"venice-api-kit": {
apiKey: "your_api_key_here"
}
}
}
}
Generate images using Venice's image models. Returns base64 image data.
uv run {baseDir}/scripts/image_generate.py --prompt "a serene mountain landscape at sunset"
Options:
--prompt (required): Description of the image (max 7500 chars, model-dependent)--output: Output filename (default: auto-generated timestamp)--model: Model ID (default: flux-2-max)--size: Image size: 1024x1024, 1536x1024, 1024x1536, 1792x1024, 1024x1792 (default: 1024x1024)--style-id: Style preset ID (use --list-styles to see available)--negative-prompt: What to avoid in the image--seed: Seed for reproducible generationList available styles:
uv run {baseDir}/scripts/image_generate.py --list-styles
Upscale images 1-4x with optional AI enhancement. Returns binary PNG.
uv run {baseDir}/scripts/image_upscale.py --image input.png --scale 2
Options:
--image (required): Input image path or URL--output: Output filename (default: upscaled-{timestamp}.png)--scale: Scale factor 1-4 (default: 2). Scale of 1 requires --enhance--enhance: Enable AI enhancement during upscaling--enhance-creativity: How much AI can change (0-1, higher = more creative)--enhance-prompt: Style to apply (e.g., "gold", "marble", "cinematic")--replication: Preserve original lines/noise (0-1, higher = less hallucination)Example with enhancement:
uv run {baseDir}/scripts/image_upscale.py --image photo.png --scale 2 --enhance --enhance-prompt "cinematic lighting"
Edit images with AI using text prompts. Returns binary PNG.
uv run {baseDir}/scripts/image_edit.py --image photo.png --prompt "add sunglasses"
Options:
--image (required): Input image path or URL--prompt (required): Edit instructions (e.g., "remove the tree", "change sky to sunset")--output: Output filename (default: edited-{timestamp}.png)--model: Edit model (default: qwen-edit). Available: qwen-edit, flux-2-max-edit, gpt-image-1-5-edit, nano-banana-pro-edit, seedream-v4-edit--aspect-ratio: Output aspect ratio: auto, 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4Remove backgrounds from images. Returns binary PNG with transparency.
uv run {baseDir}/scripts/image_background_remove.py --image photo.png
Options:
--image (required): Input image path or URL--output: Output filename (default: no-background-{timestamp}.png)Convert text to speech with multiple voices and formats. Returns binary audio.
uv run {baseDir}/scripts/audio_speech.py --text "Hello, welcome to Venice AI"
Options:
--text (required): Text to convert (max 4096 characters)--output: Output filename (default: speech-{timestamp}.{format})--voice: Voice ID (default: af_nicole)--model: TTS model (default: tts-kokoro)--speed: Speed multiplier 0.25-4.0 (default: 1.0)--format: Audio format: mp3, opus, aac, flac, wav, pcm (default: mp3)--streaming: Stream audio sentence by sentenceAvailable voices:
af_alloy, af_aoede, af_bella, af_heart, af_jadzia, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_skyam_adam, am_echo, am_ericbf_emma, bf_isabella, bf_alicebm_george, bm_lewis, bm_danielTranscribe audio files to text using Whisper-based speech recognition.
uv run {baseDir}/scripts/transcribe.py --file audio.mp3
Options:
--file (required): Audio file to transcribe (WAV, MP3, FLAC, M4A, AAC)--output: Save transcription to file--model: ASR model (default: openai/whisper-large-v3)--format: Output format: json or text (default: json)--timestamps: Include word/segment timestamps--language: Language hint (ISO 639-1: en, es, fr, etc.)Generate vector embeddings for RAG applications.
uv run {baseDir}/scripts/embeddings.py --text "Your text to embed"
Options:
--text: Text to embed (use this OR --file)--file: Read text from file--output: Save embeddings to JSON file--model: Embedding model (default: text-embedding-3-small)Generate videos from text prompts. Some models require a reference image. Async with polling.
Text-to-video:
uv run {baseDir}/scripts/video_generate.py --prompt "a cat playing piano"
Image-to-video (requires reference image):
uv run {baseDir}/scripts/video_generate.py --prompt "a cat playing piano" --image reference.png
Options:
--prompt (required): Video description (max 2500 characters)--image: Reference image (path or URL) - required for image-to-video models--output: Output filename (default: venice-video-{timestamp}.mp4)--model: Video model (default: wan-2.6-image-to-video). Also: wan-2.6-text-to-video, wan-2.6-flash-image-to-video--duration: Video duration: 5s or 10s (default: 5s)--resolution: Resolution: 480p, 720p, 1080p (default: 720p)--aspect-ratio: Aspect ratio (e.g., 16:9, 9:16, 1:1)--negative-prompt: What to avoid in the video--max-wait: Max seconds to wait for completion (default: 600)List and explore all available Venice AI models. No API key required.
uv run {baseDir}/scripts/models.py
Options:
--type: Filter by type: all, text, image, video, tts, asr, embedding, code, upscale, inpaint (default: all)--format: Output format: table, json, names (default: table)--output: Save to fileExamples:
uv run {baseDir}/scripts/models.py --type image
uv run {baseDir}/scripts/models.py --format json --output models.json
Browse and discover Venice AI character personas.
uv run {baseDir}/scripts/characters.py
Options:
--search: Search by name or description--tag: Filter by tag--limit: Max results (default: 20)--format: Output format: table, json, list (default: table)--output: Save to fileExamples:
uv run {baseDir}/scripts/characters.py --search "coding"
uv run {baseDir}/scripts/characters.py --tag "assistant" --format json
Check your DIEM and USD balances. Requires Admin API key.
uv run {baseDir}/scripts/balance.py
Shows current balance, consumption currency, and DIEM epoch allocation.
View detailed usage history with filtering. Requires Admin API key.
uv run {baseDir}/scripts/usage.py
Options:
--currency: Filter by currency: DIEM, USD, VCU (default: DIEM)--start-date: Start date (ISO format: 2024-01-01)--end-date: End date (ISO format: 2024-12-31)--limit: Results per page, max 200 (default: 50)--page: Page number (default: 1)--sort: Sort order: asc, desc (default: desc)--format: Output format: json, csv (default: json)--output: Save to fileExamples:
uv run {baseDir}/scripts/usage.py --currency USD --limit 100
uv run {baseDir}/scripts/usage.py --start-date 2024-01-01 --format csv --output usage.csv
List all your API keys with metadata. Requires Admin API key.
uv run {baseDir}/scripts/api_keys_list.py
Shows key ID, name, type, creation date, last used date, and rate limits.
Get detailed information for a specific API key. Requires Admin API key.
uv run {baseDir}/scripts/api_key_get.py --id "key_abc123"
Options:
--id (required): API key ID to get details forCreate a new API key. Requires Admin API key.
uv run {baseDir}/scripts/api_key_create.py --name "My New Key"
Options:
--name (required): Name for the new API key--type: Key type: INFERENCE (default) or ADMINImportant: The full key is only shown once on creation. Save it immediately.
Update an existing API key's settings. Requires Admin API key.
uv run {baseDir}/scripts/api_key_update.py --id "key_abc123" --name "New Name"
Options:
--id (required): API key ID to update--name: New name for the keyDelete an API key. This action is irreversible. Requires Admin API key.
uv run {baseDir}/scripts/api_key_delete.py --id "key_abc123" --force
Options:
--id (required): API key ID to delete--force (required): Confirm deletionGet current rate limits and balance information.
uv run {baseDir}/scripts/rate_limits.py
Shows requests/minute, tokens/minute, tokens/day limits and current usage.
This skill uses uv run which automatically installs Python dependencies (httpx) via PEP 723 inline script metadata. No manual Python package installation required - uv handles everything.
| Endpoint | Description | Response |
|---|---|---|
/image/generate | Full image generation | JSON with base64 images |
/images/generations | OpenAI-compatible generation | JSON with base64 |
/image/upscale | Image upscaling with enhancement | Binary PNG |
/image/edit | AI image editing | Binary PNG |
/image/background-remove | Background removal | Binary PNG (transparent) |
/audio/speech | Text-to-speech | Binary audio |
/audio/transcriptions | Speech-to-text | JSON with text |
/embeddings | Vector embeddings | JSON |
/video/queue | Queue video generation | JSON with queue_id |
/video/retrieve | Retrieve completed video | Binary MP4 or JSON status |
/models | List available models | JSON |
/characters | List character personas | JSON |
/billing/balance | Check account balance | JSON (Admin key) |
/billing/usage | View usage history | JSON (Admin key) |
/api_keys | List API keys | JSON (Admin key) |
/api_keys/{id} | Get/Update/Delete API key | JSON (Admin key) |
/api_keys/rate_limits | Get rate limits & balances | JSON |
Full API docs: docs.venice.ai
brew install uvbrew install python@3.12