Install
openclaw skills install @thcjp/lh-video-gen-tool-freeopenclaw skills install @thcjp/lh-video-gen-tool-free竖版视频生成免费版帮助个人内容创作者从Markdown脚本一键生成9:16竖版短视频。工具采用"以图定音"的核心思路:每段脚本的画面说明生成字幕卡片图,每段口播文案生成TTS配音,每张图展示时长等于对应音频时长,实现音画天然同步。
本版本面向个人用户,提供基础的单视频生成能力,适合短视频平台内容创作。
---分隔各段画面、口播、字幕三个字段输入: 用户提供脚本解析所需的指令和必要参数。 处理: 按照skill规范执行脚本解析操作,遵循单一意图原则。 输出: 返回脚本解析的执行结果,包含操作状态和输出数据。
zh-CN-YunxiNeural音色输入: 用户提供TTS配音所需的指令和必要参数。 处理: 按照skill规范执行TTS配音操作,遵循单一意图原则。 输出: 返回TTS配音的执行结果,包含操作状态和输出数据。
slide_01.png、slide_02.png...输入: 用户提供画面生成所需的指令和必要参数。 处理: 按照skill规范执行画面生成操作,遵循单一意图原则。 输出: 返回画面生成的执行结果,包含操作状态和输出数据。
输入: 用户提供视频合成所需的指令和必要参数。 处理: 按照skill规范执行视频合成操作,遵循单一意图原则。 输出: 返回视频合成的执行结果,包含操作状态和输出数据。 能力覆盖范围:本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下期再见
python3 generate.py script.md -o output.mp4
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 不烧录字幕
# 替换为任意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命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |