photoshot

上传几张照片,AI 帮你生成百变风格头像

开源 🏷️定价信息待确认 ✅ 目前可打开 图像生成 🍴 复刻 472 🐛 待处理 12 👀 关注 27
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 3876
维护状态 低维护
是否开源 开源
定价模式 🏷️定价信息待确认

项目预览

photoshot 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类图像生成
开发团队premieroctet
定价模式🏷️定价信息待确认
价格说明定价信息待确认
访问状态✅ 目前可打开
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型ai,dreambooth,nextjs,reactjs,stable-diffusion,typescript
GitHub 星标★ 3876
上线时间2022-12-05 00:00:00
代码更新2024-12-07
仓库体积36.6 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数6

项目介绍

Photoshot 是一个开源的 AI 头像生成器 Web 应用,基于 Next.js、React 和 TypeScript 构建,利用 Stable Diffusion 和 Dreambooth 技术,让用户上传少量个人照片即可训练专属模型,生成多种风格的高质量头像。它解决了传统头像制作门槛高、定制化弱的问题,提供从照片上传、模型训练到头像生成与下载的完整流程。核心能力包括:个性化模型微调、多样化风格模板、简单易用的界面,以及自托管部署能力。项目代码结构清晰,适合作为 AI 应用开发的参考,也方便开发者二次开发或部署私有服务。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3876

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 7 步

环境要求

  • Node.js 环境与 yarn 包管理器(安装依赖用 yarn install)
  • Docker 与 docker-compose(用于启动本地 PostgreSQL 和 maildev 邮件服务)
  • Replicate 账号及 API Token(用于运行训练和生成模型)
  • AWS S3 存储桶(用于存放用户上传的照片)
  • Stripe 与 OpenAI 账号密钥(支付与提示词向导功能)

安装与启动步骤

  1. 1安装依赖

    在项目根目录执行 yarn install 安装 Next.js、Chakra UI、Prisma 等全部依赖。

    yarn install
  2. 2启动本地服务

    用 docker-compose 启动本地 PostgreSQL 数据库和 maildev 邮件服务,maildev 可在 http://localhost:1080 查看。

    docker-compose up -d
  3. 3创建环境变量文件

    把示例配置复制为 .env.local,后续所有密钥都填在这个文件里。

    cp .env.example .env.local
  4. 4填写环境变量

    按 README 表格逐项填写 DATABASE_URL、NEXTAUTH_URL、S3、Replicate、Stripe、OpenAI 等密钥。

  5. 5关闭 TLS 校验

    如果使用自带的 docker-compose 数据库,需要在 .env.local 中追加 NODE_TLS_REJECT_UNAUTHORIZED = "0",否则连接会失败。

    NODE_TLS_REJECT_UNAUTHORIZED = "0"
  6. 6执行数据库迁移

    运行 Prisma 迁移,在本地 PostgreSQL 中建好所需数据表。

    yarn prisma:migrate:dev
  7. 7启动开发服务器

    启动 Next.js 开发服务器,浏览器访问 NEXTAUTH_URL 配置的地址即可打开应用。

    npm run dev

关键配置

配置项必填说明示例
DATABASE_URL是PostgreSQL 连接串,使用自带 docker 环境时固定如下值。postgresql://photoshot:photoshot@localhost:5432/photoshot
NEXTAUTH_URL是Next.js 应用地址,NextAuth.js 认证使用。http://localhost:3000
REPLICATE_API_TOKEN是Replicate 平台 API Token,用于训练与生成模型。r8_xxxxxxxxxxxxxxxxxxxx
REPLICATE_USERNAME是你 Replicate 账号对应的用户名。your-replicate-username
SECRET是NextAuth.js 认证用的随机字符串。a-random-secret-string
NEXT_PUBLIC_REPLICATE_INSTANCE_TOKEN是训练数据的唯一标识,建议为三个无空格的字符。cjw

如何确认成功

yarn prisma:migrate:dev 无报错,npm run dev 启动成功后浏览器打开 NEXTAUTH_URL 指向的地址能看到首页;maildev 可在 http://localhost:1080 访问。

常见问题

Q:为什么必须设置 NODE_TLS_REJECT_UNAUTHORIZED?

A:README 指出使用项目自带的 docker-compose 数据库时,需要禁用 TLS 校验,在 .env.local 中加入 NODE_TLS_REJECT_UNAUTHORIZED = "0",否则连接数据库会失败。

Q:必须自己准备 AWS S3 吗?

A:是。S3_UPLOAD_KEY、S3_UPLOAD_SECRET、S3_UPLOAD_BUCKET、S3_UPLOAD_REGION 用于存放用户上传的照片,不配置则上传功能不可用。

Q:REPLICATE_MAX_TRAIN_STEPS 需要改吗?

A:不填则默认 3000 步,这是 Dreambooth 模型的最大训练步数,调小可节省费用但可能影响生成质量。

Q:NEXT_PUBLIC_REPLICATE_INSTANCE_TOKEN 怎么填?

A:填任意字符串即可作为训练数据标识,README 建议使用不含空格的三字符标识,例如 cjw,效果最好。

Q:Stripe 和 OpenAI 是必需的吗?

A:STRIPE_SECRET_KEY 等用于付费工作室功能,OPENAI_API_KEY 用于提示词向导,只做本地体验时可不填,但对应功能会不可用。

注意事项

  • README 只给出开发模式启动方式,未提供生产构建与部署命令,正式上线需自行参考 Next.js 部署方案。
  • 数据库、邮件服务依赖 docker-compose,请先确认 Docker 服务已启动再执行后续步骤。
  • 涉及 Replicate、Stripe、OpenAI、S3 的多项密钥,建议不要把 .env.local 提交到 Git 仓库。
  • 项目依赖第三方云服务(Replicate、Stripe、OpenAI、AWS S3),完整功能需要相应账号与额度。

核心亮点

  • 基于 Dreambooth 实现个性化模型微调,头像风格还原度高
  • 全栈 TypeScript + Next.js,代码结构清晰,易于二次开发
  • 提供完整 Web 应用,含前端界面和后端训练流程,开箱即用

不足之处

  • 依赖外部 AI 服务(如 Replicate),自部署需自行配置 API 密钥
  • 文档和社区支持相对薄弱,高级定制需深入源码

适用场景

  • 个人用户快速生成社交媒体头像
  • 开发者学习 AI 应用全栈开发
  • 企业搭建内部头像生成服务

替代项目

Avatarify、This Person Does Not Exist、Stable Diffusion WebUI

上一篇:stable-dreamfusion

下一篇:zero123

同类项目推荐

digital-human-koubo 开源

一张照片,自动生成带包装的口播数字人视频

AI digital-human talking-head videos from one photo: Renoise MCP generation + 5 edit···

★ 1906 2026-10-30
ASH 开源

用高斯泼溅技术,实现高效逼真的可驱动数字人渲染。

The Training and Demo code for: Ash: Animatable gaussian splats for efficient and ph···

★ 138 2026-08-09
sem2nerf 开源

一张语义图,直接生成可多视角观看的三维场景

[ECCV'22] Sem2NeRF: Converting Single-View Semantic Masks to NeRFs

★ 127 2026-08-09
Meow-Generator 开源

一键生成独一无二的 3D 猫咪,萌翻你的项目

A playful procedural 3D kitten generator built with Three.js.

★ 123 2026-08-09
3d-model-anything 开源

手机扫房间,浏览器里编辑三维模型

Capture iPhone LiDAR and photos, reconstruct editable Three.js rooms, and explore th···

★ 2920 2026-10-26
ComfyUI-Hunyuan3d-2-1 开源

在ComfyUI里,一张图秒变带PBR材质的3D模型

ComfyUI Wrapper for Hunyuan3D v2.1 - From Images to High-Fidelity 3D Assets with Pro···

★ 397 2026-08-09
easi-tex 开源

单张图秒变 3D 纹理,边缘细节不糊掉

[SIGGRAPH 2024] "EASI-Tex: Edge-Aware Mesh Texturing from Single Image", ACM Transac···

★ 128 2026-08-09
banana-levelup 开源

输入文字,秒变可 360° 查看的 AI 角色头像

An interactive web demo for AI avatar creation — generate characters from a text pr···

★ 53 2026-08-09
Matrix-3D 开源

一张图或一句话,生成可漫游的 3D 全景场景

Generate large-scale explorable 3D scenes with high-quality panorama videos from a s···

★ 851 2026-08-09