介绍
# Venice AI Media
使用 Venice AI API 生成图像和视频。Venice 是一个定价具有竞争力的无审查 AI 平台。
## 前置条件
- **Python 3.10+** (`brew install python` 或系统自带的 Python) - **Venice API 密钥** (提供免费层) - **requests** 库 (如果缺失,脚本会自动安装)
## 设置
### 1. 获取 API 密钥
1. 在 [venice.ai](https://venice.ai) 创建账户 2. 前往 [venice.ai/settings/api](https://venice.ai/settings/api) 3. 点击 "Create API Key" 4. 复制密钥 (以 `vn_...` 开头)
### 2. 配置密钥
**选项 A:环境变量**
```bash export VENICE_API_KEY="vn_your_key_here" ```
**选项 B:Clawdbot 配置** (推荐 - 在会话之间持久保存)
添加到 `~/.clawdbot/clawdbot.json`:
```json5 { skills: { entries: { "venice-ai-media": { env: { VENICE_API_KEY: "vn_your_key_here", }, }, }, }, } ```
### 3. 验证设置
```bash python3 {baseDir}/scripts/venice-image.py --list-models ```
如果你看到了模型列表,说明准备就绪!
## 价格概览
| 功能 | 成本 | | ---------------- | --------------------------------- | | 图像生成 | ~$0.01-0.03 每张 | | 图像放大 | ~$0.02-0.04 | | 图像编辑 | $0.04 | | 视频 (WAN) | ~$0.10-0.50 取决于时长 | | 视频 (Sora) | ~$0.50-2.00 取决于时长 |
在视频命令中使用 `--quote` 可在生成前查看价格。
## 快速开始
```bash # 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 ```
---
## 图像生成
```bash 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 ```
**关键标志:** `--prompt`, `--model` (默认:flux-2-max), `--count` (对相同提示词使用高效的批量 API), `--width`, `--height`, `--format` (webp/png/jpeg), `--resolution` (1K/2K/4K), `--aspect-ratio`, `--negative-prompt`, `--style-preset` (使用 `--list-styles` 查看选项), `--cfg-scale` (提示词遵循度 0-20,默认 7.5), `--seed` (用于可复现结果), `--safe-mode` (默认禁用以获得无审查输出), `--hide-watermark` (仅在明确要求时使用 - 水印支持 Venice), `--embed-exif` (将提示词嵌入图像元数据), `--lora-strength` (0-100,适用于适用模型), `--steps` (推理步数,取决于模型), `--enable-web-search`, `--no-validate` (跳过针对新/测试版模型的模型检查)
## 图像放大
```bash 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 ```
**关键标志:** `--scale` (1-4,默认:2), `--enhance` (AI 增强), `--enhance-prompt`, `--enhance-creativity` (0.0-1.0), `--replication` (0.0-1.0,保留线条/噪点,默认:0.35), `--url` (使用 URL 而非本地文件), `--output`, `--out-dir`
## 图像编辑
```bash 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" ```
**关键标志:** `--prompt` (必需 - AI 解析修改内容), `--url` (使用 URL 而非本地文件), `--output`, `--out-dir`
**注意:** 编辑端点使用 Qwen-Image 模型,该模型有一些内容限制 (与其他 Venice 端点不同)。
## 视频生成
```bash # 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> ```
**关键标志:** `--image` (生成必需), `--prompt` (生成必需), `--model` (默认:wan-2.6-image-to-video), `--duration` (取决于模型,参见 --list-models), `--resolution` (480p/720p/1080p), `--aspect-ratio`, `--audio`/`--no-audio`, `--skip-audio-param`, `--quote` (价格估算), `--timeout`, `--poll-interval`, `--no-delete` (保留服务器媒体), `--complete` (清理以前下载的视频), `--no-validate` (跳过模型检查)
**进度:** 生成期间,脚本根据 Venice 的平均执行时间显示预计进度。
## 模型说明
使用 `--list-models` 查看当前可用性和状态。模型频繁变更。
**图像:** 默认为 `flux-2-max`。常见选项包括 flux、gpt-image 和 nano-banana 变体。
**视频:**
- **WAN** 模型:图生视频,可配置音频,各种时长 (5s-21s) - **Sora** 模型:需要 `--aspect-ratio`,使用 `--skip-audio-param`
**提示:**
- 对于模型列表中尚未包含的新模型或测试版模型,使用 `--no-validate` - 对视频使用 `--quote` 可在生成前查看价格 - 安全模式默认禁用 (Venice 是无审查 API)
## 输出
脚本会打印 `MEDIA: /path/to/file` 行,供 Clawdbot 自动附加。
**提示:** 生成通过 iMessage 发送的媒体时,使用 `--out-dir /tmp/venice-$(date +%s)` (确保跨用户账户的可访问性)。
## 故障排除
**"VENICE_API_KEY not set"**
- 检查 `~/.clawdbot/clawdbot.json` 中的配置 - 或导出环境变量:`export VENICE_API_KEY="vn_..."`
**"Invalid API key"**
- 在 [venice.ai/settings/api](https://venice.ai/settings/api) 验证你的密钥 - 密钥以 `vn_` 开头
**"Model not found"**
- 运行 `--list-models` 查看可用模型 - 对新/测试版模型使用 `--no-validate`
**视频卡住/超时**
- 视频可能需要 1-5 分钟,具体取决于模型和时长 - 较长的视频使用 `--timeout 600` - 在 [venice.ai](https://venice.ai) 检查 Venice 状态
**"requests" module not found**
- 安装它:`pip3 install requests`