内容
<p align="center">
<img src="https://raw.githubusercontent.com/vanszs/tiktok-viral-factory/main/docs/banner.png" alt="TikTok 病毒工厂" width="800">
</p>
<h1 align="center"> TikTok 病毒工厂</h1>
<p align="center">
<b>全自动生成、制作和发布 TikTok Shop 联盟视频的多智能体 AI 系统。</b><br>
<sub>7 个 AI 智能体 · LangGraph · Kling AI · ElevenLabs · MCP 协议</sub>
</p>
<p align="center">
<a href="https://github.com/vanszs/tiktok-viral-factory/stargazers"><img src="https://img.shields.io/github/stars/vanszs/tiktok-viral-factory?style=for-the-badge&color=FF0050&logo=github" alt="星星"></a>
<a href="https://github.com/vanszs/tiktok-viral-factory/network/members"><img src="https://img.shields.io/github/forks/vanszs/tiktok-viral-factory?style=for-the-badge&color=25F4EE&logo=github" alt="分支"></a>
<a href="https://github.com/vanszs/tiktok-viral-factory/blob/main/LICENSE"><img src="https://img.shields.io/github/license/vanszs/tiktok-viral-factory?style=for-the-badge&color=white" alt="许可证"></a>
<a href="#"><img src="https://img.shields.io/badge/Python-3.11+-blue?style=for-the-badge&logo=python&logoColor=white" alt="Python"></a>
<a href="#"><img src="https://img.shields.io/badge/LangGraph-Powered-orange?style=for-the-badge" alt="LangGraph"></a>
</p>
<p align="center">
<a href="#-快速开始"><img src="https://img.shields.io/badge/快速开始-FF0050?style=for-the-badge" alt="快速开始"></a>
<a href="#-架构"><img src="https://img.shields.io/badge/架构-25F4EE?style=for-the-badge" alt="架构"></a>
<a href="plan.md"><img src="https://img.shields.io/badge/完整计划(1200行)-white?style=for-the-badge" alt="完整计划"></a>
</p>
---
## 这是什么?
一个**全自主 AI 工作流**,运行 7 个专门的智能体共同工作:
1. **研究** 趋势 TikTok Shop 美容和个人护理产品
2. **规划** 基于 TikTok 算法信号的病毒式内容策略
3. **编写** 带有卡拉 OK 式字幕时间戳的钩子优化脚本
4. **生成** 使用 Kling AI(电影级,不是 AI 垃圾)的产品英雄镜头
5. **合成** 带有 ElevenLabs 配音、库存镜头、文本叠加层和音效的全视频
6. **优化** SEO(哈希标签、字幕、发布时间)
7. **发布** 到 TikTok 通过内容发布 API
**您提供 API 密钥。它会处理其他所有事情。**
```
输入:TikTok Shop 产品网址
输出:准备发布的 15-60 秒 TikTok 视频 + 优化的字幕 + 哈希标签
```
> [!NOTE]
> 这不是一个“输入你的提示,获取一个视频”的包装器。这是一个**多智能体系统**,具有真正的市场研究、内容策略、重复数据删除、成本跟踪和 TikTok 合规性。
---
## 为什么存在?
| 问题 | 解决方案 |
|---|---|
| 手动创建 TikTok 内容 = 2-4 小时/视频 | **100 视频/月,全自动** |
| AI 生成的视频被标记为“AI 垃圾”并被限流 | **混合管道**:库存镜头 + AI 英雄镜头 + 文本叠加层 = 类似人类 |
| 大多数 AI 视频工具生成通用、没有灵魂的内容 | **7 个专门的智能体** — 每个智能体都做好一件事 |
| TikTok Shop 联盟非常有利可图,但难以扩大规模 | **美容和个人护理** 细分市场 = #1 GMV 类别,15-25% 佣金 |
| GPU 需求阻碍了大多数开发人员 | **云 API** (Kling,ElevenLabs)— 在任何笔记本电脑上运行 |
---
## 架构
```
您(CLI)
│
┌───────────▼───────────┐
│ 监督者 │
│ (营销总监)│
│ 路由 + 监控 │
└───────────┬───────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
研究 策略 分析
市场情报 内容计划 性能
│ │
│ ┌──────┴──────┐
│ ▼ ▼
│ 脚本 SEO 智能体
│ 编写者 (哈希标签,字幕)
│ │
└───────────▼
生产者
(视频引擎)
Kling AI + 库存 +
ElevenLabs + FFmpeg
│
▼
发布者
(上传到 TikTok)
┌────────────────────────────────┐
│ MCP 桥 │
│ 客户端 ↔ 服务器 │
│ 连接外部工具 │
│ 将智能体暴露为 MCP 工具 │
└────────────────────────────────┘
```
### 7 个智能体
| 智能体 | 角色 | 工具 |
|---|---|---|
| **监督者** | 营销总监 — 路由任务,监控质量 | LLM + 路由器 |
| **研究** | 趋势产品,竞争对手分析,市场情报 | LLM + TikTok 研究 |
| **策略** | 内容日历,钩子库,发布时间表 | LLM + 趋势数据库 |
| **脚本编写者** | 15-60 秒脚本,带有字幕时间戳,钩子优化 | LLM |
| **SEO** | 哈希标签,字幕,发布时间,TikTok 算法信号 | LLM |
| **生产者** | 视频生成 — Kling AI + 库存镜头 + ElevenLabs TTS + FFmpeg | Kling,Pixabay,Pexels,ElevenLabs,FFmpeg |
| **发布者** | 上传到 TikTok,或导出用于手动上传的包 | TikTok API |
| **分析** | 跟踪浏览量,参与度,收入,优化策略 | LLM + 分析数据库 |
---
## 视频管道(混合方法)
关键见解:**纯 AI 生成的视频会被 TikTok 限流**。我们的混合方法让人感觉像人类:
```
库存镜头(60%) AI 产品镜头(20%) 叠加层(20%)
───────────────────────── ──────────────────────── ─────────────────────
Pixabay/Pexels Kling AI 2.5 Turbo Pro FFmpeg
"女人敷面膜" "精华液瓶子,慢动作 文本叠加层
"近距离护肤常规" 电影级,9:16" 字幕(卡拉 OK)
"发光皮肤效果" $0.07/秒 via fal.ai 音效(呼啸,叮)
```
### 视频输出示例
```
[0-3 秒] 钩子: 库存镜头 + 粗体文本叠加层 + 呼啸音效
[3-8 秒] 问题: 库存镜头 + 配音 "Punya masalah kulit kusam?"
[8-18 秒] 产品: Kling AI 英雄镜头 + 成分标注 + 配音
[18-25 秒] 证明: 库存 "发光皮肤" + 配音 "Coba ini..."
[25-30 秒] 呼吁行动: 文本叠加层 "链接在简介!"+ 产品图片 + 闪光音效
```
---
## 技术栈
| 层 | 技术 | 原因 |
|---|---|---|
| **框架** | LangGraph | 监督者模式,原生流媒体,持久性 |
| **LLM** | OpenAI 兼容 API | 与任何提供商(OpenAI,Groq,Together,本地)兼容 |
| **AI 视频** | Kling 2.5 Turbo Pro(fal.ai) | 最佳电商产品镜头,$0.07/秒 |
| **库存镜头** | Pixabay + Pexels | 免费,HD,100+ 请求/分钟 |
| **语音** | ElevenLabs `eleven_multilingual_v2` | 自然语音,印度尼西亚支持,字幕时间戳 |
| **视频引擎** | FFmpeg + moviepy | 文本叠加层,合成,音效,字幕 |
| **图像工具** | rembg | 产品照片的背景删除 |
| **协议** | MCP(模型上下文协议) | 连接到任何 MCP 服务器,将智能体暴露为工具 |
| **配置** | Pydantic 设置 | 类型安全,环境变量驱动 |
---
## 成本分解(100 视频/月)
| 服务 | 成本 | 备注 |
|---|---|---|
| Kling AI | ~$35/月 | 5 秒产品镜头 × 100 视频 |
| ElevenLabs | ~$10/月 | 30 秒配音 × 100 视频 |
| LLM API | ~$5/月 | OpenAI 兼容,根据提供商不同而有所不同 |
| 库存镜头 | **免费** | Pixabay + Pexels |
| **总计** | **~$50/月** | |
---
## 快速开始
### 先决条件
- Python 3.11+
- FFmpeg 已安装 (`apt install ffmpeg` / `brew install ffmpeg`)
- API 密钥:OpenAI 兼容 LLM,fal.ai(Kling),ElevenLabs,Pixabay,Pexels
### 1. 克隆和安装
```bash
git clone https://github.com/vanszs/tiktok-viral-factory.git
cd tiktok-viral-factory
pip install -r requirements.txt
```
### 2. 配置
```bash
cp .env.example .env
# 编辑 .env 文件,填写您的 API 密钥
```
### 3. 运行
```bash
# 从 TikTok Shop 产品生成单个视频
python -m workflows.faceless --product-url "https://shop.tiktok.com/..."
# 从产品列表批量生成
python -m workflows.batch --input products.json --count 10
# 剪辑管道(转换现有内容)
python -m workflows.clipping --source video.mp4
# 启动 MCP 服务器(将智能体暴露为工具)
python -m mcp_bridge.server
# 连接到外部 MCP 工具
python -m mcp_bridge.client --config mcp_servers.json
```
### 4. 输出
```
output/
├── video_20240115_143022.mp4 # 最终视频(1080x1920,9:16)
├── video_20240115_143022.srt # 字幕文件
├── metadata.json # 产品数据,SEO,时间戳
└── thumbnail.jpg # 自动生成的缩略图
```
---
## 项目结构
```
tiktok-viral-factory/
├── agents/ # 7 个 LangGraph 智能体节点
├── config/
│ ├── prompts/ # 每个智能体的系统提示
│ └── settings.py # Pydantic 设置(60+ 配置字段)
├── mcp_bridge/
│ ├── client.py # 连接到外部 MCP 服务器
│ └── server.py # 将智能体暴露为 MCP 工具
├── models/
│ └── schemas.py # 22 个 Pydantic 模型(状态,产品,视频)
├── tools/ # 图片搜索,Kling,TTS,FFmpeg,SEO
├── utils/
│ └── llm.py # OpenAI 兼容 LLM 工厂
├── workflows/ # 3 个管道:faceless,clipping,batch
├── fonts/ # 自定义 .ttf 用于文本叠加层
├── sfx/ # 音效(呼啸,叮,闪光)
├── output/ # 生成的视频 + 元数据
├── plan.md # 完整的 1200 行实施计划
└── .env.example # 所有配置字段文档
```
---
## 主要功能
- **反 AI 垃圾**:混合管道(库存 + AI 英雄镜头 + 叠加层)避免 TikTok 的 AI 内容限制
- **内容重复数据删除**:基于哈希的跟踪防止在运行过程中生成重复内容
- **成本跟踪**:每个视频和每月上限的实时预算监控(默认 $50)
- **Kling AI 备用**:如果 AI 视频失败,则自动切换到静态产品图片 + FFmpeg 缩放 + 闪光
- **智能库存搜索**:垂直搜索优先 → 智能裁剪 → 字母盒 → 扫描适用于任何方向
- **逐字幕**:ElevenLabs 时间戳启用卡拉 OK 式字幕同步
- **MCP 协议**:完整的 MCP 桥接器 — 连接到任何工具生态系统,将您的智能体暴露给其他系统
- **多 LLM**:与 OpenAI,Groq,Together AI,Ollama 或任何 OpenAI 兼容 API 配合使用
---
## 路线图
- [x] 架构和 PRD(1200+ 行)
- [x] 数据模型(22 个 Pydantic 模式)
- [x] 配置系统(60+ 类型化设置)
- [ ] MCP 桥接器(客户端 + 服务器)
- [ ] 工具层(Kling,ElevenLabs,Pixabay,FFmpeg)
- [ ] 7 个智能体的实现
- [ ] 3 个视频管道(无脸,剪辑,批量)
- [ ] TikTok 内容发布 API 集成
- [ ] 分析仪表板
- [ ] 批量模式(100 视频/月)
- [ ] 多领域支持(超出美容和个人护理)
---
## 贡献
欢迎 PR!最需要帮助的领域:
- **更多领域**:扩展到美容和个人护理以外
- **更多库存来源**:额外的免费库存视频 API
- **更好的提示**:使用现实世界的成果改进智能体系统提示
- **UI**:用于监控的简单 Web 仪表板
---
## 许可证
MIT — 您可以随心所欲地使用它。如果您从中赚钱,那就是目的。
---
<p align="center">
<b>如果这帮助您建立 TikTok 帝国,请给一个星星。</b><br>
<a href="https://github.com/vanszs/tiktok-viral-factory/stargazers">
<img src="https://img.shields.io/badge/Star_this_repo-FF0050?style=for-the-badge&logo=github" alt="星星">
</a>
</p>
<p align="center">
<sub>在印度尼西亚使用咖啡因和 LangGraph 构建</sub>
</p>