2025-5-12
Words 943Read Time 3 min
Score:85

开源短视频生成工具,支持TikTok、Instagram Reels和YouTube Shorts,结合MCP和REST API实现自动化视频制作。

TypeScript

Short Video Maker

一款开源的自动化视频创作工具,用于生成短视频内容。Short Video Maker 结合了文本转语音、自动字幕、背景视频和音乐,通过简单的文本输入即可生成引人入胜的短视频。
本仓库由 AI Agents A-Z YouTube 频道 开源。我们鼓励您访问该频道,获取更多与 AI 相关的内容和教程。

硬件要求

  • CPU:建议至少 2 核
  • RAM:至少需要 2 GB,建议 4 GB。使用 Docker 时,可以通过 CONCURRENCY 环境变量限制内存使用(见下文)
  • GPU:可选,可显著加速字幕生成(Whisper.cpp)并略微加快视频渲染速度

软件要求

使用 npx 运行时需要:
  • ffmpeg
  • build-essential、git、cmake、wget(用于构建 Whisper.cpp)

观看官方视频:如何使用 n8n 生成视频

运行项目

使用 NPX(推荐)

这是最简便的方式,支持 GPU 开箱即用:

使用 Docker

[!IMPORTANT] 为避免内存问题,我已将用于渲染的并发 Chrome 标签数限制为 1。如果您有更多内存,可以尝试为您的机器/VPS 找到最佳配置。

CPU 镜像

为了提高性能,我将 Whisper 模型设置为 base.en。该模型比 medium.en 更小更快,但准确性稍低。
在 2 个 vCPU 下,Kokoro 生成 10 秒音频大约需要 7 秒,Whisper 生成一个场景的字幕大约需要 2 秒。

NVIDIA GPU

获取帮助

加入我们的 Discord 社区,获取支持并参与讨论。

环境变量

变量
描述
PEXELS_API_KEY
用于获取背景视频的 Pexels API 密钥
PORT
API/MCP 服务器的端口号(默认:3123)
LOG_LEVEL
服务器的日志级别(默认:info,可选:trace、debug、info、warn、error)
WHISPER_VERBOSE
Whisper 的详细模式(默认:false)
CONCURRENCY
用于渲染视频的 Chrome 标签数,用于限制 Docker 容器的内存使用(默认:未定义)
VIDEO_CACHE_SIZE_IN_BYTES
帧的缓存大小,用于防止 Docker 镜像中的内存崩溃(默认:未定义)

示例

功能

  • 从文本提示生成完整的短视频
  • 文本转语音
  • 自动生成并样式化字幕
  • 通过 Pexels 搜索和选择背景视频
  • 支持按流派/情绪选择背景音乐
  • 同时作为 REST API 和 Model Context Protocol (MCP) 服务器

工作原理

Shorts Creator 接收简单的文本输入和搜索词,然后:
  1. 使用 Kokoro TTS 将文本转换为语音
  1. 通过 Whisper 生成准确的字幕
  1. 从 Pexels 查找相关背景视频
  1. 使用 Remotion 合成所有元素
  1. 渲染出带有完美同步字幕的专业级短视频

视频生成依赖项

依赖项
版本
许可证
用途
^4.0.286
视频合成与渲染
v1.5.5
MIT
语音转文本,用于生成字幕
^2.1.3
LGPL/GPL
音频/视频处理
^1.2.0
MIT
文本转语音生成
N/A
背景视频

如何贡献?

欢迎提交 PR。请参阅 CONTRIBUTING.md 文件,了解如何设置本地开发环境。

API 使用

REST API

提供以下 REST 接口:
  1. GET /api/short-video/:id - 通过 ID 获取视频,并可通过以下方式下载:curl -o output.mp4 http://localhost:3123/api/short-video/<videoId>
  1. POST /api/short-video - 创建新视频
    1. DELETE /api/short-video/:id - 通过 ID 删除视频
    1. GET /api/music-tags - 获取可用的音乐标签

    Model Context Protocol (MCP)

    服务还实现了 Model Context Protocol:
    1. GET /mcp/sse - 用于 MCP 的服务器推送事件
    1. POST /mcp/messages - 向 MCP 服务器发送消息
    可用的 MCP 工具:
    • create-short-video - 从场景列表创建视频
    • get-video-status - 检查视频创建状态

    许可证

    本项目采用 MIT License。

    致谢

    • ❤️ Remotion 用于程序化视频生成
    • ❤️ Whisper 用于语音转文本
    • ❤️ Pexels 提供视频内容
    • ❤️ FFmpeg 用于音频/视频处理
    • ❤️ Kokoro 用于文本转语音
    上一篇
    altium-mcp
    下一篇
    ai-agent-mcp