竖版视频生成免费版
从Markdown脚本一键生成9:16竖版短视频,支持TTS配音、字幕烧录与画面同步,适合个人内容创作者。
天轰穿
@thcjp
What This Skill Does
Generates 9:16 vertical short videos from a Markdown script. Parses script segments into TTS voiceover, subtitle card images, and synchronizes audio with visuals using FFmpeg.
Replaces manual video editing workflows by automating the entire pipeline from script to MP4 output with synchronized audio and subtitles.
When to Use It
- Create knowledge-based short videos from structured Markdown scripts
- Produce product introduction videos with custom TTS voice and speed
- Generate video content using pre-designed images to skip screenshot steps
- Rapidly prototype social media clips for personal content channels
- Convert educational notes or blog posts into vertical video format
Install
$ openclaw skills install @thcjp/lh-video-gen-tool-free竖版视频生成免费版
概述
竖版视频生成免费版帮助个人内容创作者从Markdown脚本一键生成9:16竖版短视频。工具采用"以图定音"的核心思路:每段脚本的画面说明生成字幕卡片图,每段口播文案生成TTS配音,每张图展示时长等于对应音频时长,实现音画天然同步. 本版本面向个人用户,提供基础的单视频生成能力,适合短视频平台内容创作.
核心能力
脚本解析
- 支持Markdown格式脚本,用
---分隔各段 - 每段包含
画面、口播、字幕三个字段 - 自动提取分段内容并按顺序处理
处理: 解析脚本解析的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回脚本解析的响应数据,包含状态码、结果和日志.
TTS配音
- 默认使用
zh-CN-YunxiNeural音色 - 支持自定义语速(如+10%、-10%)
- 可替换为任意TTS工具(通过命令模板)
处理: 解析TTS配音的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回TTS配音的响应数据,包含状态码、结果和日志.
画面生成
- 自动将字幕内容渲染为9:16图片
- 支持使用预制图片跳过截图步骤
- 图片命名规则:
slide_01.png、slide_02.png...
处理: 解析画面生成的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回画面生成的响应数据,包含状态码、结果和日志.
视频合成
- 使用FFmpeg合成视频片段
- 支持字幕烧录
- 输出标准MP4格式
处理: 解析视频合成的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回视频合成的响应数据,包含状态码、结果和日志. 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:脚本一键生成、竖版短视频、字幕烧录与画面同、适合个人内容创作、竖版视频生成免费、版帮助个人内容创、作者从、以图定音、核心思路、画面说明生成字幕、卡片图、口播文案生成、音画天然同步、Use、when、需要视频处理、音频编辑、媒体转换、配音生成时使用、不适用于版权受保、护的媒体内容处理、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
使用场景
场景一:知识科普短视频
需求:教育博主需要将知识点制作成竖版短视频.
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 竖版视频生成免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 编写脚本 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"
Step 2:编写脚本
创建 script.md 文件:
---
# ...
## 快速开始
1. 确认运行环境满足依赖说明中的要求
2. 在AI Agent对话中调用本技能,提供必要的输入参数
3. 检查输出结果,根据需要进行后续处理
> 详细的输入输出格式请参考下方章节说明。
#
## 开场
**画面**:欢迎页面,显示标题
**口播**:大家好,欢迎来到今天的分享.
**字幕**:欢迎观看\n今日主题
# ...
---
# ...
## 内容
**画面**:知识点卡片
**口播**:今天我们要学习的核心内容是这个重要概念.
**字幕**:核心概念详解
# ...
---
# ...
## 结尾
**画面**:感谢页面
**口播**:感谢观看,我们下期再见.
**字幕**:感谢观看\n下期再见
Step 3:生成视频
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命令
# 替换为任意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% # 稍慢,适合教学讲解
工作流程
- 编写Markdown脚本,规划分段
- 运行生成命令
- 脚本解析:提取各分段内容
- TTS生成:每段口播生成MP3
- 图片生成:每段字幕生成9:16图片
- 视频合成:每张图+对应音频合成片段
- 拼接输出:合并所有片段为最终MP4
常见问题
Q1: 生成视频时Chrome截图失败?
A: 检查Chrome是否已安装,或通过CHROME_PATH环境变量指定路径。也可使用预制图片(--images-dir)跳过截图步骤.
Q2: TTS配音不正常?
A: 默认TTS需要网络连接。检查网络是否正常。也可通过--tts-command替换为本地TTS工具.
Q3: 视频画面与音频不同步?
A: 本工具采用"以图定音"设计,每张图展示时长等于对应音频时长,天然同步。如遇不同步,检查是否有手动修改过临时文件.
已知限制
A: 免费版支持单视频生成,默认配置。不支持批量生成、自定义模板、多语言混排等高级功能。如需批量处理请使用PRO版.
Q5: 如何保留临时文件用于调试?
A: 使用--keep-temp参数,生成过程中的图片、音频、片段将保留在临时目录中,便于排查问题.
- 当前为免费版本,如需完整功能请升级到付费版获取全部能力
依赖说明
运行环境
- Agent平台: 支持SKILL.md规范的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
- Python: 3.8+
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| FFmpeg | 系统工具 | 必需 | brew/apt安装 |
| Chrome | 浏览器 | 截图必需 | 系统自带或下载 |
| TTS服务 | 服务 | 必需 | 默认Edge TTS或自定义 |
API Key 配置
- 本skill基于Markdown指令规范驱动,无需额外API Key
- TTS服务如使用云端API,需按对应服务商文档配置
- 可通过
--tts-command替换为本地TTS工具,无需API Key
可用性分类
- 分类: MD+EXEC(纯Markdown指令+脚本执行能力)
- 说明: 基于Markdown指令驱动Agent执行视频生成任务,通过Python脚本与FFmpeg实现视频合成
- 免费版限制: 单视频生成、默认配置、无批量处理、无自定义模板
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
输出格式
{
"success": true,
"data": {
"result": "竖版视频生成免费版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "lh video gen"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
Top skills in this category
Nano Banana Pro
@steipeteGenerate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
AdMapix
@fly0pantsAdMapix raw data layer for ad creatives, apps, rankings, downloads/revenue, and market metadata. Returns structured JSON from the AdMapix API; the calling ag...
YouTube Watcher
@michaelgatharaFetch and read transcripts from YouTube videos. Use when you need to summarize a video, answer questions about its content, or extract information from it.
SuperDesign
@mpociotExpert frontend design guidelines for creating beautiful, modern UIs. Use when building landing pages, dashboards, or any user interface.
Video Frames
@steipeteExtract frames or short clips from videos using ffmpeg.