
什么是 AI Shorts Generator?
AI Shorts Generator 是一款免费、开源的短视频 SaaS 产品替代方案,可替代 OpusClip 和 Vidyo.ai 等产品。它支持输入 YouTube URL 或本地视频文件,自动寻找精彩片段,并将其渲染为可直接发布的短视频,无水印,也无需预先购买剪辑额度。
该项目将本地转录与 LLM 提供商结合起来。faster-whisper 会生成带时间戳的转录文本,而 OpenAI、Gemini 或 MuAPI 会分析该文本,以识别并评估潜在的精彩片段。

处理流程如何工作
- 下载或加载:应用会下载 YouTube 视频,或读取本地视频路径。
- 转录:
faster-whisper会在本地生成带时间戳的转录文本。 - 分类:所选 LLM 会识别内容类型和节奏,例如访谈、播客、教程或视频博客。
- 评估精彩片段:LLM 会根据强力开场、情绪高潮、揭示、冲突、适合引用的语句、故事高潮和实用价值等信号评估片段。
- 移除重叠片段:根据评分对重叠候选片段进行去重。
- 选择剪辑:根据
--n选项选择排名最高的候选片段。 - 渲染:每个选定片段都会自动裁剪为指定宽高比。除非禁用,否则会在开头添加符合上下文的 AI 开场钩子。
主要功能
- 支持 YouTube 和本地视频:处理视频 URL,或处理已存储在计算机上的文件。
- 自动选择精彩片段:寻找具有较强短视频潜力的内容片段。
- 竖屏渲染:生成适合短视频平台的
9:16视频。 - 多条输出:使用
--n从一个源视频渲染多个精彩片段。 - AI 生成开场钩子:添加符合上下文的开场钩子,或使用
--no-hook将其禁用。 - 字幕、翻译和配音:项目将这些内容处理功能整合到同一工作流程中。
- 本地 Web 界面:可将多个视频加入队列,并以可视化方式配置渲染选项。
- 提供 API:可通过 API 将生成器集成到其他项目中。
系统要求
开始之前,请确保你的环境具备以下条件:
- Python 3.10 或更高版本
- OpenAI、Gemini 或 MuAPI 的 API 密钥
- 用于克隆仓库的 Git
requirements.txt中列出的 Python 软件包
Gemini 提供带每日限制的免费层级。OpenAI 为付费服务,而 MuAPI 提供无需订阅、按使用量付费的服务。请从 Google AI Studio、OpenAI Platform 或 MuAPI 获取密钥。
安装和设置
1. 克隆仓库
git clone https://github.com/pierrenade/short-video-generator-AI.git
cd short-video-generator-AI2. 创建虚拟环境
创建隔离的 Python 环境,避免项目所需软件包与其他安装发生冲突。
python -m venv venv在 Windows 上,使用以下命令激活:
venv\Scripts\activate在 Linux 或 macOS 上,使用以下命令激活:
source venv/bin/activate3. 安装依赖
pip install -r requirements.txt4. 配置环境文件
在项目目录中创建或编辑 .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 所选的提供商配置有效 API 密钥。OpenAI 和 Gemini 的模型设置为可选项。
选择 Whisper 设置
LOCAL_WHISPER_MODEL 支持 tiny、base、small、medium 或 large-v3。README 使用 base 作为初始配置。
LOCAL_WHISPER_DEVICE 支持 auto、cpu 或 cuda。除非你确实需要强制使用 CPU 或 CUDA 处理,否则请保持为 auto。
生成你的第一个短视频
将 YouTube URL 传递给 main.py:
python main.py "https://www.youtube.com/watch?v=video_id"处理完成后,渲染好的剪辑会存储在 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。默认值为720。--language:强制指定 Whisper 语言代码,例如en。默认行为是自动检测。--no-hook:阻止在每个片段开头添加 AI 生成的开场白。
处理本地视频
可以使用本地文件路径替代 YouTube URL。以下示例会生成四个 720 分辨率的竖屏片段,并强制使用中文转录:
python main.py "/Users/Admin/Folder/video.mp4" \
--n 4 \
--ratio 9:16 \
--resolution 720 \
--language zh请根据操作系统使用正确的绝对路径或相对路径。当文件夹或文件名包含空格时,建议为路径加上引号。
使用本地 Web 界面
Web 版本提供了可视化方式,可用于将多个视频加入队列并调整渲染选项。服务商选择和 API 凭据仍来自 .env;该界面负责视频输入和渲染选项。
1. 启动后端
python3 server.py2. 提供前端服务
打开另一个终端,进入 Web 目录,然后启动静态 HTTP 服务器:
cd web
python3 -m http.server 80003. 打开界面
在浏览器中访问 http://localhost:8000/shorts-generator-ui.html。
高级提示
根据发布平台匹配宽高比
传统竖屏短视频请使用 --ratio 9:16。需要正方形片段时,请使用 --ratio 1:1。项目也接受其他比例。
检测不确定时强制指定语言
默认使用自动语言检测。如果已知语音语言,请通过 --language 传入对应的 Whisper 语言代码,例如 --language en。
选择要渲染的候选片段数量
默认的 --n 3 会生成三个选定的精彩片段。想从较长的源视频中获得更多候选片段时可以增加该值;只需要最优结果时则可以减小该值。
原始开场足够时禁用开场白
生成的开场白是可选的。如果希望每个片段直接从选定的源视频片段开始,请添加 --no-hook:
python main.py "https://www.youtube.com/watch?v=video_id" --n 2 --no-hook平衡转录资源
可用的 Whisper 模型范围从 tiny 到 large-v3。请选择适合计算机配置的模型,并仅在具备兼容 CUDA 环境时使用 LOCAL_WHISPER_DEVICE=cuda。否则,使用 auto 可让应用自动选择设备。
避免在命令中直接填写凭据
请将服务商密钥存储在 .env 中,而不是直接放入终端命令或源代码。分叉或向仓库贡献代码时,请避免提交已填写内容的环境文件。
结语
AI Shorts Generator 提供了一套本地开源工作流,可将较长的 YouTube 视频或本地视频转换为短视频片段。配置好 Python、LLM 服务商和本地 Whisper 设置后,你可以通过命令行生成多个自动选出的片段,也可以使用基于浏览器的界面管理输入内容和渲染选项。
本项目采用 MIT 许可证。你可以通过其 GitHub 仓库报告问题、贡献修改或创建分叉。
