电商视频生成技能(MCP 版)。用户提供商品标题、描述、图片,自动生成营销短视频。 当用户提到"生成视频""做视频""视频生成""商品视频""产品视频""带货视频"时必须使用此技能。 通过 MCP tool 调用 API,不使用 exec curl。
本 Skill 依赖 video-generator MCP server(通过 mcporter 管理)。
安装方式:
安装此 skill 时会自动执行 install.sh,完成以下操作:
https://testwiseapi.yingsaidata.com/mcp)用户只需在安装时提供从平台获取的 API Key 即可。
本 skill 使用 video-generator MCP server 提供的以下 tool:
| Tool 名称 | 作用 | 关键参数 |
|---|---|---|
upload_image | 上传图片 | file_path |
check_balance | 查余额 | 无 |
get_pricing | 查单价 | duration |
create_video_task | 创建任务 | title, description, image_urls, video_count |
get_task_status | 查任务进度 | task_id |
list_tasks | 任务列表 | page, page_size, status |
download_video | 下载成品 | task_id, save_dir |
从用户消息中提取以下参数:
| 参数 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| title | 必填 | - | 商品标题 |
| description | 选填 | auto | 商品描述 |
| images | 必填 | - | 图片路径列表 |
| video_count | 选填 | 与图片数相同 | 生成视频数量 |
| duration | 选填 | 15 | 视频时长(秒) |
提取规则:
标题是「...」、标题:"...",或第一段短文本名词~/...、/Users/... 等路径;"剪贴板" → pngpaste生成N个视频、N个视频N秒提取后必须展示确认摘要,等用户回复"确认"才继续:
我从你的描述中提取到以下信息,请确认:
· 商品标题:{title}
· 商品描述:{description 前30字}...
· 图片:{image_count} 张
· 生成数量:{video_count} 个视频
· 视频时长:{duration} 秒
确认无误请回复「确认」,如需修改请直接说明。
对每张图片调用 MCP tool:
tool: upload_image
args: { "file_path": "~/Desktop/shoe1.jpg" }
收集每次返回的 url,组成 image_urls 数组。
如果用户说"用剪贴板的图",先 exec pngpaste /tmp/openclaw_upload.png,再上传 /tmp/openclaw_upload.png。
并行调用两个 tool:
tool: check_balance
args: {}
tool: get_pricing
args: { "duration": 15 }
计算:
展示费用摘要:
· 商品标题:{title}
· 图片数量:{image_count}张
· 视频时长:{duration}秒
· 生成数量:{video_count}个
单价:{unit_price} 积分
总消耗:{total_cost} 积分
当前余额:{balance} 积分
余额充足(balance >= total_cost)→ 直接进入步骤 5
余额不足(balance < total_cost)→ 展示选项:
⚠️ 当前余额不足,还需 {total_cost - balance} 积分。
你可以:
1️⃣ 充值后生成 {video_count} 个视频
2️⃣ 生成 {affordable_count} 个视频(当前余额最多支持{affordable_count}个)
tool: create_video_task
args: {
"title": "男士防水运动鞋",
"description": "这是专为全天候出行打造的...",
"image_urls": ["https://cdn.example.com/img1.jpg", "https://cdn.example.com/img2.jpg"],
"video_count": 3,
"duration": 15
}
成功后展示 task_id。
用户问"好了吗"/"进度"时:
tool: get_task_status
args: { "task_id": "task_12345" }
用户说"下载"时:
tool: download_video
args: { "task_id": "task_12345", "save_dir": "~/Downloads" }
用户说"列表"时:
tool: list_tasks
args: { "page": 1, "page_size": 20 }
401/403:API Key 无效或过期402:余额不足(应在步骤 4 已拦截)413:图片太大,提示压缩后重试422:缺少必填字段(检查 title 和 images)429:限流,建议 30 秒后重试5xx:服务端异常,记录 request_id 后重试用户:标题是「男士防水运动鞋」这是专为全天候出行打造的男士防水运动鞋。生成3个视频(图片 ~/Desktop/shoe1.jpg ~/Desktop/shoe2.jpg ~/Desktop/shoe3.jpg)
Agent:
我从你的描述中提取到以下信息,请确认:
· 商品标题:男士防水运动鞋
· 商品描述:这是专为全天候出行打造的男士防水运动鞋...
· 图片:3 张
· 生成数量:3 个视频
· 视频时长:15 秒
确认无误请回复「确认」。
用户:确认
Agent:(上传图片 → 查余额 → 展示费用 → 提交任务)
✅ 视频生成任务已提交!
- task_id: task_12345
- 生成数量:3 个视频
- 预计耗时:约 3 分钟
- 消耗积分:864
生成完成后说"下载"即可获取。
ZIP package — ready to use