peiyizhi0724/ChatGpt-Image-Studio
peiyizhi0724/ChatGpt-Image-Studio207
+30/day55
GoFrom the README
ChatGpt Image Studio
ChatGpt Image Studio 是一个单服务交付的图片工作流项目:
backend/:Go 后端,负责图片接口、账号池、配置管理和静态资源托管web/:Vite + React 前端,构建后输出到web/distscripts/:本地开发、检查、构建脚本
项目当前交付方式是“一个二进制 + 一份静态前端 + 本地配置目录”:
- 前端不需要单独部署
- 后端运行时直接托管
static/ - 首次启动时自动生成
data/config.toml - 首次生成配置后即可本地运行
核心功能
- 基于
gpt-image-2的文本生图 - 参考图生成与连续编辑
- 选区涂抹式局部重绘
- 图片工作台支持会话历史、新建会话、失败重试、提示词复制与结果图下载
- 支持按比例选择分辨率与质量档位,并区分
Free/Paid可用输出档 - 兼容图片场景的
/v1/chat/completions与/v1/responses - 本地认证文件导入与账号池管理
Studio模式支持直接导入access_token,并将Token账号与认证文件账号分开管理- 支持单账号刷新、一键批量刷新额度与刷新进度展示
- 支持
CPA / NewAPI / Sub2API多来源账号同步与推送 - 请求记录页可区分官方与 CPA 链路,并记录
size / quality / promptLength - 配置管理页,可直接修改
data/config.toml
图片工作台
- 支持
生成 / 编辑 / 选区编辑三种主流程 - 支持移动端单页工作流:会话历史与工作台可分别进入,历史记录支持回到指定会话
- 结果图支持:
- 下载
- 作为后续编辑源图继续改图
- 打开选区编辑器进行局部重绘
- 用户消息支持一键复制,失败任务支持原位重试
- 历史记录支持浏览器本地存储或服务端持久化
数据存储
当前项目支持把不同类型的数据拆分存储:
- 账号池存储:
current / sqlite / redis - 配置文件存储:
file / redis - 图片会话记录:
browser / server - 图片数据:
browser / server
说明:
current表示沿用当前本地文件目录方案server表示由后端统一保存并对外提供图片 / 会话读取- 设置页支持迁移账号池、配置文件与图片会话历史
- 无盘容器场景可配合
redis保存配置与账号池
账号池与同步
- 支持导入本地认证文件
- 支持在
Studio模式下直接导入access_token Token账号不会参与CPA / NewAPI / Sub2API的同步和推送- 支持单账号额度刷新与一键批量刷新全部额度
- 批量刷新会限制并发,并在页面显示实时进度
- 支持:
- 从
CPA / NewAPI / Sub2API同步账号到本地 - 推送本地账号到
CPA / NewAPI / Sub2API
- 从
界面预览
| 预览 1 | 预览 2 | | --- | --- | | | | | | | | | |
仓库结构
.
├── backend/ Go 后端
│ ├── api/ HTTP 路由与处理器
│ ├── internal/ 配置、账号、同步、中间件、版本信息
│ ├── data/ 默认模板与本地运行数据目录
│ ├── static/ 本地开发时同步的前端静态资源(构建产物,不入库)
│ └── main.go
├── web/ Vite 前端
│ ├── src/ React 页面与组件
│ └── dist/ 构建产物(不入库)
├── scripts/ build / dev / check 脚本
└── README.md
环境要求
- Go
1.25+ - Node.js
24+ - npm
10+
获取项目
git clone
cd ChatGpt-Image-Studio
本地开发
启动开发环境
Windows:
./scripts/dev.ps1
macOS / Linux:
chmod +x ./scripts/*.sh
./scripts/dev.sh
开发脚本会自动完成:
- 安装前端依赖
- 构建
web/dist - 同步前端资源到
backend/static - 启动 Go 后端
默认地址:
- `
健康检查:
GET /health
Docker 部署
当前仓库支持通过 GitHub Container Registry 直接拉取镜像部署。
镜像发布规则:
- 推送到
main分支后,GitHub Actions 会自动更新ghcr.io/peiyizhi0724/chatgpt-image-studio:latest - 推送版本标签
v1.2.x后,会额外发布同名版本镜像标签 - Docker 镜像同时提供
linux/amd64与linux/arm64
首次启动
docker compose pull
docker compose up -d
默认会:
- 使用
ghcr.io/peiyizhi0724/chatgpt-image-studio:latest,也就是main分支当前最新镜像 - 将宿主机的
./backend/data挂载到容器内/app/data - 对外暴露
7000端口
如需固定到某个版本,可先设置:
export IMAGE_TAG=v1.2.8
docker compose pull
docker compose up -d
Windows PowerShell:
$env:IMAGE_TAG = "v1.2.8"
docker compose pull
docker compose up -d
无状态云部署(Redis 引导启动示例)
如果你的云平台是无状态容器,重启后不会保留本地磁盘,可以把:
- 账号池存到 Redi