@acwilan

Venice.ai Media Generation

Venice.ai image and video generation for OpenClaw

当前版本
v2.4.0
code-plugin社区source-linked

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",
          "defaultImageEditEnabled": false,
          "defaultImageEditPrompt": "Convert the input image into a warm watercolor illustration while preserving the subject, composition, and key details.",
          "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
defaultImageEditEnabledbooleanfalseReplace image edit prompts with defaultImageEditPrompt
defaultImageEditPromptstringDefault conversion prompt for image edit flows
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

Default Image Edits

Enable this when you want a dedicated conversion agent, e.g. an anime, watercolor, charcoal, or storybook-style bot. When an image edit request reaches Venice's /image/edit endpoint, the plugin sends defaultImageEditPrompt instead of the user's prompt. Background removal and upscale requests still route to their specialized Venice endpoints.

{
  "plugins": {
    "entries": {
      "venice-media": {
        "config": {
          "defaultImageEditEnabled": true,
          "defaultImageEditPrompt": "Convert the input photo into a hand-painted watercolor portrait. Preserve the person's identity, pose, composition, and important details."
        }
      }
    }
  }
}

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

源码与版本

源码仓库

acwilan/openclaw-venice-media

打开仓库

源码提交

ed6734c4a69f6b98fbee1c4390a9b8be57c396ca

查看提交

安装命令

openclaw plugins install clawhub:openclaw-venice-media

元数据

  • 包名: openclaw-venice-media
  • 创建时间: 2026/04/23
  • 更新时间: 2026/05/14
  • 执行代码:
  • 源码标签: v2.4.0

兼容性

  • 构建于 OpenClaw: 2026.4.20
  • 插件 API 范围: >=2026.4.0
  • 标签: latest
  • 文件数: 30