photoshot是一款开源的 AI 头像生成器,用户将自己的个人头像上传后,可借助 Stable Diffusion 模型进行训练,并生成一款拥有不同风格的个人头像。
核心功能
1、AI头像生成 通过用户上传照片训练Dreambooth模型,支持自定义训练步数(默认3000步),提供高清图像升级功能(HD版本模型)。
2、特色功能 智能提示词生成(集成OpenAI API),多风格头像生成,负向提示词过滤(自动排除低质量图像),用户账户系统(支持邮箱注册/登录)。
3、商业化功能 Stripe支付集成(支持订阅制收费),工作室管理(设置最大生成数量),邮件通知系统(通过SMTP服务)。
技术架构
| 模块 | 技术栈 |
|---|---|
| 前端框架 | Next.js |
| 数据库 | PostgreSQL |
| 云存储 | AWS S3 |
| AI模型平台 | Replicate |
| 支付系统 | Stripe |
| 身份验证 | NextAuth.js |
| ORM工具 | Prisma |
| 邮件服务 | SMTP + Maildev(开发环境) |
安装指南
1、环境准备
yarn install
docker-compose up -d # 启动PostgreSQL和邮件服务器
cp .env.example .env.local
2、关键环境变量配置
| 变量名 | 说明 |
|---|---|
| REPLICATE_API_TOKEN | Replicate平台API密钥 |
| S3_UPLOAD_*系列参数 | AWS S3存储桶配置 |
| OPENAI_API_KEY | OpenAI API密钥(提示词生成) |
| STRIPE_SECRET_KEY | Stripe支付密钥 |
| NEXT_PUBLIC_STUDIO_SHOT_AMOUNT | 最大生成数量设置(默认值) |
3、数据库迁移
yarn prisma:migrate:dev
4、启动服务
npm run dev
特色亮点
提供完整的Docker开发环境配置,集成邮件测试服务(Maildev),支持本地TLS禁用(开发调试),可配置训练参数(步数/负向提示词等),支持自定义实例标识符(推荐使用3个Unicode字符),模块化设计便于功能扩展,清晰的API接口划分,完善的类型定义支持。
