Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

lhjandroid/chatgpt2api

Repository files navigation

ChatGPT2API

ChatGPT2API 主要是对 ChatGPT 官网相关能力进行逆向整理与封装,提供面向 ChatGPT 图片生成、图片编辑、多图组图编辑场景的 OpenAI 兼容图片 API / 代理,并集成在线画图、号池管理、多种账号导入方式与 Docker 自托管部署能力。

Warning

免责声明:

本项目涉及对 ChatGPT 官网文本生成、图片生成与图片编辑等相关接口的逆向研究,仅供个人学习、技术研究与非商业性技术交流使用。

  • 严禁将本项目用于任何商业用途、盈利性使用、批量操作、自动化滥用或规模化调用。
  • 严禁将本项目用于破坏市场秩序、恶意竞争、套利倒卖、二次售卖相关服务,以及任何违反 OpenAI 服务条款或当地法律法规的行为。
  • 严禁将本项目用于生成、传播或协助生成违法、暴力、色情、未成年人相关内容,或用于诈骗、欺诈、骚扰等非法或不当用途。
  • 使用者应自行承担全部风险,包括但不限于账号被限制、临时封禁或永久封禁以及因违规使用等所导致的法律责任。
  • 使用本项目即视为你已充分理解并同意本免责声明全部内容;如因滥用、违规或违法使用造成任何后果,均由使用者自行承担。
  • 本项目基于对 ChatGPT 官网相关能力的逆向研究实现,存在账号受限、临时封禁或永久封禁的风险。请勿使用你自己的重要账号、常用账号或高价值账号进行测试。

快速开始

已发布镜像支持 linux/amd64linux/arm64,在 x86 服务器和 Apple Silicon / ARM Linux 设备上都会自动拉取匹配架构的版本。

Docker 运行

git clone git@github.com:basketikun/chatgpt2api.git
cd chatgpt2api
docker compose up -d

启动前请先在 config.json 中设置 auth-key,也可以在 docker-compose.yml 中通过 CHATGPT2API_AUTH_KEY 覆盖。

  • Web 面板:http://localhost:3000
  • API 地址:http://localhost:3000/v1
  • 数据目录:./data

本地开发

启动后端:

git clone git@github.com:basketikun/chatgpt2api.git
cd chatgpt2api
uv sync
uv run main.py

启动前端:

cd chatgpt2api/web
bun install
bun run dev

后续更新新版本:

docker pull ghcr.io/basketikun/chatgpt2api:latest
docker-compose down
docker-compose up -d

存储后端配置

支持通过环境变量 STORAGE_BACKEND 切换存储方式:

  • json - 本地 JSON 文件(默认)
  • sqlite - 本地 SQLite 数据库
  • postgres - 外部 PostgreSQL(需配置 DATABASE_URL)
  • git - Git 私有仓库(需配置 GIT_REPO_URLGIT_TOKEN)

示例:使用 PostgreSQL

environment:
 - STORAGE_BACKEND=postgres
 - DATABASE_URL=postgresql://user:password@host:5432/dbname

功能

API 兼容能力

  • 兼容 POST /v1/images/generations 图片生成接口
  • 兼容 POST /v1/images/edits 图片编辑接口
  • 兼容面向图片场景的 POST /v1/chat/completions
  • 兼容面向图片场景的 POST /v1/responses
  • GET /v1/models 返回 gpt-image-2codex-gpt-image-2autogpt-5gpt-5-1gpt-5-2gpt-5-3gpt-5-3-minigpt-5-mini
  • 支持通过 n 返回多张生成结果
  • 支持生成可编辑 PPT 文件
  • 支持生成可编辑 PSD 文件
  • 支持 Codex 中的画图接口逆向,仅 Plus / Team / Pro 订阅可用,模型别名为 codex-gpt-image-2,如有需要可自行在其他场景映射回 gpt-image-2,用于和官网画图区分;也就意味着同一账号会同时有官网和 Codex 两份生图额度

在线画图功能

  • 内置在线画图工作台,支持生成、图片编辑与多图组图编辑
  • 支持 gpt-image-2codex-gpt-image-2autogpt-5gpt-5-1gpt-5-2gpt-5-3gpt-5-3-minigpt-5-mini 模型选择
  • 编辑模式支持参考图上传
  • 前端支持多图生成交互
  • 本地保存图片会话历史,支持回看、删除和清空
  • 支持服务端缓存图片URL
  • 图片生成进度追踪,超时后可继续等待
  • 图片懒加载与滚动位置记忆,优化大量图片场景性能

号池管理功能

  • 自动刷新账号邮箱、类型、额度和恢复时间(异步进度追踪)
  • 轮询可用账号执行图片生成与图片编辑
  • 遇到 Token 失效类错误时自动剔除无效 Token
  • 定时检查限流账号并自动刷新
  • 支持密码重新登录恢复异常账号,刷新后可自动重登
  • 支持网页端配置全局 HTTP / HTTPS / SOCKS5 / SOCKS5H 代理
  • 支持搜索、筛选、批量刷新、导出、手动编辑和清理账号
  • 支持四种导入方式:本地 CPA JSON 文件导入、远程 CPA 服务器导入、sub2api 服务器导入、access_token 导入
  • 支持在设置页配置 sub2api 服务器,筛选并批量导入其中的 OpenAI OAuth 账号

实验性 / 规划中

  • /v1/complete 文本补全与流式输出已实现,但仍在测试,目前会出现对话重复的问题,请谨慎测试使用
  • /v1/chat/completions 文本链路支持短 TTL 缓存、重复请求合并与相邻重复消息清理,可通过 chat_completion_cache 配置调整
  • 详细状态说明见:功能清单

效果展示

API

所有 AI 接口都需要请求头:

Authorization: Bearer <auth-key>
GET /v1/models

返回当前暴露的图片模型列表。

curl http://localhost:8000/v1/models \
 -H "Authorization: Bearer <auth-key>"
说明
字段 说明
返回模型 gpt-image-2codex-gpt-image-2autogpt-5gpt-5-1gpt-5-2gpt-5-3gpt-5-3-minigpt-5-mini
接入场景 可接入 Cherry Studio、New API 等上游或客户端

POST /v1/images/generations

OpenAI 兼容图片生成接口,用于文生图。

curl http://localhost:8000/v1/images/generations \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <auth-key>" \
 -d '{
 "model": "gpt-image-2",
 "prompt": "一只漂浮在太空里的猫",
 "n": 1,
 "response_format": "b64_json"
 }'
字段说明
字段 说明
model 图片模型,当前可用值以 /v1/models 返回结果为准,推荐使用 gpt-image-2
prompt 图片生成提示词
n 生成数量,当前后端限制为 1-4
response_format 当前请求模型中包含该字段,默认值为 b64_json

POST /v1/images/edits

OpenAI 兼容图片编辑接口,可上传图片文件,也可按官方 JSON 格式传入图片链接并生成编辑结果。

curl http://localhost:8000/v1/images/edits \
 -H "Authorization: Bearer <auth-key>" \
 -F "model=gpt-image-2" \
 -F "prompt=把这张图改成赛博朋克夜景风格" \
 -F "n=1" \
 -F "image=@./input.png"

也可以直接传图片 URL:

curl http://localhost:8000/v1/images/edits \
 -H "Authorization: Bearer <auth-key>" \
 -H "Content-Type: application/json" \
 -d '{
 "model": "gpt-image-2",
 "prompt": "把这张图改成赛博朋克夜景风格",
 "images": [
 {"image_url": "https://example.com/input.png"}
 ]
 }'
字段说明
字段 说明
model 图片模型, gpt-image-2
prompt 图片编辑提示词
n 生成数量,当前后端限制为 1-4
image 需要编辑的图片文件,使用 multipart/form-data 上传
images JSON 图片引用数组,支持 {"image_url": "https://..."}
image_url 表单模式下也可直接传图片链接,支持重复字段传多张图

POST /v1/chat/completions

面向图片场景的 Chat Completions 兼容接口,不是完整通用聊天代理。

curl http://localhost:8000/v1/chat/completions \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <auth-key>" \
 -d '{
 "model": "gpt-image-2",
 "messages": [
 {
 "role": "user",
 "content": "生成一张雨夜东京街头的赛博朋克猫"
 }
 ],
 "n": 1
 }'
字段说明
字段 说明
model 图片模型,默认按图片生成场景处理
messages 消息数组,需要是图片相关请求内容
n 生成数量,按当前实现解析为图片数量
stream 已实现,但仍在测试

POST /v1/responses

面向图片生成工具调用的 Responses API 兼容接口,不是完整通用 Responses API 代理。

curl http://localhost:8000/v1/responses \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <auth-key>" \
 -d '{
 "model": "gpt-5",
 "input": "生成一张未来感城市天际线图片",
 "tools": [
 {
 "type": "image_generation"
 }
 ]
 }'
字段说明
字段 说明
model 响应中会回显该模型字段,但图片生成当前仍走图片生成兼容逻辑
input 输入内容,需要能解析出图片生成提示词
tools 必须包含 image_generation 工具请求
stream 已实现,但仍在测试

社区支持

学 AI , 上 L 站:LinuxDO

Contributors

感谢所有为本项目做出贡献的开发者:

Contributors

Star History

Star History Chart

About

ChatGPT官网接口纯协议的逆向实现,支持注册机维持号池额度,支持GPT-Image-2模型、文本模型,兼容OpenAI接口协议,在线批量生图/编辑图,号池管理,支持可编辑PPT/PSD文件逆向,支持导入CPA、sub2api号池 、支持接入Cherry Studio、New Api 等软件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Python 56.5%
  • TypeScript 43.0%
  • Other 0.5%

AltStyle によって変換されたページ (->オリジナル) /