GitHub仓库
https://github.com/Z1rconium/gpt-image-linux
欢迎star、fork和pr
项目简介
基于 FastAPI 的自托管图像生成 Web 控制面板,通过对接上游 GPT Image API(支持 /v1/images/generations 和 /v1/responses 两种接口路径)提供完整的图像生成、预览和图库管理能力。前端为零构建步骤的单 HTML 文件。
核心功能
1. 图像生成
- Prompt 输入,最大 4000 字符,支持实时字数统计(超长时变色提示)
- 图像尺寸选择,三种模式:
- Auto — 让模型根据 prompt 自动推断最佳尺寸
- Ratio(比例) — 从 6 种宽高比(1:1、4:3、3:4、16:9、9:16、21:9)× 3 档分辨率(1K/2K/4K)组合选择
- Custom(自定义) — 手动输入宽高像素值,自动按 16 的倍数归一化,检查宽高比(≤3:1)和总像素数(655360–8294400)限制
- 模型选择,默认 gpt-image-2
- 质量档位 — auto / low / medium / high
- 输出格式 — PNG / JPEG / WebP
- 输出压缩(JPEG/WebP 专用,0–100,默认 100);PNG 模式下自动禁用
- 生成数量 — 1–10 张(批量生成,每张图独立保存)
- 一键重新生成 — 复用上次请求参数
2. 生成状态跟踪
- 后台任务通过 asyncio.create_task 异步执行,不阻塞请求响应
- 轮询机制(每 2 秒,最多 10 分钟),前端实时显示 Queued… → Generating… → Reconnecting…
- 最多保留 100 个任务记录,超出后自动清除最老的已完成任务
3. 预览面板
- 生成完成后在页内即时预览图片(fade-in 动画)
- 显示生成耗时(精确到毫秒)
- 下载当前图片(带时间戳命名的附件下载)
- 重新生成按钮(使用相同参数)
4. 图库(Gallery)
- 分页浏览,默认每页 9 张,支持上一页/下一页导航
- 每张卡片显示:缩略图(正方形裁剪)、时间戳、截断的 prompt
- Lightbox 大图预览 — 左侧图片,右侧显示完整 Prompt 和全部生成参数(Model / Size / Quality / Format / Compression / Quantity / API
Path) - 复制 Prompt — 卡片快捷按钮或 Lightbox 内按钮
- 下载单张图片
- 删除图库元数据(确认弹窗)
5. 设置面板(Settings Drawer)
- 配置 API Base URL
- 选择 API Path(/v1/images/generations 或 /v1/responses)
- 输入/更新 API Key
- 设置随请求保存到后端进程内存(重启丢失)
- 读取设置时 API Key 以掩码形式展示(sk••••••••xxxx)
6. 访问控制
IP 白名单(可选):
- 通过 IP_ALLOWLIST 环境变量配置 CIDR 风格白名单
- 所有非 /health 请求均经 IP 检查,未在白名单内返回 403
访问密钥(Access Key)(可选):
- 通过 ACCESS_KEY 环境变量启用
- 用户首次访问时显示解锁界面,输入密钥
- 验证通过后设置 HttpOnly Cookie(默认 3 小时会话)
- 支持 TRUST_PROXY_HEADERS,可从 X-Forwarded-For 读取真实 IP
7. 错误处理
- 顶层统一异常处理器(500 返回统一 JSON 错误)
- 网络失败自动重连(8 次重试后给出提示)
- 前端错误 Banner(可关闭)+ Toast 通知
- 上游 API 错误消息透传(区分 JSON 结构化错误和原始文本)
Docker一键安装和配置env
详见README
效果预览



@kiya #10 你这只能逆向,别无他法,同时反向是有风险的
如果是会员可以直接把codex里的生图反代出来,比逆向web要安全一些
@kiya #12 https://github.com/router-for-me/CLIProxyAPI
cpa反代,风险自己承担
感谢作者大大开源!我vibe coding重写了个Cloudflare Workers版本:

https://github.com/Xiaobin2333/gpt-image-worker
bd
bd
bd
有图生图吗
@noking #4 目前没有,后续会加,因为现在我更多是文生图
@noking #4 一些中转站也没有/images/edits的调用方式,基本都是generations
能使用gpt登录调用吗
@kiya #7 只能放入API,既然你用的是官方gpt,为什么不直接到gpt里面生成?一样的。
如果想调用API来生图需要自己反向
会考虑对接cliproxyapi吗
@Kingrz #8 主要是想国内直接用,不然一直用得富强,直接用方便,然后也能分享给朋友用