Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Venice API Kit

v2.0.2

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

0· 850·0 current·0 all-time
bySabrina Aquino@sabrinaaquino·duplicate of @sabrinaaquino/venice-ai-full
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (Venice API toolkit) match the included scripts (image, video, audio, embeddings, admin endpoints). Required env var VENICE_API_KEY is appropriate as the primary credential.
Instruction Scope
SKILL.md instructs running the included Python scripts via the uv runner and to set VENICE_API_KEY. The scripts only read that env var and user-supplied files/paths, call Venice API endpoints, and write output files; they do not access unrelated system paths or other credentials.
Install Mechanism
Install metadata uses brew to install 'uv' and Python 3.12 and pip to install httpx. Installing httpx is expected for these Python scripts. The 'uv' brew formula is necessary for 'uv run' usage but is a less-common tool—users may want to verify the source/tap for that formula before installing system-wide.
Credentials
The skill requests a single API key (VENICE_API_KEY) which is the service credential needed. Several scripts provide admin-level operations (create/list/delete API keys, billing/usage) and therefore require an admin-scoped key when those operations are used—this is documented in the scripts but means users should not supply a high-privilege key unless they intend to run admin actions.
Persistence & Privilege
The skill does not request permanent presence (always:false), does not modify other skills or system-wide settings, and does not store credentials beyond using the environment variable / optional openclaw config entry.
Assessment
This package appears to be what it says: a Venice.ai CLI toolkit. Before installing, verify you trust https://venice.ai and confirm the origin of the 'uv' brew formula (so you don't add an unexpected tap). Use a least-privilege API key: only provide an ADMIN-scoped VENICE_API_KEY if you intend to run API-key or billing admin scripts. Never commit your API key to version control; set it in an environment variable or OpenClaw config as described. If you have concerns, run the scripts in an isolated environment (container or VM) and inspect/run them locally; the privacy/no-retention claim in the README is a provider statement you cannot verify from the client code.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🏛️ Clawdis
Binsuv, python3
EnvVENICE_API_KEY
Primary envVENICE_API_KEY

Install

Install uv (brew)
Bins: uv
brew install uv
Install Python 3.12 (brew)
Bins: python3
brew install python@3.12
latestvk97901pp75hgae3y59caxbd1x981gywn
850downloads
0stars
7versions
Updated 9h ago
v2.0.2
MIT-0

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

EndpointDescriptionResponse
/image/generateFull image generationJSON with base64 images
/images/generationsOpenAI-compatible generationJSON with base64
/image/upscaleImage upscaling with enhancementBinary PNG
/image/editAI image editingBinary PNG
/image/background-removeBackground removalBinary PNG (transparent)
/audio/speechText-to-speechBinary audio
/audio/transcriptionsSpeech-to-textJSON with text
/embeddingsVector embeddingsJSON
/video/queueQueue video generationJSON with queue_id
/video/retrieveRetrieve completed videoBinary MP4 or JSON status
/modelsList available modelsJSON
/charactersList character personasJSON
/billing/balanceCheck account balanceJSON (Admin key)
/billing/usageView usage historyJSON (Admin key)
/api_keysList API keysJSON (Admin key)
/api_keys/{id}Get/Update/Delete API keyJSON (Admin key)
/api_keys/rate_limitsGet rate limits & balancesJSON

Full API docs: docs.venice.ai

Comments

Loading comments...