gemini-youtube-automation
AI全自主YouTube视频生产管道:自动生成脚本、配音、渲染、上传,每日定时运行零人工干预
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI全自主YouTube视频生产管道:自动生成脚本、配音、渲染、上传,每日定时运行零人工干预
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
每个技术内容创作者都面临同一个困境:内容生产成本太高。写脚本、找素材、剪辑视频、上传发布——一套流程走下来,一个 10 分钟的教程视频从构思到上线可能要耗费大半天。而如果你想像一些高产出博主那样做到"日更",几乎不可能靠纯手工完成。
GitHub 上的独立开发者 ChaitanyaEswarRajeshJakki 正是带着这个痛点出发,开发了 gemini-youtube-automation 项目——一个完全零人工介入的 AI 流水线,每天自动选题、生成脚本、制作视频、配音、上传 YouTube,全程跑在 GitHub Actions 的免费 Runner 上,一分钱不用花。
项目现状(截至分析时):
频道里每一集视频,从选题到上线,没有一帧是人工剪辑的。
这个项目做的事情,用一句话概括就是:每天 7:00 AM UTC 自动跑一次 GitHub Actions,生成一期 AI 课程视频并上传到 YouTube。但拆解开来,它的每个环节都值得细说:
项目内置一个 content_plan.json 文件,记录课程大纲。每期节目按顺序挑选一个"pending"状态的课时,然后调用 Google Gemini 2.5 Flash 生成完整的多幻灯片讲解脚本——每期包含 7-8 张幻灯片,每张都有独立的文字内容和配套配音词。
更聪明的是,如果 content_plan.json 本身不存在,Gimini 会自动生成立足于开发者视角的完整课程大纲,从生成式 AI、LLM、提示工程、RAG、LangGraph、模型微调,一路覆盖到计算机视觉和 Transformer 架构——本质上是一个 AI 课程的"无限续写引擎"。
脚本生成后,每个幻灯片会通过 gTTS(Google Text-to-Speech)转化为英文配音 WAV 文件,再用 Pexels API 自动搜索与内容主题相关的免版权背景图片,最后通过 MoviePy + FFmpeg 渲染成完整的 1920×1080 横屏视频。
有意思的是,项目同时输出两种规格的视频:
两张规格从同一套脚本素材渲染出来,不需要人工二次剪辑。
渲染完成后,通过 YouTube Data API v3 将视频、标题、描述、标签、缩略图全部上传到频道。OAuth 认证支持自动刷新 Token,复用 client_secrets.json 和 credentials.json,在 GitHub Actions 的无头环境中可持续运行。
每期视频完成后,项目会主动 commit 并 push,更新 content_plan.json 中对应课时的状态为 "complete",并将新生成的 demo.gif 演示图也推送回仓库——整个循环完全闭环,无需人工干预。
每次成功运行后,GitHub Actions 会自动截取最新视频的前 12 秒,通过 FFmpeg 转为 GIF 动画存入仓库的 images/demo.gif,让 README 里的动效始终是最新的。
项目代码结构非常干净,核心只有三个模块:
| 文件 | 职责 |
|---|---|
main.py | 主入口:读取 content_plan、调度各模块、完成闭环 |
src/generator.py | 生成课程内容、生成图像、生成配音、渲染视频 |
src/uploader.py | OAuth 认证 + YouTube 上传 + 缩略图上传 |
src/generator.py 是最核心的模块,依赖关系如下:
src/uploader.py 则处理 Google OAuth 2.0 的完整生命周期:首次本地运行生成 credentials.json,之后在 GitHub Actions 中自动刷新,无需重复认证。
客观说,这个项目的部署配置是它最大的门槛。
你需要准备:
此外,系统依赖 FFmpeg 和 ImageMagick,GitHub Actions 的 workflow 里已经通过 apt-get 自动安装,本地运行需要自行安装。
没有 Dockerfile、没有 docker-compose,意味着:
因此,quick_deploy 判定为 unsupported——技术上可本地运行,但配置链路较长。
不过,一旦所有 Key 配好,整个流水线就跑在 GitHub Actions 上了,零服务器成本,零维护负担——这是它最大的吸引力。
任何项目都有硬币的另一面,这个也不例外:
1. 视频质量天花板受限于自动化素材。 用 Pexels 免版权图做背景素材,视觉效果比不了专业摄制,但对于知识类教程来说完全合格。Gemini 生成的内容偏向通用表述,垂直领域的深度可能不如人工精心打磨的脚本。
2. 语音合成(gTTS)的机械感。 gTTS 是 Google 的免费 TTS,音质偏向"机器腔",听感不如 ElevenLabs、Azure TTS 等付费方案。项目里也有用户在 issues 里讨论过切换到更高质量 TTS 的可能性。
3. 内容同质化风险。 课程大纲由 Gemini 自动续写,长期运行可能出现内容主题重复或深度不够的问题。不过因为每次运行都 commit 回 content_plan.json,人工可以随时介入调整课程计划。
4. 仅支持英文内容。 gTTS 默认英文,YouTube 频道面向英语市场。如果想生成中文或其他语言的内容,需要替换 TTS 引擎。
这个项目最有价值的地方,不是它本身产出了多少视频,而是它展示了一条完整的 AI 原生创作流水线该怎么设计:
选题(LLM) → 内容(LLM) → 素材(API) → 生产(FFmpeg) → 分发(API) → 闭环(Git) → 下一轮
所有环节都是 API 驱动,没有任何环节需要人工审批或手动操作。它把 YouTube 内容创作从"手艺活"变成了一条可版本控制、可审计、可持续运行的生产线。
这种模式对以下场景特别有价值:
如果你想复用这个项目,核心步骤只有 3 步:
# 1. Clone 并安装依赖
git clone https://github.com/ChaitanyaEswarRajeshJakki/gemini-youtube-automation
cd gemini-youtube-automation
pip install -r requirements.txt
# 2. 配置 4 个 API Key 到 GitHub Secrets
# GOOGLE_API_KEY / PEXELS_API_KEY / CLIENT_SECRET_B64 / CREDENTIALS_B64
# 3. 手动跑一次 main.py 生成 credentials.json,然后 push 回仓库
python main.py
之后只需要 Commit 修改 content_plan.json 就能触发新的视频生成,或者等待每天 7:00 AM UTC 的定时运行。
本分析基于项目源码(v1.0)及 GitHub README 撰写,数据截至 2026-07-04。