1- # chatgpt2api
1+ < h1 align = " center " >ChatGPT2API</ h1 >
22
3- 本项目仅供学习与研究交流。请务必遵循 OpenAI 的使用条款及当地法律法规,不得用于非法用途!
43
5- ChatGPT 图片生成代理与账号池管理面板,提供账号维护、额度刷新和图片生成接口。
4+ <p align =" center " >ChatGPT2API 主要是对 ChatGPT 官网相关能力进行逆向整理与封装,提供面向 ChatGPT 图片生成、图片编辑、多图组图编辑场景的 OpenAI 兼容图片 API / 代理,并集成在线画图、号池管理、多种账号导入方式与 Docker 自托管部署能力。</p >
5+
6+ > [ !WARNING]
7+ > 免责声明:
8+ >
9+ > 本项目涉及对 ChatGPT 官网文本生成、图片生成与图片编辑等相关接口的逆向研究,仅供个人学习、技术研究与非商业性技术交流使用。
10+ >
11+ > - 严禁将本项目用于任何商业用途、盈利性使用、批量操作、自动化滥用或规模化调用。
12+ > - 严禁将本项目用于破坏市场秩序、恶意竞争、套利倒卖、二次售卖相关服务,以及任何违反 OpenAI 服务条款或当地法律法规的行为。
13+ > - 严禁将本项目用于生成、传播或协助生成违法、暴力、色情、未成年人相关内容,或用于诈骗、欺诈、骚扰等非法或不当用途。
14+ > - 使用者应自行承担全部风险,包括但不限于账号被限制、临时封禁或永久封禁以及因违规使用等所导致的法律责任。
15+ > - 使用本项目即视为你已充分理解并同意本免责声明全部内容;如因滥用、违规或违法使用造成任何后果,均由使用者自行承担。
16+
17+ > [ !IMPORTANT]
18+ > 本项目基于对 ChatGPT 官网相关能力的逆向研究实现,存在账号受限、临时封禁或永久封禁的风险。请勿使用你自己的重要账号、常用账号或高价值账号进行测试。
19+
20+ ## 快速开始
21+
22+ 已发布镜像支持 ` linux/amd64 ` 与 ` linux/arm64 ` ,在 x86 服务器和 Apple Silicon / ARM Linux 设备上都会自动拉取匹配架构的版本。
23+
24+ ``` bash
25+ git clone git@github.com:basketikun/chatgpt2api.git
26+ # 按需编辑 config.json 的密钥和 `refresh_account_interval_minute`
27+ # 也可以直接通过环境变量 CHATGPT2API_AUTH_KEY 覆盖 auth-key
28+ docker compose up -d
29+ ```
630
731## 功能
832
9- - 兼容 OpenAI ` Chat Completions ` 图片响应
10- - 兼容 OpenAI ` Responses API ` 图片生成接口
11- - 支持导入 CPA 格式文件
12- - 支持多种方式导入 ` access_token `
13- - 自动刷新账号邮箱、类型、图片额度、恢复时间
14- - 轮询可用账号进行图片生成
15- - 失效 Token 自动剔除
16- - 提供 Web 后台管理账号和生成图片
17- - 支持文生图、编辑图
33+ ### API 兼容能力
34+
35+ - 兼容 ` POST /v1/images/generations ` 图片生成接口
36+ - 兼容 ` POST /v1/images/edits ` 图片编辑接口
37+ - 兼容面向图片场景的 ` POST /v1/chat/completions `
38+ - 兼容面向图片场景的 ` POST /v1/responses `
39+ - ` GET /v1/models ` 返回 ` gpt-image-1 ` 与 ` gpt-image-2 `
40+ - 支持通过 ` n ` 返回多张生成结果
41+
42+ ### 在线画图功能
43+
44+ - 内置在线画图工作台,支持生成、图片编辑与多图组图编辑
45+ - 支持 ` gpt-image-1 ` / ` gpt-image-2 ` 模型选择
46+ - 编辑模式支持参考图上传
47+ - 前端支持多图生成交互
48+ - 本地保存图片会话历史,支持回看、删除和清空
1849
19- > gpt-image-2灰度中,不保证完全是gpt-image-2
50+ ### 号池管理功能
51+
52+ - 自动刷新账号邮箱、类型、额度和恢复时间
53+ - 轮询可用账号执行图片生成与图片编辑
54+ - 遇到 Token 失效类错误时自动剔除无效 Token
55+ - 定时检查限流账号并自动刷新
56+ - 支持搜索、筛选、批量刷新、导出、手动编辑和清理账号
57+ - 支持三种导入方式:本地 CPA JSON 文件导入、远程 CPA 服务器导入、` access_token ` 导入
58+
59+ ### 实验性 / 规划中
60+
61+ - ` gpt-image-2 ` 仍在灰度中,部分能力仍在完善
62+ - 详细状态说明见:[ 功能清单] ( ./docs/feature-status.en.md )
63+
64+ ## Screenshots
2065
2166文生图界面:
2267
@@ -26,62 +71,194 @@ ChatGPT 图片生成代理与账号池管理面板,提供账号维护、额度
2671
2772![ image] ( assets/image_edit.png )
2873
29-
30- Chery Studio 中使用:
74+ Cherry Studio 中使用:
3175
3276![ image] ( assets/chery_studio.png )
3377
3478号池管理:
3579
3680![ image] ( assets/account_pool.png )
3781
38- ## 接口
82+ ## API
3983
40- 所有接口都需要请求头 :
84+ 所有 AI 接口都需要请求头 :
4185
4286``` http
4387Authorization: Bearer <auth-key>
4488```
4589
46- ### 图片生成
90+ <details >
91+ <summary ><code >GET /v1/models</code ></summary >
92+ <br >
4793
48- ``` http
49- POST /v1/images/generations
94+ 返回当前暴露的图片模型列表。
95+
96+ ``` bash
97+ curl http://localhost:8000/v1/models \
98+ -H " Authorization: Bearer <auth-key>"
5099```
51100
52- ``` http
53- POST /v1/chat/completions
101+ <details >
102+ <summary >说明</summary >
103+ <br >
104+
105+ | 字段 | 说明 |
106+ | :-----| :-----------------------------------------|
107+ | 返回模型 | 当前返回 ` gpt-image-1 ` 、` gpt-image-2 ` |
108+ | 注意事项 | ` gpt-image-2 ` 当前仍处于灰度 / 实验状态,不保证实际效果完全稳定 |
109+
110+ <br >
111+ </details >
112+ </details >
113+
114+ <details >
115+ <summary ><code >POST /v1/images/generations</code ></summary >
116+ <br >
117+
118+ OpenAI 兼容图片生成接口,用于文生图。
119+
120+ ``` bash
121+ curl http://localhost:8000/v1/images/generations \
122+ -H " Content-Type: application/json" \
123+ -H " Authorization: Bearer <auth-key>" \
124+ -d ' {
125+ "model": "gpt-image-1",
126+ "prompt": "一只漂浮在太空里的猫",
127+ "n": 1,
128+ "response_format": "b64_json"
129+ }'
54130```
55131
56- ``` http
57- POST /v1/responses
132+ <details >
133+ <summary >字段说明</summary >
134+ <br >
135+
136+ | 字段 | 说明 |
137+ | :------------------| :---------------------------------------------------|
138+ | ` model ` | 图片模型,当前可用值以 ` /v1/models ` 返回结果为准,推荐使用 ` gpt-image-1 ` |
139+ | ` prompt ` | 图片生成提示词 |
140+ | ` n ` | 生成数量,当前后端限制为 ` 1-4 ` |
141+ | ` response_format ` | 当前请求模型中包含该字段,默认值为 ` b64_json ` |
142+
143+ <br >
144+ </details >
145+ </details >
146+
147+ <details >
148+ <summary ><code >POST /v1/images/edits</code ></summary >
149+ <br >
150+
151+ OpenAI 兼容图片编辑接口,用于上传图片并生成编辑结果。
152+
153+ ``` bash
154+ curl http://localhost:8000/v1/images/edits \
155+ -H " Authorization: Bearer <auth-key>" \
156+ -F " model=gpt-image-1" \
157+ -F " prompt=把这张图改成赛博朋克夜景风格" \
158+ -F " n=1" \
159+ -F " image=@./input.png"
58160```
59161
60- 请求体示例:
162+ <details >
163+ <summary >字段说明</summary >
164+ <br >
165+
166+ | 字段 | 说明 |
167+ | :---------| :------------------------------------|
168+ | ` model ` | 图片模型,推荐使用 ` gpt-image-1 ` |
169+ | ` prompt ` | 图片编辑提示词 |
170+ | ` n ` | 生成数量,当前后端限制为 ` 1-4 ` |
171+ | ` image ` | 需要编辑的图片文件,使用 multipart/form-data 上传 |
172+
173+ <br >
174+ </details >
175+ </details >
176+
177+ <details >
178+ <summary ><code >POST /v1/chat/completions</code ></summary >
179+ <br >
61180
62- ``` json
63- {
64- "prompt" : " a cyberpunk cat walking in rainy Tokyo street" ,
65- "model" : " gpt-image-1" ,
66- "n" : 1 ,
67- "response_format" : " b64_json"
68- }
181+ 面向图片场景的 Chat Completions 兼容接口,不是完整通用聊天代理。
182+
183+ ``` bash
184+ curl http://localhost:8000/v1/chat/completions \
185+ -H " Content-Type: application/json" \
186+ -H " Authorization: Bearer <auth-key>" \
187+ -d ' {
188+ "model": "gpt-image-1",
189+ "messages": [
190+ {
191+ "role": "user",
192+ "content": "生成一张雨夜东京街头的赛博朋克猫"
193+ }
194+ ],
195+ "n": 1
196+ }'
69197```
70198
71- ## 部署
199+ <details >
200+ <summary >字段说明</summary >
201+ <br >
72202
73- 已发布镜像支持 ` linux/amd64 ` 与 ` linux/arm64 ` ,在 x86 服务器和 Apple Silicon / ARM Linux 设备上都会自动拉取匹配架构的版本。
203+ | 字段 | 说明 |
204+ | :-----------| :---------------------|
205+ | ` model ` | 图片模型,默认按图片生成场景处理 |
206+ | ` messages ` | 消息数组,需要是图片相关请求内容 |
207+ | ` n ` | 生成数量,按当前实现解析为图片数量 |
208+ | ` stream ` | 当前不支持,传入 ` true ` 会被拒绝 |
209+
210+ <br >
211+ </details >
212+ </details >
213+
214+ <details >
215+ <summary ><code >POST /v1/responses</code ></summary >
216+ <br >
217+
218+ 面向图片生成工具调用的 Responses API 兼容接口,不是完整通用 Responses API 代理。
74219
75220``` bash
76- git clone git@github.com:basketikun/chatgpt2api.git
77- # 按需编辑 config.json 的密钥和 `refresh_account_interval_minute`
78- # 也可以直接通过环境变量 CHATGPT2API_AUTH_KEY 覆盖 auth-key
79- docker compose up -d
221+ curl http://localhost:8000/v1/responses \
222+ -H " Content-Type: application/json" \
223+ -H " Authorization: Bearer <auth-key>" \
224+ -d ' {
225+ "model": "gpt-5",
226+ "input": "生成一张未来感城市天际线图片",
227+ "tools": [
228+ {
229+ "type": "image_generation"
230+ }
231+ ]
232+ }'
80233```
81234
82- 如果之前在宿主机上没有 ` config.json ` 就直接执行了 ` docker compose up -d ` ,Docker 可能会错误地创建一个 ` config.json/ ` 目录。遇到这种情况请先删除这个目录,再重新创建 ` config.json ` 文件后启动。
235+ <details >
236+ <summary >字段说明</summary >
237+ <br >
238+
239+ | 字段 | 说明 |
240+ | :---------| :------------------------------|
241+ | ` model ` | 响应中会回显该模型字段,但图片生成当前仍走图片生成兼容逻辑 |
242+ | ` input ` | 输入内容,需要能解析出图片生成提示词 |
243+ | ` tools ` | 必须包含 ` image_generation ` 工具请求 |
244+ | ` stream ` | 当前不支持,传入 ` true ` 会被拒绝 |
245+
246+ <br >
247+ </details >
248+ </details >
83249
84250## 社区支持
85- 学 AI , 上 L 站
86251
87- [ LinuxDO] ( https://linux.do )
252+ 学 AI , 上 L 站:[ LinuxDO] ( https://linux.do )
253+
254+ ## Contributors
255+
256+ 感谢所有为本项目做出贡献的开发者:
257+
258+ <a href =" https://github.com/basketikun/chatgpt2api/graphs/contributors " >
259+ <img alt =" Contributors " src =" https://contrib.rocks/image?repo=basketikun/chatgpt2api " />
260+ </a >
261+
262+ ## Star History
263+
264+ [ ![ Star History Chart] ( https://api.star-history.com/chart?repos=basketikun/chatgpt2api&type=date&legend=top-left )] ( https://www.star-history.com/?repos=basketikun%2Fchatgpt2api&type=date&legend=top-left )
0 commit comments