Install
openclaw skills install @jackyken/create-podcast-video-universal视频生成工具。当用户说"CreateVideo"、"创建视频"、"生成视频"或提供文案要求制作视频时触发。支持文本转语音(通过 ListenHub MCP)、模版视频裁剪合并、内容分析输出。依赖 ffmpeg 和 ListenHub MCP Server。
openclaw skills install @jackyken/create-podcast-video-universal将音频或文本转化为带背景音乐的竖屏视频。
支持两种输入模式:
用户提供以下任一:
DATE=$(date +%Y%m%d)
BASE_DIR="{{skills_dir}}/../video-projects"
TASK_DIR="$BASE_DIR/${DATE}_001"
COUNTER=1
while [ -d "$TASK_DIR" ]; do
COUNTER=$((COUNTER + 1))
TASK_DIR="$BASE_DIR/${DATE}_$(printf "%03d" $COUNTER)"
done
mkdir -p "$TASK_DIR/temp"
{{skills_dir}}为 skill 所在目录,安装后会自动替换为实际路径。
将背景视频放入 video-projects/ 目录(建议 720×1280 竖屏,MP4 格式)。
推荐模版来源(免费素材):
将用户发来的音频文件保存到 $TASK_DIR/voice.mp3。
调用 ListenHub MCP 的 create_flowspeech 接口:
工具:create_flowspeech
参数:
- sourceType: "text"
- sourceContent: 用户文案
- speakerId: 用户指定的音色ID(在 ListenHub 音色库中选择)
- language: "zh"
- mode: "smart"
首次使用前,用户需在 ListenHub 音色库中选择自己喜好的音色,复制其 ID 后使用。
DURATION=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$TASK_DIR/voice.mp3")
ffmpeg -y \
-stream_loop 3 -i "$TASK_DIR/template.mp4" \
-i "$TASK_DIR/voice.mp3" \
-t $DURATION \
-c:v libx264 -preset fast -crf 23 \
-c:a aac -map 0:v:0 -map 1:a:0 \
"$TASK_DIR/output.mp4"
说明:
-stream_loop 3 表示循环4次,根据音频长度调整math.ceil(DURATION/TEMPLATE_DUR) 计算循环次数-c:v copy 直接复制原视频流基于原始文案生成并保存到 $TASK_DIR/内容分析.txt:
**视频创建完成!**
**任务目录**: {路径}
**最终视频**: output.mp4
**音频来源**: {TTS合成 / 用户音频}
**时长**: {时长}
| 配置项 | 说明 |
|---|---|
| 基础目录 | {skills_dir}/../video-projects |
| 模版目录 | video-projects/ |
| 音频文件 | voice.mp3 |
| 输出文件 | output.mp4 |
video-projects/
├── v_template.mp4 # 背景视频模版(需用户自行准备)
├── 20260411_001/
│ ├── voice.mp3 # 配音音频
│ ├── template.mp4 # 复制的模版
│ └── output.mp4 # 最终视频
└── temp/ # 临时文件(可定期清理)
npx -y @marswave/listenhub-mcp-server
在 OpenClaw 配置中添加 MCP Server 连接。
调用 get_speakers 工具(language=zh)查看可用音色列表,选择音色后复制其 ID。
video-projects/ 目录即可被自动使用temp/ 子目录,可定期清理-c:v copy 模式(需要模版视频编码格式兼容)