🦀 ClawHub
Doubao Image Video Skill V2
by @wenkangwei
Doubao (Volcengine ARK) API Shell 脚本实现 - 文本生图、图片编辑和文本生视频,接口文档https://www.volcengine.com/docs/82379/1520757?lang=zh#y2hhTyHB
TERMINAL
clawhub install doubao-skill-v2📖 About This Skill
name: doubao-image-video-skill-v2 version: 1.0.0 description: "Doubao (Volcengine ARK) API Shell 脚本实现 - 文本生图、图片编辑和文本生视频,接口文档https://www.volcengine.com/docs/82379/1520757?lang=zh#y2hhTyHB" author: "wenkangwei" tags: ["image", "video", "shell"]
目录结构
doubao-skill-v2/
├── SKILL.md # 技能主文档(本文件)
├── README.md # 技能说明
├── doubao-skill-v2.json # 技能配置清单
├── CHANGELOG.md # 更新日志
├── requirements.txt # 依赖(curl, jq)
├── references/ # 参考文档目录
│ ├── README.md # 快速开始指南
│ ├── SKILL.md # 详细技能文档
│ └── INTEGRATION_GUIDE.md # 集成指南
└── scripts/ # 执行脚本目录
├── doubao.sh # 主脚本(shell实现)
├── doubao_skill.sh # Skill包装脚本
└── examples.sh # 使用示例
🚀 快速开始
前置条件
安装步骤
# 1. 进入 skill 目录
cd ~/.openclaw/workspace/skills/doubao-skill-v22. 安装依赖
sudo apt-get install curl jq # Ubuntu/Debian
或
brew install curl jq # macOS3. 设置环境变量
export ARK_API_KEY="your_api_key_here"或添加到 ~/.bashrc
echo 'export ARK_API_KEY="your_api_key"' >> ~/.bashrc
source ~/.bashrc4. 验证安装
cd scripts
./doubao.sh help
📚 使用方法
使用建议
1. 优先使用方法1 2. 视频生成任务优先使用同步方法,避免浪费token到监控步骤方式 1(优先使用): Shell 脚本直接调用
cd ~/.openclaw/workspace/skills/doubao-skill-v2/scripts生成图片
./doubao.sh img "一只可爱的小猫"编辑图片(去除水印)
./doubao.sh edit "https://..." "remove watermark"生成视频(异步)
./doubao.sh vid "一个人在跳舞" async ''生成视频(同步 - 等待完成)
./doubao.sh vid "一个人在跳舞" sync ''检查任务状态
./doubao.sh status "task_xxxxx"
📖 API 参考
Action: img (文生图)
参数:
prompt (string, required): 生成提示词返回:
{
"status": "success",
"image_url": "https://...",
"local_path": "data/img_YYYYMMDD_HHMMSS.jpeg",
"prompt": "一只可爱的小猫"
}
示例:
./doubao.sh img "一只可爱的小猫"
Action: edit (图片编辑)
参数:
image_url (string, required): 要编辑的图片 URLprompt (string, optional): 编辑提示词(默认: "remove watermark, keep main content")返回:
{
"status": "success",
"image_url": "https://...",
"local_path": "data/edit_YYYYMMDD_HHMMSS.jpeg",
"prompt": "remove watermark, keep main content"
}
功能说明:
示例:
# 使用默认提示词去除水印
./doubao.sh edit "https://example.com/image.png"自定义编辑提示词
./doubao.sh edit "https://example.com/image.png" "remove logo and watermark, preserve main subject"
Action: vid (文生视频)
参数:
prompt (string, required): 生成提示词sync_mode (string, optional): "sync" 或 "async" (默认: async)image_url (string, optional): 参考图片 URL返回 (async 模式):
{
"status": "success",
"task_id": "task_xxxxx",
"prompt": "一个人在跳舞"
}
返回 (sync 模式):
{
"status": "success",
"task_id": "task_xxxxx",
"video_url": "https://...",
"local_path": "data/vid_YYYYMMDD_HHMMSS.mp4",
"prompt": "一个人在跳舞"
}
示例:
# 异步模式(快速返回任务ID)
./doubao.sh vid "一个人在跳舞" async同步模式(等待完成)
./doubao.sh vid "一个人在跳舞" sync ''
Action: status (检查任务状态)
参数:
task_id (string, required): 任务 ID返回:
{
"status": "running",
"progress": 50,
"task_id": "task_xxxxx"
}
状态值:
pending: 任务已提交,等待处理running: 任务正在处理中succeeded: 任务成功完成failed: 任务失败示例:
./doubao.sh status "task_xxxxx"
🎯 技术特性
Shell 脚本实现
✅ 纯 Bash 脚本
✅ 自动化处理
data/ 目录✅ 异步/同步模式
📊 性能指标
| 操作 | 预期耗时 | 说明 | |------|---------|------| | 文生图 | 10-30 秒 | 取决于图片大小和服务器负载 | | 图片编辑 | 10-30 秒 | 取决于编辑复杂度 | | 文生视频(启动) | 1-5 秒 | 异步模式返回任务ID | | 文生视频(完成) | 1-3 分钟 | 同步模式等待完成 | | 状态查询 | < 1 秒 | 实时查询任务状态 |
🐛 故障排除
问题 1: ARK_API_KEY 环境变量未设置
错误信息:
错误:请先在环境变量 ARK_API_KEY 中设置你的 API Key。
解决方案:
# 方式 1: 直接设置
export ARK_API_KEY="your_api_key_here"方式 2: 添加到 ~/.bashrc
echo 'export ARK_API_KEY="your_api_key"' >> ~/.bashrc
source ~/.bashrc验证
echo $ARK_API_KEY
问题 2: jq 命令未找到
错误信息:
jq: command not found
解决方案:
# Ubuntu/Debian
sudo apt-get install jqmacOS
brew install jqCentOS/RHEL
sudo yum install jq
问题 3: curl 命令未找到
错误信息:
curl: command not found
解决方案:
# Ubuntu/Debian
sudo apt-get install curlmacOS
brew install curlCentOS/RHEL
sudo yum install curl
问题 4: 视频下载失败 (403 Forbidden)
错误信息:
⚠️ 警告:视频 URL 下载失败 (403 Forbidden)
原因:视频 URL 有访问限制,可能需要浏览器环境
解决方案:
视频 URL 有时效性签名和访问限制,无法直接通过 curl 下载。
# 使用浏览器手动下载视频
复制视频 URL 到浏览器中打开
🧪 测试示例
测试 1: 基础文生图
cd ~/.openclaw/workspace/skills/doubao-skill-v2/scripts设置环境变量
export ARK_API_KEY="your_api_key"运行测试
./doubao.sh img "一只可爱的小猫"
预期结果:
{
"status": "success",
"image_url": "https://...",
"local_path": "data/img_20260302_012345.jpeg",
"prompt": "一只可爱的小猫"
}
测试 2: 图片编辑(去除水印)
cd scripts使用默认提示词去除水印
./doubao.sh edit "https://example.com/image.png"自定义编辑提示词
./doubao.sh edit "https://example.com/image.png" "remove logo and watermark, preserve main subject"
预期结果:
{
"status": "success",
"image_url": "https://...",
"local_path": "data/edit_20260302_012345.jpeg",
"prompt": "remove watermark, keep main content"
}
测试 3: 异步文生视频
cd scripts启动视频生成
./doubao.sh vid "一个人在现代城市中跳舞,夜景" async记录返回的 task_id
检查状态
./doubao.sh status "task_xxxxx"
预期结果 (第一步):
{
"status": "success",
"task_id": "task_xxxxx",
"prompt": "一个人在现代城市中跳舞,夜景"
}
预期结果 (检查状态):
{
"status": "running",
"progress": 50,
"task_id": "task_xxxxx"
}
测试 4: 同步文生视频
cd scripts这会等待视频生成完成(可能需要 1-3 分钟)
./doubao.sh vid "一条龙在云彩中飞舞,奇幻场景" sync ''
预期结果:
{
"status": "success",
"task_id": "task_xxxxx",
"video_url": "https://...",
"local_path": "data/vid_20260302_012345.mp4",
"prompt": "一条龙在云彩中飞舞,奇幻场景"
}
📝 依赖说明
必需依赖
可选依赖
安装命令
# Ubuntu/Debian
sudo apt-get install curl jqmacOS
brew install curl jqCentOS/RHEL
sudo yum install curl jq
🔄 工作流程
图片生成流程
用户输入 → 调用 doubao.sh img → 调用 API → 解析响应 → 下载图片 → 保存到 data/ → 返回本地路径
图片编辑流程
用户提供图片 URL → 调用 doubao.sh edit → 调用 API → 解析响应 → 下载编辑后的图片 → 保存到 data/ → 返回本地路径
视频生成流程(异步)
用户输入 → 调用 doubao.sh vid async → 调用 API → 获取 task_id → 返回 task_id
视频生成流程(同步)
用户输入 → 调用 doubao.sh vid sync → 调用 API → 获取 task_id → 循环检查状态 → 完成后下载 → 保存到 data/ → 返回本地路径
📁 文件管理
data 目录
所有生成的文件自动保存到 data/ 目录:
data/
├── img_YYYYMMDD_HHMMSS.jpeg # 生成的图片
├── edit_YYYYMMDD_HHMMSS.jpeg # 编辑后的图片
└── vid_YYYYMMDD_HHMMSS.mp4 # 生成的视频
文件命名规则
img_YYYYMMDD_HHMMSS.jpegedit_YYYYMMDD_HHMMSS.jpegvid_YYYYMMDD_HHMMSS.mp4📈 版本历史
v1.0.0 (2026-03-02)
✅ 初始版本
🆘 获取帮助
查看帮助信息
cd scripts
./doubao.sh help
查看示例
cd scripts
./examples.sh
查看文档
# 查看详细文档
cat ../references/SKILL.md查看集成指南
cat ../references/INTEGRATION_GUIDE.md查看快速开始
cat ../references/README.md
🔐 安全性最佳实践
不要硬编码 API Key
# ❌ 错误
API_KEY="sk-xxxxx"✅ 正确
export ARK_API_KEY="your_api_key"
使用环境变量文件
# ~/.bashrc
export ARK_API_KEY="your_api_key"
保护 API Key
📚 参考资源
版本: 1.0.0 最后更新: 2026-03-02 维护者: wenkangwei