// the find
YILS-LIN/short-video-factory
一键生成产品营销与泛内容短视频,AI批量自动剪辑,高颜值跨平台桌面端工具 One click generation of product marketing and general content short videos, AI batch automatic cliping, beautiful cross platform desktop tool
An Electron desktop app (Vue 3, TypeScript, PixiJS for subtitle rendering, ffmpeg for export) that takes a text prompt and video footage, writes the copy through any OpenAI-compatible endpoint, narrates it with EdgeTTS, and batch-renders short marketing or general-content videos. It is aimed at people who make product or lifestyle shorts and want a GUI instead of a pipeline. The README does not show whether the batch path holds up on your own footage.
The effect engine is split along a sensible line: subtitles are drawn by a PixiJS page running in a dedicated render window, while the main process drives ffmpeg through its own export task manager and temp-file manager, so the browser-side drawing stays separate from the encoding pipeline. The LLM layer has its own diversity and similarity modules, which matters for batch runs where otherwise every video ships with near-identical copy. The test suite covers LLM providers, TTS, rendering and the store, and a build workflow lives in .github/workflows, so the plumbing has some regression protection.
Prebuilt better-sqlite3 binaries for Windows, macOS and Linux are committed under native/, all built against a single Electron ABI (v110). That bloats the clone and will need rebuilding on any Electron upgrade, so the checked-in binaries are a maintenance trap. The README says the app runs fully locally, but copy generation goes to whatever OpenAI-compatible endpoint you configure, and speech goes to EdgeTTS, a reverse-engineered client for Microsoft's read-aloud endpoint that can break without notice. The AI clipping in the README is, as far as the tree shows, ffmpeg with preset rules plus an LLM for text, so the marketing overstates what the AI does. Setup and architecture live on an external docs site, and the README is written in Chinese with no install steps, which makes the project hard to evaluate from the repo alone.