๐ŸŽ Get the FREE AI Skills Starter Guide โ€” Subscribe โ†’
BytesAgainBytesAgain
๐Ÿฆ€ ClawHub

Venice API Kit

by @sabrinaaquino

Complete Venice AI API toolkit - image generation, video, audio, embeddings, transcription, characters, models, and admin functions. Privacy-focused inferenc...

Versionv2.0.2
Downloads1,555
TERMINAL
clawhub install venice-api-kit

๐Ÿ“– About This Skill


name: venice-api-kit description: Complete Venice AI API toolkit - image generation, video, audio, embeddings, transcription, characters, models, and admin functions. Privacy-focused inference with zero data retention. homepage: https://venice.ai metadata: { "openclaw": { "emoji": "๐Ÿ›๏ธ", "requires": { "bins": ["uv", "python3"], "env": ["VENICE_API_KEY"] }, "primaryEnv": "VENICE_API_KEY", "install": [ { "id": "uv-brew", "kind": "brew", "formula": "uv", "bins": ["uv"], "label": "Install uv (brew)", }, { "id": "python-brew", "kind": "brew", "formula": "python@3.12", "bins": ["python3"], "label": "Install Python 3.12 (brew)", }, { "id": "httpx-pip", "kind": "pip", "package": "httpx", "label": "Install httpx (pip)", }, ], }, }

Venice API Kit

Complete 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

Setup

1. Get your API key from venice.ai โ†’ Settings โ†’ API Keys 2. Set the environment variable:

export VENICE_API_KEY="your_api_key_here"

Or configure in ~/.openclaw/openclaw.json:

{
  skills: {
    entries: {
      "venice-api-kit": {
        apiKey: "your_api_key_here"
      }
    }
  }
}


Image Generation

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 generation
  • List available styles:

    uv run {baseDir}/scripts/image_generate.py --list-styles
    


    Image Upscaling

    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"
    


    Image Editing

    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:4

  • Background Removal

    Remove 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)

  • Text-to-Speech

    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 sentence
  • Available voices:

  • American Female: af_alloy, af_aoede, af_bella, af_heart, af_jadzia, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky
  • American Male: am_adam, am_echo, am_eric
  • British Female: bf_emma, bf_isabella, bf_alice
  • British Male: bm_george, bm_lewis, bm_daniel

  • Audio Transcription

    Transcribe 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.)

  • Embeddings

    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)

  • Video Generation

    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)

  • Models Explorer

    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 file
  • Examples:

    uv run {baseDir}/scripts/models.py --type image
    uv run {baseDir}/scripts/models.py --format json --output models.json
    


    Characters Browser

    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 file
  • Examples:

    uv run {baseDir}/scripts/characters.py --search "coding"
    uv run {baseDir}/scripts/characters.py --tag "assistant" --format json
    


    Admin: Check Balance

    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.


    Admin: Usage History

    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 file
  • Examples:

    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
    


    Admin: List API Keys

    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.


    Admin: Get API Key Details

    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 for

  • Admin: Create API Key

    Create 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 ADMIN
  • Important: The full key is only shown once on creation. Save it immediately.


    Admin: Update API Key

    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 key

  • Admin: Delete API Key

    Delete 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 deletion

  • Rate Limits

    Get current rate limits and balance information.

    uv run {baseDir}/scripts/rate_limits.py
    

    Shows requests/minute, tokens/minute, tokens/day limits and current usage.


    Runtime Note

    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.


    Security Notes

  • Privacy: All inference is privateโ€”no logging, no training on your data
  • API Key: Store securely, never commit to version control
  • Admin vs Inference Keys: Admin keys can access billing/usageโ€”use inference keys for everyday work
  • Data: Venice does not retain request/response data
  • Trust: Verify you trust Venice.ai before sending sensitive data
  • API Reference

    | 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

    โš™๏ธ Configuration

    1. Get your API key from venice.ai โ†’ Settings โ†’ API Keys 2. Set the environment variable:

    export VENICE_API_KEY="your_api_key_here"
    

    Or configure in ~/.openclaw/openclaw.json:

    {
      skills: {
        entries: {
          "venice-api-kit": {
            apiKey: "your_api_key_here"
          }
        }
      }
    }