Install
openclaw skills install @thcjp/lh-video-gen-tool-freeopenclaw skills install @thcjp/lh-video-gen-tool-free功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
竖版视频生成免费版帮助个人内容创作者从Markdown脚本一键生成9:16竖版短视频。工具采用"以图定音"的核心思路:每段脚本的画面说明生成字幕卡片图,每段口播文案生成TTS配音,每张图展示时长等于对应音频时长,实现音画天然同步。
本版本面向个人用户,提供基础的单视频生成能力,适合短视频平台内容创作。
---分隔各段画面、口播、字幕三个字段输出: 返回脚本解析的执行结果,包含操作状态和输出数据。
zh-CN-YunxiNeural音色输出: 返回TTS配音的执行结果,包含操作状态和输出数据。
slide_01.png、slide_02.png...输出: 返回画面生成的执行结果,包含操作状态和输出数据。
输出: 返回视频合成的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:脚本一键生成、竖版短视频、字幕烧录与画面同、适合个人内容创作、竖版视频生成免费、版帮助个人内容创、作者从、以图定音、核心思路、画面说明生成字幕、卡片图、口播文案生成、音画天然同步、Use、when、需要视频处理、音频编辑、媒体转换、配音生成时使用、不适用于版权受保、护的媒体内容处理、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
需求:教育博主需要将知识点制作成竖版短视频。
# 编写脚本 script.md
# ---
# ## 开场
# **画面**:知识标题卡片
# **口播**:大家好,今天我们来学习一个有趣的知识点。
# **字幕**:今日知识点\n一分钟速览
# 生成视频
python3 generate.py script.md -o output.mp4
需求:独立开发者为一款应用制作介绍视频。
# 使用自定义TTS音色与语速
python3 generate.py product-intro.md \
-o product.mp4 \
-v zh-CN-XiaoxiaoNeural \
-r +5%
需求:已有设计好的图片,只需配音与合成。
# 使用预制图片(跳过Chrome截图)
python3 generate.py script.md \
--images-dir ./my-slides \
-o output.mp4
# 系统依赖
# FFmpeg:视频合成
brew install ffmpeg # macOS
# 或
sudo apt install ffmpeg # Linux
# Chrome:HTML截图(使用预制图片时可跳过)
# 自动检测系统Chrome路径,或设置环境变量:
export CHROME_PATH="/path/to/chrome"
创建 script.md 文件:
画面:欢迎页面,显示标题 口播:大家好,欢迎来到今天的分享。 字幕:欢迎观看\n今日主题
画面:知识点卡片 口播:今天我们要学习的核心内容是这个重要概念。 字幕:核心概念详解
画面:感谢页面 口播:感谢观看,我们下期再见。 字幕:感谢观看\n下期再见
# 请参考上方使用说明进行配置和调用
result = "ready"
```bash
python3 generate.py script.md -o output.mp4
result = "ready"
python3 generate.py <脚本路径> [选项]
选项:
-o, --output 输出MP4路径(默认:tmp/video-output.mp4)
-v, --voice TTS音色(默认:zh-CN-YunxiNeural)
-r, --rate 语速(默认:+0%,如+10%、-10%)
-w, --width 视频宽度(默认:1080)
--height 视频高度(默认:1920,9:16)
--images-dir 使用已有图片目录,跳过Chrome截图
--tts-command 自定义TTS命令模板
--keep-temp 保留临时文件
--no-subs 不烧录字幕
result = "ready"
# 替换为任意TTS工具
python3 generate.py script.md \
--tts-command "my-tts {text} -o {output} -v {voice} -r {rate}"
占位符说明:
{text}:口播文案{output}:输出路径{voice}:音色{rate}:语速# 默认配置
video_config = {
"width": 1080,
"height": 1920, # 9:16竖版
"voice": "zh-CN-YunxiNeural",
"rate": "+0%",
"output": "tmp/video-output.mp4",
"burn_subs": True,
"keep_temp": False
}
| 技巧 | 说明 | 示例 |
|---|---|---|
| 分段清晰 | 每段聚焦一个要点 | 用---明确分隔 |
| 口播简洁 | 单段口播不超过30秒 | 避免过长导致图片展示过久 |
| 字幕精炼 | 字幕比口播更简短 | 提取关键词而非完整句子 |
| 画面描述具体 | 明确画面应展示什么 | "标题卡片+渐变背景" |
# 中文音色推荐
-v zh-CN-YunxiNeural # 男声,沉稳(默认)
-v zh-CN-XiaoxiaoNeural # 女声,活泼
-v zh-CN-YunyangNeural # 男声,专业
-v zh-CN-XiaoyiNeural # 女声,温柔
# 语速调整
-r +10% # 稍快,适合节奏明快的内容
-r -10% # 稍慢,适合教学讲解
A: 检查Chrome是否已安装,或通过CHROME_PATH环境变量指定路径。也可使用预制图片(--images-dir)跳过截图步骤。
A: 默认TTS需要网络连接。检查网络是否正常。也可通过--tts-command替换为本地TTS工具。
A: 本工具采用"以图定音"设计,每张图展示时长等于对应音频时长,天然同步。如遇不同步,检查是否有手动修改过临时文件。
A: 免费版支持单视频生成,默认配置。不支持批量生成、自定义模板、多语言混排等高级功能。如需批量处理请使用PRO版。
A: 使用--keep-temp参数,生成过程中的图片、音频、片段将保留在临时目录中,便于排查问题。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| FFmpeg | 系统工具 | 必需 | brew/apt安装 |
| Chrome | 浏览器 | 截图必需 | 系统自带或下载 |
| TTS服务 | 服务 | 必需 | 默认Edge TTS或自定义 |
--tts-command替换为本地TTS工具,无需API Key| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 本技能 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |