gpt2api

6个月前发布 280 00

gpt2api 是一个自建的 ChatGPT → OpenAI 兼容网关,把 chatgpt.com Plus / Team / Codex 账号的能力,以 完全兼容 OpenAI API 的形式(/v1/chat/completions / /v1/images/generations)开放给下游调用方,同时配套一整套 SaaS 运营后...

所在地:
中国
收录时间:
2026-04-23

gpt2api 是一个功能强大的自托管网关,它通过逆向 chatgpt.com 的协议,将 ChatGPT Plus / Team / Codex 账号的能力转化为完全兼容 OpenAI API 的服务。它不仅支持文本对话,更重点优化了 GPT Image / DALL·E 3 图像生成能力,提供 IMG2 终稿直出、本地 4K 高清放大、批量出图及高并发调度等功能,并配套完整的 SaaS 运营后台(积分计费、账号池管理、审计日志等)。

gpt2api

核心亮点

1. 极致的图像生成体验

  • IMG2 终稿直出:完美适配 ChatGPT 最新的 IMG2 管线,速度优先,SSE 流式接收,支持单次调用返回多张高清图。
  • 本地 4K/2K 高清放大:内置 Catmull-Rom 插值算法,在网关层本地将原图放大至 2K (2560px) 或 4K (3840px),无需调用外部超分服务,毫秒级缓存命中。
  • 批量出图与聚合:支持单请求生成多张图片 (n > 1),自动聚合 IMG2 的多轮输出,或通过异步任务池处理成千上万条 Prompt。
  • 图生图/多图参考:支持 reference_images 字段,实现风格迁移或主体保持。

2. 高并发与稳定调度

  • 智能账号池管理:支持 JSON / AT / RT / ST 四种格式批量导入账号,自动刷新会话,探测额度,风控熔断。
  • 代理强绑定:每个账号绑定独立 HTTP/SOCKS5 代理,避免 IP 指纹混用导致的风控连坐。
  • 分布式锁调度:基于 Redis 实现串行 Lease 机制,严格控制单账号最小间隔 (min_interval_sec),平滑风控曲线。
  • 自动熔断与恢复:遭遇 429 或警告页时自动冷却账号,冷却结束后自动复活,无需人工干预。

3. 完整的 SaaS 运营后台

  • 多租户与计费:支持独立于上游账号的下游 sk- Key,具备 RPM/TPM 限流、日配额、IP 白名单。
  • 积分钱包系统:预扣结算,支持分组倍率(VIP/内部/渠道),集成易支付 (EPay) 实现自动充值。
  • 全方位监控:实时用量统计、成功率分析、审计日志、数据一键备份/恢复。
  • 在线 Playground:内置文生图/图生图测试界面,支持全屏预览、HMAC 签名图片代理(绕过防盗链)。

4. 安全与隐私

  • 敏感信息加密:使用 AES-256-GCM 加密存储上游账号的 Access Token/Cookies。
  • TLS 指纹伪装:集成 refraction-networking/utls,模拟真实 Edge 浏览器指纹,规避 JA3 检测。
  • 图片防盗链:所有图片 URL 经过 HMAC 签名与过期时间验证,保护上游资源不被滥用。

技术栈

  • 后端: Go 1.22+, Gin, sqlx, Redis, MySQL, utls (TLS Fingerprinting)
  • 前端: Vue 3, Vite, TypeScript, Element Plus
  • 部署: Docker Compose (MySQL + Redis + Server)

快速开始 (Docker 部署)

⚠️ 注意:由于国内网络环境及构建复杂性,本项目采用宿主预编译 + 容器运行架构。请勿直接运行 docker compose up --build,需先执行预编译脚本。

1. 准备环境

宿主机需安装:Go 1.22+, Node.js 18+, Docker, Docker Compose。

2. 克隆与预编译

git clone https://github.com/432539/gpt2api.git
cd gpt2api

# Linux/macOS
bash deploy/build-local.sh

# Windows PowerShell
powershell -NoProfile -File deploy\build-local.ps1

此步骤会产出 deploy/bin/gpt2api, deploy/bin/goose 及 web/dist/。

3. 配置环境变量

cd deploy
cp .env.example .env

必改项:

  • JWT_SECRET: >=32位随机串
  • CRYPTO_AES_KEY: 严格64位 hex (32字节)
  • MYSQL_ROOT_PASSWORD & MYSQL_PASSWORD: 强密码

快捷生成命令:

openssl rand -hex 32   # 生成 CRYPTO_AES_KEY
openssl rand -base64 48 | tr -d '=/+' | cut -c1-48   # 生成 JWT_SECRET

4. 启动服务

docker compose build server    # 首次或代码更新后执行
docker compose up -d
docker compose logs -f server  # 观察日志

5. 初始化管理员

  • 无默认账号。访问 http://<IP>:8080/register 注册第一个账号,该账号自动成为 Admin。
  • 登录后建议关闭“允许开放注册”。

使用示例

API 调用 (兼容 OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    base_url="https://your-domain.com/v1",
    api_key="sk-xxx", # 你在 gpt2api 后台创建的 Key
)

# 文生图 + 4K 放大
resp = client.images.generate(
    model="gpt-image-2",
    prompt="a cute orange cat playing with yarn, studio ghibli style",
    n=1,
    size="1792x1024",
    extra_body={"upscale": "4k"} # 扩展字段,触发本地放大
)

print(resp.data[0].url) 
# 返回带签名的代理地址,如: https://your-domain.com/p/img/task_id/0?exp=...&sig=...

cURL 示例

curl https://your-domain.com/v1/images/generations \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "cyberpunk alley in the rain",
    "n": 2,
    "size": "1792x1024",
    "upscale": "2k"
  }'

管理后台功能概览

模块功能描述
个人中心积分余额、请求趋势、API Keys 管理、在线 Playground、账单充值
用户管理用户 CRUD、角色分配、手动调账、分组倍率设置
账号池批量导入 ChatGPT 账号 (JSON/AT/RT/ST)、健康探测、熔断状态查看
代理管理HTTP/SOCKS5 代理添加、健康分自动探测、账号-代理绑定
模型配置映射上游模型 Slug、设置每张图/每 Token 的积分消耗
用量统计全站成功率、Token 消耗、积分收入可视化图表
系统运维审计日志、MySQL 一键备份/恢复、全局参数调整

注意事项

  1. 账号风控:请合理设置 min_interval_sec (建议 60s+),避免高频调用导致上游账号被封。
  2. 4K 放大原理:本地放大使用的是传统插值算法 (Catmull-Rom),不是 AI 超分。它能提升分辨率和平滑度,但不会补充新的纹理细节。如需 AI 超分,需自行集成 Real-ESRGAN 等模型。
  3. 网络要求:运行服务器必须能直连 chatgpt.com 或配置高质量代理,否则无法完成逆向协议握手。
  4. 合规性:本项目仅供技术研究与学习使用,请遵守相关服务条款及法律法规。

相关导航