一键将电商产品图片转换为专业的 TikTok 风格展示视频
本项目是一个基于 AI 的自动化视频生成工具,专为电商广告设计。用户只需上传一张服装或鞋包的产品图片,系统将自动生成一段 15 秒的 TikTok 风格展示视频,包含模特试穿和多种运镜效果。
- 📤 智能上传:拖拽式图片上传,支持 JPG/PNG 格式
- 🤖 AI 驱动:多阶段 AI 流水线处理
- 自动背景移除
- 虚拟试穿生成
- 运镜视频生成
- 专业后期处理
- 🎨 模板库:多种 TikTok 风格运镜模板
- 📊 实时追踪:任务进度实时显示
- 📚 历史管理:查看和管理历史生成记录
- 👤 用户系统:完整的注册登录功能
- 框架:React 18 + TypeScript
- 构建工具:Vite
- 样式:Tailwind CSS
- 状态管理:Zustand
- 数据请求:React Query + Axios
- 认证:Supabase Auth
- 框架:FastAPI (Python 3.11)
- 任务队列:Celery + Redis
- 数据库:Supabase (PostgreSQL)
- 文件存储:AWS S3 / 阿里云 OSS
- 视频处理:FFmpeg
- 背景移除:Remove.bg / rembg
- 虚拟试穿:Google Imagen 3
- 视频生成:OpenAI Sora(主)/ Google Veo 3.1(备)
- Node.js 20+
- Python 3.11+
- Docker & Docker Compose
- Redis
- FFmpeg
- 克隆项目
git clone https://github.com/your-username/tiktok-video-generator.git
cd tiktok-video-generator- 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入你的 API 密钥- 使用 Docker 启动(推荐)
docker-compose up -d服务启动后:
- 前端:http://localhost:5173
- 后端 API:http://localhost:8000
- API 文档:http://localhost:8000/docs
- Flower 监控:http://localhost:5555
- 或手动启动
后端:
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload
# 另开终端启动 Celery
celery -A app.core.celery_app worker --loglevel=info前端:
cd frontend
npm install
npm run devtiktok-video-generator/
├── frontend/ # React 前端
│ ├── src/
│ │ ├── components/ # UI 组件
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── services/ # API 服务
│ │ ├── types/ # TypeScript 类型
│ │ └── utils/ # 工具函数
│ └── package.json
├── backend/ # FastAPI 后端
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── core/ # 核心配置
│ │ ├── models/ # 数据模型
│ │ ├── services/ # 业务逻辑
│ │ └── tasks/ # Celery 任务
│ └── requirements.txt
├── database/ # 数据库脚本
├── docker-compose.yml # Docker 编排
└── .env.example # 环境变量模板
-
Supabase
- 注册:https://supabase.com
- 创建项目并获取 URL 和 Key
-
Remove.bg(或使用本地 rembg)
- 注册:https://www.remove.bg/api
- 获取 API Key
-
Google Cloud
- 启用 Imagen 3 / Veo 3.1 API
- 下载服务账号密钥
-
OpenAI
- 注册:https://platform.openai.com
- 获取 API Key(需要 Sora 访问权限)
-
AWS S3 或 阿里云 OSS
- 创建存储桶
- 获取访问密钥
启动后端后访问:http://localhost:8000/docs
主要接口:
POST /api/v1/upload- 上传图片并创建任务GET /api/v1/tasks/{task_id}- 查询任务状态GET /api/v1/templates- 获取运镜模板列表GET /api/v1/videos- 获取历史视频记录
- 注册/登录账号
- 上传产品图片(服装或鞋包)
- 选择运镜模板(推进、旋转、扫描等)
- 等待3-5分钟生成(可查看实时进度)
- 预览并下载生成的视频
- 在历史记录中管理所有视频
系统预设多种 TikTok 流行运镜风格:
- 📌 Zoom In:慢速推进特写
- 🔄 360° Rotation:环绕模特旋转
- ⬆️ Vertical Pan:从下往上扫描
- ✨ Dynamic Blur:动态模糊变焦
- 🌟 Multi-angle:多角度组合
- 所有 API 请求需要 JWT 认证
- 文件上传大小限制:10MB
- 支持格式:JPEG, PNG
- 任务超时时间:10分钟
- 自动清理临时文件
- 生成速度:平均 3-5 分钟/视频
- 成功率:≥85%
- 视频规格:1080x1920 (9:16),15秒,高清
- 并发任务:支持最多 5 个并发
# 启动后端(含热重载)
cd backend
uvicorn app.main:app --reload
# 启动前端(含热重载)
cd frontend
npm run dev# 后端测试
cd backend
pytest
# 前端测试
cd frontend
npm run test# Python 代码检查
cd backend
black .
flake8
# TypeScript 代码检查
cd frontend
npm run lint- 完成核心 AI 流水线开发
- 实现前端 UI 界面
- 添加更多运镜模板
- 支持批量生成
- 添加视频编辑功能
- 性能优化和缓存
- 完善错误处理
- 编写单元测试
- 部署到生产环境
欢迎提交 Issue 和 Pull Request!
MIT License
如有问题或建议,请联系:[your-email@example.com]
注意:本项目依赖的 AI 服务可能产生费用,请确保了解相关定价后再使用。