Skip to content

andylaumeta/TiktokVideo

Repository files navigation

🎬 TikTok 广告视频素材生成工具

一键将电商产品图片转换为专业的 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

AI 服务

  • 背景移除:Remove.bg / rembg
  • 虚拟试穿:Google Imagen 3
  • 视频生成:OpenAI Sora(主)/ Google Veo 3.1(备)

🚀 快速开始

环境要求

  • Node.js 20+
  • Python 3.11+
  • Docker & Docker Compose
  • Redis
  • FFmpeg

安装步骤

  1. 克隆项目
git clone https://github.com/your-username/tiktok-video-generator.git
cd tiktok-video-generator
  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入你的 API 密钥
  1. 使用 Docker 启动(推荐)
docker-compose up -d

服务启动后:

  1. 或手动启动

后端:

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 dev

📁 项目结构

tiktok-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          # 环境变量模板

🔧 配置说明

必需的 API 密钥

  1. Supabase

  2. Remove.bg(或使用本地 rembg)

  3. Google Cloud

    • 启用 Imagen 3 / Veo 3.1 API
    • 下载服务账号密钥
  4. OpenAI

  5. AWS S3阿里云 OSS

    • 创建存储桶
    • 获取访问密钥

📊 API 文档

启动后端后访问:http://localhost:8000/docs

主要接口:

  • POST /api/v1/upload - 上传图片并创建任务
  • GET /api/v1/tasks/{task_id} - 查询任务状态
  • GET /api/v1/templates - 获取运镜模板列表
  • GET /api/v1/videos - 获取历史视频记录

🎯 使用流程

  1. 注册/登录账号
  2. 上传产品图片(服装或鞋包)
  3. 选择运镜模板(推进、旋转、扫描等)
  4. 等待3-5分钟生成(可查看实时进度)
  5. 预览下载生成的视频
  6. 历史记录中管理所有视频

🎨 运镜模板

系统预设多种 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 服务可能产生费用,请确保了解相关定价后再使用。

About

用户上传服装、鞋包图片,生成一条用于tiktok广告投放的视频素材

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors