# Send Venice AI Media to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "venice-ai-media",
    "name": "Venice AI Media",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/nhannah/venice-ai-media",
    "canonicalUrl": "https://clawhub.ai/nhannah/venice-ai-media",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/venice-ai-media",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=venice-ai-media",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/venice_common.py",
      "scripts/venice-upscale.py",
      "scripts/venice-edit.py",
      "scripts/venice-video.py",
      "scripts/venice-image.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/venice-ai-media"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/venice-ai-media",
    "downloadUrl": "https://openagent3.xyz/downloads/venice-ai-media",
    "agentUrl": "https://openagent3.xyz/skills/venice-ai-media/agent",
    "manifestUrl": "https://openagent3.xyz/skills/venice-ai-media/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/venice-ai-media/agent.md"
  }
}
```
## Documentation

### Venice AI Media

Generate images and videos using Venice AI APIs. Venice is an uncensored AI platform with competitive pricing.

### Prerequisites

Python 3.10+ (brew install python or system Python)
Venice API key (free tier available)
requests library (auto-installed by scripts if missing)

### 1. Get Your API Key

Create account at venice.ai
Go to venice.ai/settings/api
Click "Create API Key"
Copy the key (starts with vn_...)

### 2. Configure the Key

Option A: Environment variable

export VENICE_API_KEY="vn_your_key_here"

Option B: Clawdbot config (recommended - persists across sessions)

Add to ~/.clawdbot/clawdbot.json:

{
  skills: {
    entries: {
      "venice-ai-media": {
        env: {
          VENICE_API_KEY: "vn_your_key_here",
        },
      },
    },
  },
}

### 3. Verify Setup

python3 {baseDir}/scripts/venice-image.py --list-models

If you see a list of models, you're ready!

### Pricing Overview

FeatureCostImage generation~$0.01-0.03 per imageImage upscale~$0.02-0.04Image edit$0.04Video (WAN)~$0.10-0.50 depending on durationVideo (Sora)~$0.50-2.00 depending on duration

Use --quote with video commands to check pricing before generation.

### Quick Start

# Generate an image
python3 {baseDir}/scripts/venice-image.py --prompt "a serene canal in Venice at sunset"

# Upscale an image
python3 {baseDir}/scripts/venice-upscale.py photo.jpg --scale 2

# Edit an image with AI
python3 {baseDir}/scripts/venice-edit.py photo.jpg --prompt "add sunglasses"

# Create a video from an image
python3 {baseDir}/scripts/venice-video.py --image photo.jpg --prompt "gentle camera pan" --duration 5s

### Image Generation

python3 {baseDir}/scripts/venice-image.py --prompt "a serene canal in Venice at sunset"
python3 {baseDir}/scripts/venice-image.py --prompt "cyberpunk city" --count 4
python3 {baseDir}/scripts/venice-image.py --prompt "portrait" --width 768 --height 1024
python3 {baseDir}/scripts/venice-image.py --prompt "abstract art" --out-dir /tmp/venice
python3 {baseDir}/scripts/venice-image.py --list-models
python3 {baseDir}/scripts/venice-image.py --list-styles
python3 {baseDir}/scripts/venice-image.py --prompt "fantasy" --model flux-2-pro --no-validate
python3 {baseDir}/scripts/venice-image.py --prompt "photo" --style-preset "Cinematic" --embed-exif

Key flags: --prompt, --model (default: flux-2-max), --count (uses efficient batch API for same prompt), --width, --height, --format (webp/png/jpeg), --resolution (1K/2K/4K), --aspect-ratio, --negative-prompt, --style-preset (use --list-styles to see options), --cfg-scale (prompt adherence 0-20, default 7.5), --seed (for reproducible results), --safe-mode (disabled by default for uncensored output), --hide-watermark (only use if explicitly requested - watermark supports Venice), --embed-exif (embed prompt in image metadata), --lora-strength (0-100 for applicable models), --steps (inference steps, model-dependent), --enable-web-search, --no-validate (skip model check for new/beta models)

### Image Upscale

python3 {baseDir}/scripts/venice-upscale.py photo.jpg --scale 2
python3 {baseDir}/scripts/venice-upscale.py photo.jpg --scale 4 --enhance
python3 {baseDir}/scripts/venice-upscale.py photo.jpg --enhance --enhance-prompt "sharpen details"
python3 {baseDir}/scripts/venice-upscale.py --url "https://example.com/image.jpg" --scale 2

Key flags: --scale (1-4, default: 2), --enhance (AI enhancement), --enhance-prompt, --enhance-creativity (0.0-1.0), --replication (0.0-1.0, preserves lines/noise, default: 0.35), --url (use URL instead of local file), --output, --out-dir

### Image Edit

python3 {baseDir}/scripts/venice-edit.py photo.jpg --prompt "add sunglasses"
python3 {baseDir}/scripts/venice-edit.py photo.jpg --prompt "change the sky to sunset"
python3 {baseDir}/scripts/venice-edit.py photo.jpg --prompt "remove the person in background"
python3 {baseDir}/scripts/venice-edit.py --url "https://example.com/image.jpg" --prompt "colorize"

Key flags: --prompt (required - AI interprets what to modify), --url (use URL instead of local file), --output, --out-dir

Note: The edit endpoint uses the Qwen-Image model which has some content restrictions (unlike other Venice endpoints).

### Video Generation

# Get price quote first (no generation)
python3 {baseDir}/scripts/venice-video.py --quote --model wan-2.6-image-to-video --duration 10s --resolution 720p

# Image-to-video (WAN 2.6 - default)
python3 {baseDir}/scripts/venice-video.py --image photo.jpg --prompt "camera pans slowly" --duration 10s

# Image-to-video (Sora)
python3 {baseDir}/scripts/venice-video.py --image photo.jpg --prompt "cinematic" \\
  --model sora-2-image-to-video --duration 8s --aspect-ratio 16:9 --skip-audio-param

# List models (shows available durations per model)
python3 {baseDir}/scripts/venice-video.py --list-models

# Clean up a video downloaded with --no-delete
python3 {baseDir}/scripts/venice-video.py --complete <queue_id> --model <model>

Key flags: --image (required for generation), --prompt (required for generation), --model (default: wan-2.6-image-to-video), --duration (model-dependent, see --list-models), --resolution (480p/720p/1080p), --aspect-ratio, --audio/--no-audio, --skip-audio-param, --quote (price estimate), --timeout, --poll-interval, --no-delete (keep server media), --complete (cleanup previously downloaded video), --no-validate (skip model check)

Progress: During generation, the script shows estimated progress based on Venice's average execution time.

### Model Notes

Use --list-models to see current availability and status. Models change frequently.

Image: Default is flux-2-max. Common options include flux, gpt-image, and nano-banana variants.

Video:

WAN models: Image-to-video, configurable audio, various durations (5s-21s)
Sora models: Requires --aspect-ratio, use --skip-audio-param

Tips:

Use --no-validate for new or beta models not yet in the model list
Use --quote for video to check pricing before generation
Safe mode is disabled by default (Venice is an uncensored API)

### Output

Scripts print a MEDIA: /path/to/file line for Clawdbot auto-attach.

Tip: Use --out-dir /tmp/venice-$(date +%s) when generating media to send via iMessage (ensures accessibility across user accounts).

### Troubleshooting

"VENICE_API_KEY not set"

Check your config in ~/.clawdbot/clawdbot.json
Or export the env var: export VENICE_API_KEY="vn_..."

"Invalid API key"

Verify your key at venice.ai/settings/api
Keys start with vn_

"Model not found"

Run --list-models to see available models
Use --no-validate for new/beta models

Video stuck/timeout

Videos can take 1-5 minutes depending on model and duration
Use --timeout 600 for longer videos
Check Venice status at venice.ai

"requests" module not found

Install it: pip3 install requests
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: nhannah
- Version: 1.0.2
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/venice-ai-media)
- [Send to Agent page](https://openagent3.xyz/skills/venice-ai-media/agent)
- [JSON manifest](https://openagent3.xyz/skills/venice-ai-media/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/venice-ai-media/agent.md)
- [Download page](https://openagent3.xyz/downloads/venice-ai-media)