AI-Youtube-Shorts-Generator:本地跑通短视频切片流程的可行方案
Open-source alternative to Opus Clip, Vidyo.ai, Klap & SubMagic. Turn long-form YouTube videos into viral 9:16 shorts using LLM highlight detection, Whisper transcription, and auto vertical cropping — free, no watermarks, no per-clip credits.
秒懂
- 它是什么?
- 这个开源项目把 Opus Clip 的流程拆成两档:默认走 MuAPI 云服务,本地模式则用 yt-dlp、faster-whisper 和 OpenCV。它适合不想按月付费的创作者,但本地模式并非完全离线。
- 适合谁用?
- 适合愿意写几行配置、能接受 API 依赖的独立创作者和小型机构。它把转录、高光排序、裁剪拆成可替换的环节,默认路径却绑死 MuAPI,所以先确认你接受这个外部依赖。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 5 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的是按条计费的痛点
Opus Clip、Vidyo.ai、Klap 这类工具按月收费,还有分钟数上限。这个项目把同样的流程搬到本地:输入 YouTube 链接,得到若干条 9:16 竖屏短视频。目标用户是创作者、机构和开发者,他们不想为每条片子付钱,也不想把原始视频上传到第三方服务器。仓库描述里明确写了免费、无水印、无按条积分,但要注意,免费指的是软件本身,API 调用仍要花钱。
两种模式,两套依赖
默认的 --mode api 把下载、转录、裁剪全部交给 MuAPI,一个密钥解决所有环节。本地模式 --mode local 则用 yt-dlp 下载,faster-whisper 做转录,ffmpeg 或 OpenCV 负责裁剪。关键区别在于,本地模式并非完全离线,高光排序这一步仍要调用 OpenAI 或 Gemini 的 API。README 的措辞是 runs offline except for the LLM call,这个限定条件很容易被忽略。转录和裁剪可以本地跑,但决定哪段值得剪的智能判断,依然握在云端模型手里。
高光排序的机制比想象中具体
项目不是简单地把视频切成几段。它给每个候选片段标注了病毒式评分、开头钩子和一句入选理由。排序依据包括情感峰值、观点输出、冲突、可引用台词、故事高潮和实用价值。这比通用的 interesting 判断要可操作。README 还提到超过 30 分钟的视频会自动分块,块与块之间有重叠,避免遗漏。重叠片段会按分数去重,防止输出两条几乎一样的短片。这套机制把黑盒的 highlight detection 变成了可解释的评分过程,但具体权重和 prompt 内容没有公开,想调优只能自己改代码。
从安装到跑通,命令是具体的
环境要求 Python 3.10 以上。克隆后创建虚拟环境,安装 requirements.txt,本地模式还要额外装 requirements-local.txt。环境变量里,API 模式只需要 MUAPI_API_KEY。本地模式要设 LLM_PROVIDER,可选 openai 或 gemini,对应填入 OPENAI_API_KEY 或 GEMINI_API_KEY。转录模型可选 tiny 到 large-v3,设备可指定 cpu 或 cuda。运行命令很直接:python main.py "视频URL" 走 API 模式,加 --mode local 走本地模式。输出文件会写在 ./output/short_01.mp4 这样的路径。整个上手过程对熟悉 Python 虚拟环境的人没有障碍。
一个真实的限制:本地裁剪不是智能的
API 模式用 MuAPI 的 auto-crop,本地模式用的是 OpenCV 人脸跟踪加运动平滑。这个差异很关键。人脸跟踪只能保证画面里有人脸时跟随,如果视频是屏幕录制、产品演示或没有人物出镜的内容,本地裁剪很可能选错焦点。README 没有说明本地模式如何处理无人脸场景。对于访谈类、Vlog 这类以说话人为主的视频,本地模式够用。但想处理多种内容类型,API 模式的 auto-crop 可能是更稳的选择。这个权衡在文档里没有被强调。
和商业工具的差异不只是价格
对比表里列出的差异,除了免费和开源,还有两点值得注意。一是输出格式不受锁定,任何宽高比和分辨率都能指定。二是支持批量处理,可以用 xargs 传一个 URL 列表。商业 SaaS 通常要求手动逐条上传。另外项目内置 --output-json,能导出完整的转录文本和每个候选高光的评分,方便接到下游自动化流程。这些是实际工作流上的差异,不是单纯的省钱替代品。不过 MuAPI 本身也是商业服务,所以这个开源项目更像是一个前端编排层,核心能力仍然依赖外部。
维护状态与许可证风险
仓库最后推送时间是 2026 年 9 月,没有归档,但没有检索到任何 release 版本。这意味着没有稳定的版本号可供依赖,API 或依赖库的变动可能随时破坏脚本。README 表格里声称 MIT 许可,但仓库的 License 字段显示 unknown,这两处信息矛盾。在作者明确补充 LICENSE 文件之前,不要假设可以随意商用或嵌入。想白标或作为 Python 库导入,先确认许可证的实际内容。另一个隐患是 README 中的克隆地址指向 SamurAIGPT 而非当前仓库名,这种不一致在复现时会带来困惑。
编辑结论
适合愿意写几行配置、能接受 API 依赖的独立创作者和小型机构。它把转录、高光排序、裁剪拆成可替换的环节,默认路径却绑死 MuAPI,所以先确认你接受这个外部依赖。不适合指望纯离线跑完整条流水线的人,因为本地模式仍需要 OpenAI 或 Gemini 的密钥。下一步建议先跑一条 5 分钟以内的视频,用 --output-json 检查候选高光的排序是否符合你的预期,再决定是否投入时间调 LLM prompt。
社区笔记