Venice.ai Media Generation

Venice.ai image and video generation for OpenClaw

Audits

Pass

Install

openclaw plugins install clawhub:openclaw-venice-media

OpenClaw Venice.ai Media Plugin

Image and video generation for OpenClaw using Venice.ai API.

Features

  • 🎨 Image generation via Venice.ai API (30+ models)
  • 🖼️ Image editing - Remove background, upscale, edit existing images (via intent parsing)
  • 🎬 Video generation via Venice.ai API (80+ models)
  • 🎞️ Image-to-video - Generate videos from uploaded images
  • 🔐 Uses bundled Venice auth — shares API key with Venice text models
  • 📐 Multiple sizes — various aspect ratios for images and video
  • ⏱️ Video duration control — Model-specific validation
  • 🎭 Style presets & negative prompts — Fine-tuned control
  • 📦 WebP format — Smaller file sizes for Telegram

Prerequisites

Installation

From ClawHub (recommended)

openclaw plugins install openclaw-venice-media

From source

git clone https://github.com/acwilan/openclaw-venice-ai.git
cd openclaw-venice-ai
npm install
npm run refresh-model-catalogs
npm run build
openclaw plugins install "$(pwd)"

For local development, linking is usually nicer:

openclaw plugins install -l "$(pwd)"

Authentication

This plugin uses the bundled Venice provider for authentication. You need to set up your Venice API key once:

openclaw models auth paste-token --provider venice

Enter your Venice.ai API key when prompted. This same key is used for both text and media generation.

Model Catalog Refresh

The plugin keeps local Venice model snapshots in:

  • image-models.json
  • video-models.json
  • inpaint-models.json
  • upscale-models.json

Refresh them anytime with:

npm run refresh-model-catalogs

Run the unit tests:

npm test

Validate the checked-in catalogs locally:

npm run check-model-catalogs

Check for remote drift against the live Venice /models endpoint:

npm run check-model-catalogs:drift

CI runs both the local shape check and the live drift check on pull requests and pushes to main; the live drift check is advisory and reports a warning instead of failing the workflow.

This uses the public Venice /models endpoint. If Venice ever starts requiring auth for model listing, set VENICE_API_KEY before running the scripts.

Configuration

Add to your ~/.openclaw/openclaw.json:

{
  "plugins": {
    "entries": {
      "venice-media": {
        "enabled": true,
        "config": {
          "defaultImageSteps": 30,
          "defaultImageCfgScale": 7.0,
          "defaultVideoDuration": 6,
          "defaultNegativePrompt": "blurry, low quality",
          "defaultStylePreset": "3D Model",
          "defaultOutputFormat": "webp",
          "defaultVideoNegativePrompt": "blurry, shaky, low quality",
          "hideWatermark": false,
          "safeMode": false,
          "outputDir": "~/Downloads/venice-ai-output"
        }
      }
    }
  },
  "agents": {
    "defaults": {
      "imageGenerationModel": {
        "primary": "venice-media/flux-2-max"
      },
      "videoGenerationModel": {
        "primary": "venice-media/ltx-2-fast-text-to-video"
      }
    }
  }
}

Note: The primary models in agents.defaults are what OpenClaw normally passes to the plugin. The plugin's internal defaults (flux-2-max for images, ltx-2-fast-text-to-video for video) are fallbacks.

Config Options

OptionTypeDefaultDescription
defaultImageModelstringflux-2-maxFallback image model
defaultVideoModelstringltx-2-fast-text-to-videoFallback video model
defaultImageStepsnumber30Image inference steps (1-50)
defaultImageCfgScalenumber7.0Image guidance scale (1.0-20.0)
defaultVideoDurationnumber6Default video duration in seconds
defaultNegativePromptstringDefault negative prompt for images
defaultStylePresetstringDefault image style preset
defaultOutputFormatstringwebpOutput format: webp, png, jpeg
defaultVideoNegativePromptstringDefault negative prompt for videos
hideWatermarkbooleanfalseHide Venice.ai watermark
safeModebooleanfalseEnable content filtering
outputDirstring~/Downloads/venice-ai-outputOutput directory setting

Usage

Image Generation

Generate an image of a sunset over mountains

With specific options:

Generate a 512x512 image of a cat in 3D Model style

Video Generation

Generate a video of waves crashing on a beach

With resolution:

Generate a 480P video of a waterfall

Image-to-Video

Upload an image, then ask:

Generate a video from this image of a cat playing

Image Editing

The plugin parses your prompt to determine the editing operation:

Remove background

Remove background from this image

Upscale

Upscale this image

General edit

Add sunglasses to the person in this image

Available Models

Image Models

Popular models include:

  • flux-2-max - High quality
  • flux-2-pro - Professional quality
  • venice-sd35 - Stable Diffusion 3.5
  • recraft-v4-pro - Recraft v4 Pro
  • ... and 25+ more

Video Models

Popular models include:

  • ltx-2-fast-text-to-video - Fast generation
  • ltx-2-full-text-to-video - Higher quality
  • wan-2-7-text-to-video - WAN 2.7
  • seedance-2-0-text-to-video - Seedance 2.0
  • kling-2.6-pro-text-to-video - Kling 2.6 Pro
  • ... and 70+ more

See Venice.ai docs for full list: https://venice.ai/docs

Model-Specific Features

Image Models

FeatureSupported ModelsNotes
Aspect RatioNano Banana familyUse aspect_ratio + resolution
Width/HeightMost modelsTraditional sizing
Style PresetsMost modelsSee GET /image/styles
Negative PromptsMost modelsExclude unwanted elements

Video Models

Model familyDurations
WAN 2.55s, 10s
WAN 2.6 / 2.75s, 10s, 15s
LTX and most others6s, 8s, 10s, 12s, 14s, 15s, 16s, 18s, 20s, 30s

Important Notes

  1. API Key Required: You must obtain a Venice.ai API key from https://venice.ai/settings/api and configure it via openclaw models auth paste-token --provider venice.
  2. Model Availability: Venice.ai regularly adds new models. The plugin includes popular models but may not list every available model.
  3. File Size Limits: Telegram media limits can be tight. Smaller images, shorter videos, and lighter models are safer.
  4. Duration Validation: The plugin rounds requested video durations to the nearest valid duration for the selected model.
  5. Best-fit image sizing: For pixel-based Venice models that do not expose rich geometry capabilities, the plugin now picks the closest safe preset size instead of sending an oversize width/height that Venice would reject.
  6. Image Editing: The plugin code supports image editing, but full uploaded-image plumbing still depends on OpenClaw core behavior.

Version History

  • v2.2.0 - Refactor into modular image/video providers
  • v2.1.0 - Image editing, negative prompts, style presets, WebP output
  • v2.0.0 - Video generation support, renamed to venice-media
  • v1.0.0 - Initial image generation plugin

License

MIT © Andres Rovira