photoshot

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

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

开源 unknown 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3874
维护状态 低维护
是否开源 是
定价模式 unknown

项目数据

分类图像生成
开发团队premieroctet
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型ai,dreambooth,nextjs,reactjs,stable-diffusion,typescript
GitHub 星标★ 3874
30天Star增速
HF 下载量
上线时间2022-12-05 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:进阶 约 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

项目介绍

photoshot 是数字人3D领域的开源项目,由 premieroctet 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(3,874)位列前 30%,在数字人3D分类的 272 个项目里位列前 6%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。从国内网络环境看,可直接访问。

它主要面向的使用场景是:个人用户快速生成社交媒体头像。同类可对比的替代方案包括 Avatarify、This Person Does Not Exist、Stable Diffusion WebUI。

上一篇:stable-dreamfusion

下一篇:zero123

同类项目推荐

A3D 开源

在 three.js 里直接调用 AI 生成纹理和素材,边建模边生成

3D x AI hybrid editor, built with three.js

★ 129 2026-08-09
cube 开源

用一句话生成 3D 模型,在 Roblox 里快速落地 AI 创作

Roblox Foundation Model for 3D Intelligence

★ 1254 2026-08-09
AG3D 开源

用2D图片直接生成3D虚拟人,告别昂贵扫描

Official code release for ICCV2023 paper AG3D: Learning to Generate 3D Avatars from ···

★ 272 2026-08-09
GameFactory-3A 开源

一条命令生成 3A 游戏资产,从模型到视频全自动

A comprehensive open-source 3A game-generation skill and asset framework.

★ 798 2026-08-21