Skip to content

laikerr/image2api

Repository files navigation

ChatGPT2API

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

Warning

免责声明:

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

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

Important

本项目基于对 ChatGPT 官网相关能力的逆向研究实现,存在账号受限、临时封禁或永久封禁的风险。请勿使用你自己的重要账号、常用账号或高价值账号进行测试。

Caution

旧版本存在已知漏洞,请尽快升级到最新版本。公网部署时请尽量不要放置敏感信息,并自行做好访问控制与隔离。

快速开始

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

git clone git@github.com:basketikun/chatgpt2api.git
# 按需编辑 config.json 的密钥和 `refresh_account_interval_minute`
# 也可以直接通过环境变量 CHATGPT2API_AUTH_KEY 覆盖 auth-key
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 返回多张生成结果
  • 支持 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 文本补全与流式输出已实现,但仍在测试,目前会出现对话重复的问题,请谨慎测试使用
  • 详细状态说明见:功能清单

Screenshots

文生图界面:

image

编辑图:

image

Cherry Studio 中使用,支持作为绘图接口接入:

image

号池管理:

image

New Api 接入:

image

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 兼容图片编辑接口,用于上传图片并生成编辑结果。

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"
字段说明
字段 说明
model 图片模型, gpt-image-2
prompt 图片编辑提示词
n 生成数量,当前后端限制为 1-4
image 需要编辑的图片文件,使用 multipart/form-data 上传

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

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors