
什么是 AI Shorts Generator?
AI Shorts Generator 是一个免费的开源 Python 项目,可将较长的 YouTube 视频或本地视频文件转换为可直接发布的短视频片段。它会自动转录源视频,识别可能具有吸引力的片段,移除重叠的候选片段,并以竖屏或自定义宽高比渲染最佳候选内容。
该项目定位为短视频 SaaS 产品的自托管替代方案。它不会在片段开头添加署名或水印。其更广泛的功能还包括字幕、翻译、配音、上下文感知的开场钩子、命令行界面、本地 Web 界面,以及用于集成到其他项目中的 API。
输出示例
生成的片段可以将演讲、访谈、播客、教程及类似的长篇内容转换为适合移动设备观看的视频。



处理流程如何运作
- 获取源视频:程序会下载 YouTube 视频,或读取你提供的本地文件路径。
- 转录:
faster-whisper会在本地生成带时间戳的转录文本。对于所有受支持的 LLM 提供商,此步骤都相同。 - 内容分类:所选 LLM 会判断源内容是否类似播客、访谈、教程、视频博客或其他内容类型。它还会评估节奏,以便根据内容调整高光片段的选择。
- 高光片段排名:OpenAI、Gemini 或 MuAPI 会检查转录文本,寻找开场钩子、情绪高峰、鲜明观点、揭示、冲突、可引用的表述、故事高潮和实用价值。它会返回带有 0 到 100 分评分的高光候选片段排名。
- 去重:根据评分合并重叠的候选片段。
- 选择前 N 个片段:根据
--n选项选择排名最高的候选片段。 - 渲染:每个选中的片段都会自动裁剪,并按请求的宽高比进行渲染。除非禁用,否则程序会在开头添加 AI 生成的上下文开场钩子。
要求
- Python 3.10 或更高版本
- OpenAI、Gemini 或 MuAPI 的 API 密钥
requirements.txt中列出的 Python 软件包
Gemini 提供有每日限额的免费层级。OpenAI 为付费服务,而 MuAPI 提供按使用付费的服务,无需订阅。服务条款和价格可能发生变化,因此在处理大量内容前,请查看相关服务的最新信息。
安装项目
1. 克隆代码仓库
git clone https://github.com/Colafornia/short-video-generator-AI.git
cd short-video-generator-AI2. 创建虚拟环境
在 Windows 上运行:
python -m venv venv
venv\Scripts\activate在 Linux 或 macOS 上运行:
python -m venv venv
source venv/bin/activate虚拟环境可以将生成器所需的软件包与计算机上的其他 Python 项目分隔开。
3. 安装依赖
pip install -r requirements.txt配置 LLM 和 Whisper
在项目目录中创建一个 .env 文件。将 LLM_PROVIDER 设置为 openai、gemini 或 muapi,并添加相应的 API 密钥。
LLM_PROVIDER=openai
OPENAI_API_KEY=your_openai_key_here
OPENAI_MODEL=gpt-4o-mini
GEMINI_API_KEY=your_gemini_key_here
GEMINI_MODEL=gemini-2.5-flash
MUAPI_API_KEY=your_muapi_key_here
LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=auto你只需要为 LLM_PROVIDER 所选的提供商准备有效密钥。示例中的 OpenAI 和 Gemini 模型字段均为可选项。
- Gemini:从 Google AI Studio 获取密钥。
- OpenAI:从 OpenAI Platform 获取密钥。
- MuAPI:从 MuAPI 获取密钥。
选择 Whisper 模型
LOCAL_WHISPER_MODEL 支持 tiny、base、small、medium 或 large-v3。默认示例使用 base。设备选择可使用 auto、cpu 或 cuda。
如果希望程序自动选择可用设备,请保留 LOCAL_WHISPER_DEVICE=auto。拥有兼容的 CUDA 环境时使用 cuda,明确希望使用 CPU 处理时使用 cpu。
生成你的第一个短视频
将 YouTube URL 传递给 main.py:
python main.py "https://www.youtube.com/watch?v=video_id"默认情况下,程序会以 9:16 的宽高比渲染三个片段,并使用 720 的源视频下载分辨率。渲染后的文件会保存到 output 目录。
控制数量、宽高比和分辨率
以下命令会选择三个高光片段,将其制作成竖屏视频,并请求使用 1080 的源视频分辨率:
python main.py "https://www.youtube.com/watch?v=video_id" \
--n 3 \
--ratio 9:16 \
--resolution 1080--n控制渲染的片段数量,默认值为3。--ratio接受自定义宽高比。竖屏短视频使用9:16,方形输出使用1:1。--resolution控制源视频的下载分辨率。文档支持的值包括360、480、720和1080。
处理本地视频
可以使用本地文件路径替代 YouTube URL。下面的示例会创建四个 720 分辨率的竖屏片段,并强制 Whisper 将语音识别为中文:
python main.py "/Users/Admin/Folder/video.mp4" \
--n 4 \
--ratio 9:16 \
--resolution 720 \
--language zh默认语言设置为 auto。当自动检测不适用,或你已经知道视频的语音语言时,可以使用 --language 并指定 Whisper 语言代码,例如 en。
禁用生成式 Hook
AI 生成的 Hook 默认启用。若要渲染高光片段而不在开头插入新的 Hook,请添加 --no-hook:
python main.py "https://www.youtube.com/watch?v=video_id" --no-hook当选定片段本身已有有力的开场,或你希望短视频完全按照源视频中的起始内容开始时,此选项非常有用。
使用本地 Web 界面
Web 版本提供了可视化方式,用于排队处理多个视频并调整渲染选项。它仍会从 .env 读取 LLM 提供商和 API 凭据;该界面仅处理视频输入和渲染选项。
1. 启动后端
python3 server.py2. 提供前端服务
在项目目录中打开另一个终端并运行:
cd web
python3 -m http.server 80003. 打开界面
在浏览器中访问 http://localhost:8000/shorts-generator-ui.html。
高级使用技巧
使宽高比匹配发布平台
标准竖屏短视频使用 9:16。需要方形输出时选择 1:1,也可以提供生成器支持的其他宽高比,以适应不同布局。
测试时限制片段数量
初次配置时设置 --n 1。这样可以减少渲染的片段数量,便于验证 API 凭据、转录行为、语言设置、Hook 和输出尺寸。
python main.py "https://www.youtube.com/watch?v=video_id" --n 1 --resolution 360在适当情况下指定语言
自动语言检测很方便,但当你知道源语言时,明确设置 --language 会更有帮助。此选项适用于 Whisper 转录。
调整本地转录设置
即使高光分析使用外部 LLM 提供商,转录仍会在本地运行。根据计算机可用的资源,在 .env 中选择 Whisper 模型和设备。README 展示了这些设置,但没有为所有工作负载指定统一的模型。
将提供商配置与界面选项分开
从 CLI 切换到 Web 界面不会改变已配置的 LLM 提供商。在 OpenAI、Gemini 和 MuAPI 之间切换时,请在 .env 中更新 LLM_PROVIDER 及其对应的 API 密钥。
发布前检查生成的片段
高光系统会使用转录分析和病毒传播性框架自动选择候选片段。发布前,请检查 output 中的文件,确认裁剪、转录、上下文和可选 Hook 符合你的预期用途。
结语
AI Shorts Generator 将本地 Whisper 转录、基于 LLM 的高光检测、去重、排序和自动裁剪整合到一个开源工作流中。安装依赖并在 .env 中配置提供商后,你可以从命令行处理 YouTube URL 或本地文件。当你希望排队处理视频并通过可视化方式选择渲染选项时,本地 Web 界面提供了另一种选择。
该项目采用 MIT 许可证发布。你可以通过 GitHub 报告问题、贡献更改或派生该仓库。
