短视频工厂这个名字,起得挺准
有些视频工具想当导演。
有些工具更像工厂。
这个差别要先说清楚,不然后面很容易错怪工具。
导演要理解镜头、人物、情绪、节奏。这个动作该不该保留,那个眼神要不要多停半秒,某句台词后面是不是要留一点空,都是导演和剪辑的判断。
工厂做的是另一件事:把固定流程跑稳。
给它文案,给它素材,给它语音和字幕,它按流程合成一条视频。今天做 1 条,明天做 20 条,参数改一改还能继续跑。
YILS-LIN/short-video-factory 就是这种工具。
它的中文名叫“短视频工厂”,README 里也写得很直:一键生成产品营销与泛内容短视频,桌面端,本地运行,支持文案生成、语音合成、视频剪辑、字幕和批量处理。
这篇文章不把它包装成“AI 视频导演”。它更像一台本地短视频流水线。
这条线先画清楚。用对了,能省时间;用错了,会很别扭。

1. 它解决的是批量初稿,不是精剪成片
你可以想象一个很常见的需求。
你有一个产品,准备发一批短视频:
主题:AI 会议纪要工具
素材:办公室、会议、产品界面、人物工作状态
BGM:几首轻快背景音乐
目标:每天生成几条不同版本的产品营销视频
如果每条都找人精剪,成本高。
如果直接让 AI 生成整条视频,又容易发散。
short-video-factory 走的是中间路线:本地桌面应用里,先让大模型写文案,再用 TTS 合成语音,再从素材库抽视频片段,最后用 FFmpeg 合成。
源码里这条链路很清楚。
在 src/views/Home/index.vue 里,点击渲染后大概走四步:
GenerateText
SynthesizedSpeech
SegmentVideo
Rendering
这四步就是它的骨架。
它不像 video-use 那样先转写素材、分析口播、确认剪辑策略。它也不像产品片 Skill 那样先研究产品定位、拆参考片、做质量闸门。
它更简单,也更直接。
把生产流程固定下来,让普通用户在桌面端里跑。
2. 文案生成:接 OpenAI 兼容接口
第一步是文案。
src/views/Home/components/TextGenerate.vue 里用的是 @ai-sdk/openai。用户可以配置三个东西:
apiUrl
apiKey
modelName
这意味着它不绑死某个模型服务。只要你的服务兼容 OpenAI 接口,就有机会接进去。
代码里目前没有复杂的系统提示词。它主要把用户输入的 prompt 发给模型,然后用 streamText 把生成内容流式写到界面上。
这里的好处是灵活。
你想做产品营销,可以写产品卖点;想做治愈语录,可以写语气要求;想做知识类短视频,也可以让模型先生成一段旁白。
这里的边界也很清楚。
文案质量取决于你给的 prompt 和模型本身。这个项目没有在源码里内置一套很重的选题、脚本、爆款结构审稿流程。它把“写什么”留给用户和大模型。
所以如果你想把它用好,最好先准备一套自己的文案 prompt,而不是只写一句“帮我生成一条带货视频文案”。
3. TTS:EdgeTTS 负责语音和字幕
文案生成后,第二步是语音。
electron/tts/index.ts 里接的是 EdgeTTS。
它会把文本合成 MP3。如果打开字幕,还会生成同名 SRT 文件。
代码里还有两个细节值得看。
第一,它会用 music-metadata 解析合成后的音频时长。如果时长拿不到,或者时长是 0,就直接报错。这个检查很必要,因为后面的视频素材长度要跟着语音时长走。
第二,临时语音文件和字幕文件会放到应用的 temp 路径里,退出前清理。这是桌面端工具该做的脏活。
从 Skill 写法看,这一步给我的启发是:不要把 TTS 当成一个“生成语音”的黑盒。你至少要拿到三个结果:
语音文件
字幕文件
音频时长
没有音频时长,后面的剪辑就没法算。
4. 素材选择:它主要按时长随机抽片段
第三步是素材。
src/views/Home/components/VideoManage.vue 会让用户选择一个素材文件夹,然后只筛出 .mp4 文件。
渲染时,它会根据 TTS 时长调用 getVideoSegments。
这段逻辑很实在:
- 单段素材最小 2 秒
- 单段素材最大 15 秒
- 从素材列表里随机选
- 对每个素材随机取一个 start/end
- 一直凑到总时长覆盖语音时长
代码里没有看到按画面内容做语义理解的逻辑。
这不是批评。它本来就是工厂。
如果你的素材库已经按主题准备好,比如全是咖啡店、产品特写、办公室场景,那随机抽片段可以快速拼出一批可用初稿。
如果素材库很杂,有会议、猫、海边、代码屏幕混在一起,它也会照抽。抽出来的东西看着怪,责任不全在工具。
这个工具要求用户先把素材库管好。
5. 合成:FFmpeg 是最后的装配线
最后一步在 electron/ffmpeg/index.ts。
它用 ffmpeg-static,所以桌面端可以带着 FFmpeg 跑,不要求用户手动配置系统里的 FFmpeg。
合成时大概做这些事:
读取多个视频片段
trim 每个片段
scale 到目标尺寸
pad 补边
concat 拼接
烧录字幕
语音 loudnorm
BGM loudnorm
语音和 BGM 混音
输出 MP4
这里能看出它不是一个纯前端壳。
Electron 负责桌面能力,Vue 负责界面,TTS 和 FFmpeg 在本地执行,配置和状态存在本地。它确实把短视频生产链路做成了一个可运行的应用。
当然,它的合成策略也比较朴素。
比如素材选择主要按随机和时长,不会自动判断哪个镜头更适合哪句文案;转场效果也不是重点。GitHub issue 里有人提过“是否考虑增加简单的转场效果”,这类反馈其实很符合它的使用场景。
6. 公开反馈:大家想要的,是更聪明的素材和语音
GitHub API 在 2026 年 7 月 17 日返回的数据是:4401 个 star,641 个 fork,open issues 是 25。在中文开源视频工具里,这个关注度不低。
更值得看的,是 issue 里大家提的方向。
issue #57 提到自定义语音音色,issue #60 提到支持本地部署语音接口,issue #71 建议集成 FunASR/SenseVoice 做语音识别和字幕生成。
这些反馈说明用户不只想“有语音”,还想让语音更可控。
素材这边也有变化。PR #72 提到接入 TwelveLabs 智能剪辑,按文案语义匹配素材。这个方向正好补它原来随机抽片段的短板。
还有 issue #69 这类渲染失败问题。视频工具就是这样,用户一多,系统、素材格式、路径、编码都会冒出来。
这类反馈比“好用”“强大”更有价值。它们告诉我们:短视频工厂跑起来以后,下一步自然会走向两件事。
一是素材匹配更聪明。
二是语音和字幕更可控。
7. 怎么装、怎么用
仓库地址在这里:
https://github.com/YILS-LIN/short-video-factory
普通用户可以先看 Release,下载桌面端。
如果你想让 AI 帮你装,可以把 GitHub 地址给 AI,然后说:
帮我安装 short-video-factory。
我想先用它生成一条产品营销短视频,尽量走最简单的桌面端方式。
第一次使用时,不要直接把一堆乱素材扔进去。
你可以先准备一个小素材库:
素材文件夹:
- 10 段产品界面录屏
- 10 段办公室/会议/工作状态 B-roll
- 2 首 BGM
文案 prompt:
生成一段 40 秒以内的产品营销短视频旁白。
产品是 AI 会议纪要工具。
受众是经常开会的团队负责人。
语气自然,不要广告腔。
先跑一条,看看它生成的文案、语音、字幕、素材拼接是不是在你能接受的范围里。
再考虑批量。
这类工具不要一上来就追求“一键完美”。先让流程跑通,再一点点加素材标签、文案模板、语音风格和封面。
8. 如果自己实现一套,该怎么写
如果你想写一个“短视频工厂 Skill”,可以照这个结构来:
适用场景:
批量生成产品营销、语录、泛内容短视频初稿。
输入:
- 文案主题或产品卖点
- 素材文件夹
- BGM 文件夹
- TTS 音色
- 输出尺寸
- 输出路径
工作流:
1. 生成文案
2. 合成语音
3. 生成 SRT 字幕
4. 读取音频时长
5. 从素材库选片段
6. 用 FFmpeg trim/scale/pad/concat
7. 烧字幕
8. 混语音和 BGM
9. 输出 MP4
关键约束:
- 没有素材就先提示用户准备素材库
- 不要把随机抽片段说成“理解画面”
- 输出前检查音频时长和视频时长
- 渲染失败要把 FFmpeg 错误暴露给用户

如果要继续升级,可以加三层能力。
第一层,素材标签。
给每段素材加上 办公室、产品界面、人物工作、情绪轻松 这类标签,让文案里的句子能匹配素材。
第二层,画面理解。
接视频理解模型或 TwelveLabs 这类服务,让素材选择从随机走向语义匹配。
第三层,质量检查。
至少检查输出 MP4 是否存在、时长是否接近语音、字幕是否生成、音频是否为空。
这三层加上去以后,它才会从“能批量拼”走向“更像可控生产”。
9. 我的判断
short-video-factory 的优点和边界都在名字里。
它适合做工厂:固定流程、批量初稿、本地合成。
它不适合装导演:复杂叙事、精确镜头、情绪节奏、人物动作,这些最好还是交给更细的剪辑流程。
这并不丢人。
很多内容生产不是一上来就要精品。你先要有一条可重复的生产线,然后才谈哪一段需要人工精修。
如果你只是想用:
先准备一个干净的素材文件夹,少量素材跑通一条产品营销视频,再尝试批量。
如果你想学着写:
别把“自动生成短视频”写成一句大话。把文案、语音、字幕、素材片段、合成、检查拆成一条流水线。
你可以这样写自己的 Skill
适用场景:批量生成产品营销、语录、泛内容短视频初稿。
触发条件:用户有素材库、BGM、文案主题,想批量生成多条短视频。
输入:提示词、素材文件夹、输出尺寸、BGM 文件夹、TTS 音色、输出路径。
输出:带语音、字幕、BGM 的 MP4。
工作流:生成文案,合成语音和字幕,按语音时长抽视频片段,用 FFmpeg 合成。
关键约束:不要假装理解素材内容;随机抽片段适合批量初稿,不适合精剪成片。
可选工具:OpenAI 兼容接口、EdgeTTS、FFmpeg、SQLite、Electron、素材语义检索服务。
可改造方向:增加素材标签、画面识别、镜头去重、中文平台字幕样式和封面自动生成。


