Back to feed

peiyizhi0724/ChatGpt-Image-Studio

peiyizhi0724/ChatGpt-Image-Studio
207
+30/day
55
Go

From the README

ChatGpt Image Studio

ChatGpt Image Studio 是一个单服务交付的图片工作流项目:

  • backend/:Go 后端,负责图片接口、账号池、配置管理和静态资源托管
  • web/:Vite + React 前端,构建后输出到 web/dist
  • scripts/:本地开发、检查、构建脚本

项目当前交付方式是“一个二进制 + 一份静态前端 + 本地配置目录”:

  • 前端不需要单独部署
  • 后端运行时直接托管 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

开发脚本会自动完成:

  1. 安装前端依赖
  2. 构建 web/dist
  3. 同步前端资源到 backend/static
  4. 启动 Go 后端

默认地址:

  • `

健康检查:

  • GET /health

Docker 部署

当前仓库支持通过 GitHub Container Registry 直接拉取镜像部署。

镜像发布规则:

  • 推送到 main 分支后,GitHub Actions 会自动更新 ghcr.io/peiyizhi0724/chatgpt-image-studio:latest
  • 推送版本标签 v1.2.x 后,会额外发布同名版本镜像标签
  • Docker 镜像同时提供 linux/amd64linux/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