
gyoridavid/short-video-makerShort Video Maker 是一个开源的自动化视频创建工具,旨在通过简单的文本输入生成引人入胜的短视频内容。它整合了文本转语音、自动字幕生成、背景视频和背景音乐功能,提供了一种免费替代方案,无需依赖高性能GPU或昂贵的第三方API调用。
该项目由 AI Agents A-Z *** 频道 开源,鼓励用户访问该频道获取更多AI相关内容和教程。服务器同时暴露 MCP 和 REST 服务接口,其中MCP服务可与AI代理(如n8n)配合使用,而REST端点则为视频生成提供了更大的灵活性。
适用于需要快速创建无真人出镜短视频的场景,如社交媒体内容创作者、营销人员、教育工作者等,可用于生成*** Shorts、***、Instagram Reels等平台的视频内容。
提供三种Docker镜像,适用于不同使用场景:
tiny.en Whisper模型q4量化Kokoro模型bashdocker run -it --rm --name short-video-maker -p 3123:3123 -e LOG_LEVEL=debug -e PEXELS_API_KEY=<你的Pexels密钥> gyoridavid/short-video-maker:latest-tiny
base.en Whisper模型fp32精度Kokoro模型bashdocker run -it --rm --name short-video-maker -p 3123:3123 -e LOG_LEVEL=debug -e PEXELS_API_KEY=<你的Pexels密钥> gyoridavid/short-video-maker:latest
medium.en Whisper模型(支持GPU加速)fp32精度Kokoro模型bashdocker run -it --rm --name short-video-maker -p 3123:3123 -e LOG_LEVEL=debug -e PEXELS_API_KEY=<你的Pexels密钥> --gpus=all gyoridavid/short-video-maker:latest-cuda
yamlversion: "3" services: short-video-maker: image: gyoridavid/short-video-maker:latest-tiny environment: - LOG_LEVEL=debug - PEXELS_API_KEY=<你的Pexels密钥> ports: - "3123:3123" volumes: - ./videos:/app/data/videos # 挂载目录以保存生成的视频
如果使用n8n自托管AI starter kit,需添加网络配置:
yamlnetworks: ['demo']
| 键 | 描述 | 默认值 |
|---|---|---|
| PEXELS_API_KEY | 你的Pexels API密钥(必填) | - |
| LOG_LEVEL | 日志级别 | info |
| WHISPER_VERBOSE | 是否将Whisper输出转发到标准输出 | false |
| PORT | 服务器监听端口 | 3123 |
| 键 | 描述 | 默认值 |
|---|---|---|
| KOKORO_MODEL_PRECISION | Kokoro模型精度,可选值:fp32、fp16、q8、q4、q4f16 | 取决于镜像类型 |
| CONCURRENCY | 渲染时并行打开的浏览器标签数 | 取决于镜像类型 |
| VIDEO_CACHE_SIZE_IN_BYTES | Remotion视频帧缓存大小 | 取决于镜像类型 |
| 键 | 描述 | 默认值 |
|---|---|---|
| WHISPER_MODEL | Whisper模型类型,可选值:tiny、tiny.en、base、base.en、small、small.en、medium、medium.en、large-v1、large-v2、large-v3、large-v3-turbo | 取决于镜像类型 |
| DATA_DIR_PATH | 数据目录路径 | Docker镜像中为/app/data |
| DOCKER | 是否在Docker容器中运行 | Docker镜像中为true |
| DEV | 是否开发模式 | false |
| 键 | 描述 | 默认值 |
|---|---|---|
| paddingBack | 旁白结束后视频继续播放的时间(毫秒) | 0 |
| music | 背景音乐情绪,可通过GET /api/music-tags获取可用选项 | random |
| captionPosition | 字幕位置,可选值:top、center、bottom | bottom |
| captionBackgroundColor | 活动字幕项的背景颜色 | blue |
| voice | Kokoro语音类型,可通过GET /api/voices获取可用选项 | af_heart |
| orientation | 视频方向,可选值:portrait(竖屏)、landscape(横屏) | portrait |
bashcurl --location 'localhost:3123/health'
响应:
json{ "status": "ok" }
bashcurl --location 'localhost:3123/api/short-video' \ --header 'Content-Type: application/json' \ --data '{ "scenes": [ { "text": "你好,世界!", "searchTerms": ["河流"] } ], "config": { "paddingBack": 1500, "music": "chill" } }'
响应:
json{ "videoId": "cma9sjly700020jo25vwzfnv9" }
bashcurl --location 'localhost:3123/api/short-video/{videoId}/status'
响应:
json{ "status": "ready" // 可能的值:processing, ready, failed }
bashcurl --location 'localhost:3123/api/short-video/{videoId}' --output video.mp4
bashcurl --location 'localhost:3123/api/short-videos'
响应:
json{ "videos": [ { "id": "cma9wcwfc0000brsi60ur4lib", "status": "processing" } ] }
bashcurl --location --request DELETE 'localhost:3123/api/short-video/{videoId}'
响应:
json{ "success": true }
bashcurl --location 'localhost:3123/api/voices'
响应:
json[ "af_heart", "af_alloy", "af_aoede", // ...更多语音类型 ]
bashcurl --location 'localhost:3123/api/music-tags'
响应:
json[ "sad", "melancholic", "happy", "euphoric/high", "excited", "chill", // ...更多音乐标签 ]
MCP(模型上下文协议)服务器可与AI代理(如n8n)配合使用,提供以下工具:
create-short-video:创建短视频,LLM会自动确定配置get-video-status:检查视频生成状态服务器URL:
/mcp/sse/mcp/messages| 依赖项 | 版本 | 许可证 | 用途 |
|---|---|---|---|
| Remotion | ^4.0.286 | Remotion License | 视频合成与渲染 |
| Whisper CPP | v1.5.5 | MIT | 语音转文字(生成字幕) |
| FFmpeg | ^2.1.3 | LGPL/GPL | 音视频处理 |
| Kokoro.js | ^1.2.0 | MIT | 文本转语音生成 |
| Pexels API | N/A | Pexels Terms | 背景视频获取 |
git wget cmake ffmpeg curl make libsdl2-dev等)本项目采用MIT许可证。
欢迎提交PR,详细开发环境设置请参见CONTRIBUTING.md。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务