首页/多媒体处理/short-video-maker

short-video-maker

查看源码
2025-5-12
Words 981Read Time 3 min
Score:85

基于MCP协议的短视频生成工具,支持从文本自动生成TikTok、Instagram Reels和YouTube Shorts视频。

TypeScript

短视频生成器

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

硬件要求

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

软件要求

使用 npx 运行时需要:
  • ffmpeg
  • build-essentialgitcmakewget 用于构建 Whisper.cpp

观看官方视频,了解如何使用 n8n 生成视频

运行项目

使用 NPX(推荐)

这是最简单的运行方式,支持 GPU:

使用 Docker

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

CPU 镜像

为了提高性能,我为 Docker 镜像设置了 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,可选:tracedebuginfowarnerror
WHISPER_VERBOSE
Whisper 的详细模式(默认:false
CONCURRENCY
用于渲染视频的 Chrome 标签页数量,用于限制 Docker 容器中的内存使用(默认:未定义)
VIDEO_CACHE_SIZE_IN_BYTES
帧的缓存,用于防止 Docker 镜像中的内存相关崩溃(默认:未定义)

示例

功能

  • 从文本提示生成完整的短视频
  • 文本转语音
  • 自动生成字幕并设置样式
  • 通过 Pexels 搜索和选择背景视频
  • 根据风格/情绪选择背景音乐
  • 作为 REST API 和模型上下文协议(MCP)服务器运行

工作原理

短视频生成器接收简单的文本输入和搜索词,然后:
  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 获取视频,也可以通过以下方式下载:
    1. POST /api/short-video - 创建新视频
      1. DELETE /api/short-video/:id - 通过 ID 删除视频
      1. GET /api/music-tags - 获取可用的音乐标签

      模型上下文协议(MCP)

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

      许可证

      本项目基于 MIT 许可证。

      致谢

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