核验片源 → 下载高清素材 → 生成中文口播 → 配音 → 影子匹配 → 自动剪辑 → 字幕+BGM → 发布资料 → 三比例封面 → 验收
纯开源 · 完全免费 · 本地运行 · 中间产物留档 · 失败可续跑
如果你是从视频、文章或朋友分享过来的,欢迎先把项目 Star 起来,再按下面的说明试跑一次。AutoUP 是一个纯开源、完全免费的纪录片解说生产工具:把片源、字幕、文案、配音、画面和发布资料串成一条可复跑的流程,最终发布动作仍由你在对应平台完成。
这个项目不设会员、不锁功能,也不要求付费才能使用。代码和说明都在仓库里,任何人都可以直接克隆下来,按 SKILL.md 和 autoup/config.yaml 配好环境后运行。
如果你会一点 Python 和命令行,照着“快速开始”基本就能跑起来;遇到环境、配置或某个阶段报错,也可以先看 docs/dev-notes.md,再提 Issue。项目还在持续迭代,真实反馈比一句“挺好用”更能帮它变得可靠。
如果你暂时不会部署、不会使用,或者想按自己的业务做定制,也可以联系作者。项目本身不收费;部署指导、使用陪跑和定制开发属于作者提供的有偿服务,按你的情况一对一沟通,教会为止,不会把基础功能故意锁起来再收费。
输入一个 URL 清单:
https://www.youtube.com/watch?v=...
https://www.youtube.com/watch?v=...
运行一条命令:
python -m autoup.run --manifest urls.txt --batch 20260911-A每个通过验收的选题都会留下完整交付包:
01-大西洋海战/
├── 成片.mp4 # 1080p 成片:硬字幕 + BGM + 配音
├── 封面/ # 9:16 / 16:9 / 1:1
├── 发布/ # 国内与海外平台发布资料
├── 素材/ 字幕/ 文案/ 配音/ # 可检查、可替换、可从中间阶段重跑
├── edit_decision.json # 逐句画面匹配结果
├── state.json # 断点状态
└── 验收报告.json # 交付前检查结果
以下 Demo 都是 AutoUP 流程产出的成片:
GitHub README 会过滤仓库内 MP4 的
<video>控件,因此这里采用兼容性更好的“海报预览 + 原生播放器直链”:点击海报中央的播放按钮,即可打开并播放样片。
| 二战纪录片 | 监狱纪录片 | 自然纪录片 |
|---|---|---|
|
|
|
| 点击播放按钮观看 | 点击播放按钮观看 | 点击播放按钮观看 |
想先试试效果,可以直接点击上面的播放按钮;想自己跑起来,继续看下面的三步即可。
- 片源先核验:时长、最高分辨率、英文字幕不达标就拒单,避免下载后才发现无法生产。
- 文案以字幕为事实边界:基于原片字幕生成中文解说,降低人名、数字和事件被凭空补写的风险。
- 影子匹配而不是随机拼接:逐句将解说与原片字幕时间轴关联,再生成可审查的剪辑决策。
- 音画按实测时长对齐:每句配音单独落盘,
timing.json记录真实时长,方便断点续跑和排查。 - 一次准备三种画幅:横版、竖版、方版封面同时生成,适配不同发布场景。
- 验收报告作为门禁:分辨率、时长、音轨、字幕、配音、发布资料和封面逐项检查。
- 不是一键生成后无法修改的黑盒 SaaS。
- 不是替你绕过平台规则或自动规避版权的工具。
- 不是剪辑软件的完整替代品:复杂创意剪辑仍建议在专业软件中做最后调整。
git clone https://github.com/DaBaoAgent/AutoUP.git
cd AutoUP
# 安装 uv 后:
uv sync --all-extras --locked准备 Python 3.11+、FFmpeg/ffprobe,并确认它们可以被程序找到。仓库默认配置保持可移植;需要本机绝对路径时,把 autoup/config.example.yaml 复制为 autoup/config.local.yaml 后修改。该文件已被 .gitignore 忽略。
文案和画面匹配需要一个兼容 OpenAI 格式的模型服务。默认配置为智谱,也可以修改 llm.base_url 和 llm.model:
$env:GLM_API_KEY = "你的 API Key"不想配置 GPT-SoVITS 时,可切换为免费的 Edge TTS:
python -m autoup.run --manifest urls.txt --batch demo --set voice.engine=edge_tts# 完整流水线
python -m autoup.run --manifest urls.txt --batch 20260911-A
# 只重跑某些阶段
python -m autoup.run --batch 20260911-A --only s4,s5,s6
# 强制重跑指定阶段
python -m autoup.run --batch 20260911-A --only s8 --force
# 只处理前两个通过核验的选题
python -m autoup.run --manifest urls.txt --batch smoke --limit 2同一批次再次运行时会读取 state.json。每个阶段保存输入/配置 fingerprint 与耗时;只有状态、产物和 fingerprint 全部一致才会复用。修改上游文案、音色、模型或渲染配置后,受影响阶段会自动失效并重跑。
flowchart LR
A[URL 清单] --> B[S1 片源核验]
B -->|通过| C[S2 下载视频与字幕]
C --> D[S3 中文口播]
D --> E[S4 逐句配音]
E --> F[S5 影子匹配]
F --> G[S6 渲染成片]
G --> H[S7 发布资料]
H --> I[S8 三比例封面]
I --> J[S9 自动验收]
所有可移植默认值集中在 autoup/config.yaml,本机覆盖写入 autoup/config.local.yaml:
| 配置 | 作用 |
|---|---|
paths |
FFmpeg、GPT-SoVITS、输出目录 |
video |
成片分辨率、帧率、编码器和质量 |
voice |
GPT-SoVITS / Edge TTS、音色、语速和停顿 |
subtitle |
字体、字号、颜色和单行字数 |
script |
文案目标字数、容差和分段长度 |
download |
最低时长、最低分辨率、下载上限和代理 |
运行时可用 --set key=value 做单次覆盖,不会写回配置文件。
docs/requirements.md:产品规则与验收标准docs/research-editing-pipeline.md:剪辑策略与技术选型docs/dev-notes.md:开发记录与已知问题autoup/config.yaml:可移植默认配置\n-autoup/config.example.yaml:本机覆盖示例\n-pyproject.toml/uv.lock:依赖与可复现环境\n-tests//.github/workflows/ci.yml:测试与 CI 门禁
uv sync --all-extras --locked
uv run python -m compileall -q autoup tests
uv run ruff check autoup tests
uv run pytest -q --cov=autoup --cov-report=term-missingCI 在 Linux 执行完整 lint/test/coverage,在 Windows 执行安装和核心 smoke test。完整交付以 S9 验收和 CI 同时通过为准。
请只处理你有权使用的片源、字幕、音乐和字体,并遵守所在地法律法规以及 YouTube、抖音、快手、Bilibili、视频号、TikTok、X 等平台的服务条款。AutoUP 不提供版权授权,也不保证第三方平台内容可以被下载、改编或发布。
- 片源核验、下载、字幕和断点续跑
- AI 文案、双 TTS 引擎、逐句音频 timing
- 字幕驱动的影子匹配与 FFmpeg 渲染
- 国内/海外发布资料与三比例封面
- 交付前自动验收
- 阶段 fingerprint 断点失效与耗时 metrics\n- [x] Ruff + pytest + 70% coverage + Linux/Windows CI\n- [ ] 更丰富的本地素材输入与镜头策略
- 可视化任务面板与失败阶段重试
- 更多字幕语言和可插拔 TTS 引擎
欢迎提交 Issue、改进文档或发起 Pull Request。使用前请先阅读 SKILL.md 与项目文档。
本项目采用 MIT License。
项目免费开源,使用过程中有问题欢迎交流。请在联系时顺手说明:你的系统环境、卡在哪一步、完整报错截图或日志;这样通常能更快定位问题。
| 微信 | Telegram | |
![]() |
![]() |
![]() |
| 扫码添加 | @DABAOAGENT001 |
DabaoAgent |
不会部署、想有人带着跑通,或者有定制需求,都可以来聊。能在开源仓库里解决的问题,我会尽量公开回答;需要一对一服务的,再单独约时间和费用。
如果 AutoUP 帮你省下了剪辑时间,欢迎点一个 ⭐,也欢迎把真实问题反馈回来。
Made with ❤️ by Dabao




