MoneyPrinterTurbo:一条 curl 批量产出短视频,把 AI 视频流水线接进自己的脚本
【免费下载链接】MoneyPrinterTurbo利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short videos from a topic or keyword with an automated AI workflow.项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo
账号承诺日更,却已经断更三天,卡住你的总是同一件事:写文案、找素材、配音、剪辑,四道环节必须人工串起来。MoneyPrinterTurbo 把这条链路整个接走:你只给一个主题,它输出一条带字幕和背景乐的 9:16 成片,整个过程还能作为一个 HTTP 调用嵌进你自己的脚本里。项目 MIT 协议开源,同时提供 Streamlit 网页(端口 8501)和 FastAPI REST 接口(端口 8080)两个入口,背后是同一条任务流水线。
一条 curl 发出 9:16 成片
体感最快的方式是直接打 API。提交任务,拿到 task_id:
curl -X POST http://localhost:8080/api/v1/videos \ -H "Content-Type: application/json" \ -d '{"video_subject":"金钱的作用","video_aspect":"9:16","voice_name":"zh-CN-XiaoxiaoNeural-Female","video_count":2,"subtitle_enabled":true}'video_count填 2,就会按随机素材顺序一次生成两条成片,挑顺眼的用。任务完成后,用返回的 task_id 轮询结果:
curl "http://localhost:8080/api/v1/tasks/<task_id>"响应里videos字段就是可播放的地址,形如http://127.0.0.1:8080/tasks/<task_id>/final-1.mp4。所有接口的在线文档可以直接点开调试:
任务的每个中间产物(文案、音频、字幕、素材、成片)都会落在storage/tasks/<task_id>/下,想复用某一段时直接取文件即可。
五个中间产物落盘:哪一步停下由你定
整条流水线在 任务编排 的start()里按顺序跑五步,每步独立写盘:
- 文案与搜索词:大模型先按主题写口播文案,再反向抽出 5 个搜素材的搜索词。素材匹配不准,多半是这一步抽的词不好,也可以跳过抽取、手动指定
video_terms。 - 配音 + 字幕:默认走免费的 Edge TTS(微软的在线语音合成,带词级时间戳),字幕直接用时间戳生成,见 语音服务。
- 素材搜索下载:素材服务 按搜索词到 Pexels 或 Pixabay 查视频,按目标分辨率过滤(9:16 对应 1080x1920)。配置多个 API Key 时请求会在 Key 之间轮询以规避限流;下载过的素材缓存在
storage/cache_videos,第二次生成同类主题基本不重复拉取。 - 拼接与转场:视频合成 把素材切成每段
video_clip_duration(默认 5 秒)的片段再拼接,支持 random 和 sequential 两种模式;video_count > 1时强制 random,每条成片的素材顺序都不同。 - 混流:旁白音量默认 1.0,背景音乐默认 0.2;音乐文件放
resource/songs,随机选或指定都行,API 也支持上传自己的 mp3。
字幕二选一:edge 快,whisper 准
| 模式 | 速度 | 质量 | 代价 |
|---|---|---|---|
| edge | 快 | 可能偶尔对不齐 | 零配置,默认推荐 |
| whisper | 慢 | 识别更可靠 | 首次下载 large-v3 模型约 3GB,CPU/GPU 均可 |
只要配音?让流水线提前停
start()带一个stop_at参数,允许在 script、terms、audio、subtitle、materials 任意一步停下。API 里"只生成字幕""只生成音频"两个轻量接口就是靠它实现的(见 接口定义)。只想把 MoneyPrinterTurbo 当配音工具用时,最耗时的素材下载环节可以整个省掉。
三行配置,网页和 API 一起跑起来
先克隆、装依赖、起服务:
git clone https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo cd MoneyPrinterTurbo cp config.example.toml config.toml pip install -r requirements.txt python main.pypython main.py把 API 服务起在 8080 端口,http://localhost:8080/docs是在线文档。想要点鼠标的网页版,另开终端执行sh webui.sh(Windows 双击 webui.bat),浏览器会自动打开 http://localhost:8501 。国内环境也可以直接docker-compose up,省掉 Python 环境和 ImageMagick 的手动安装。
config.toml 只改三行,其余保持默认
pexels_api_keys = ["你的PexelsKey"] llm_provider = "deepseek" deepseek_api_key = "你的APIKey"第一行是素材来源的 Key,多个 Key 用逗号隔开即可轮换使用;后两行是大模型,国内部署选 deepseek 或 moonshot 直连即可,无需代理。
网页上出第一条片只需四步:主题填关键词、文案区留空、尺寸选 9:16 竖屏、语音挑一个(可先试听),字幕默认 edge 打开、背景音乐保持 random,点生成后等 2~5 分钟,成片在storage/tasks/<task_id>/final-1.mp4:
并发与状态:两个开关决定部署方式
任务状态默认存在内存里(InMemoryTaskManager),重启即丢,只适合单实例本地跑。需要多实例共享状态时,把 config.toml 里enable_redis设为 true,任务切到 RedisTaskManager;并发上限由max_concurrent_tasks控制,默认 5。只是本地逐条生成视频的话,两个都保持默认。
出第一条片前最容易撞的四个错
AttributeError: 'str' object has no attribute 'choices'现象:任务提交后立刻报错退出。 原因:大模型调用失败,SDK 把错误字符串当响应返回,多半是网络问题。 解法:换deepseek/moonshot等国内直连服务商,或给 OpenAI 配openai_base_url代理。RuntimeError: No ffmpeg exe could be found现象:合成阶段直接崩。 原因:ffmpeg 自动下载失败,通常是网络受限。 解法:手动下载 ffmpeg,在 config.toml 的[app]里设ffmpeg_path指向实际路径。ImageMagick 拒绝操作
@/tmp/...现象:写字幕时报安全策略错误。 原因:发行版默认在 ImageMagick 的policy.xml里禁止读写@开头的临时文件。 解法:打开policy.xml,把pattern="@"那行的rights="none"改成rights="read|write"。OSError: [Errno 24] Too many open files现象:批量生成时偶发。 原因:合成时并发打开的文件数超过系统上限。 解法:执行ulimit -n 10240调高文件描述符上限后重跑。
Pexels Key 和 DeepSeek Key 两个备齐,跑完python main.py再发第一条 curl,五分钟内就能拿到第一条自动生成的短视频。
【免费下载链接】MoneyPrinterTurbo利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short videos from a topic or keyword with an automated AI workflow.项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考