Skip to content

Commit d3537bb

Browse files
basketikunclaude
andcommitted
docs(readme): 重写项目文档并补充功能状态说明
优化 README 首页结构,补充快速开始、功能分组和 AI 接口说明, 并新增面向用户的功能状态文档,便于了解当前支持情况与未完成功能。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent a0a2cf0 commit d3537bb

2 files changed

Lines changed: 252 additions & 41 deletions

File tree

README.md

Lines changed: 218 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,67 @@
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
4387
Authorization: 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)

docs/feature-status.en.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# 功能状态
2+
3+
本文基于当前仓库当前实现整理,用于帮助用户快速了解哪些功能已经可用、哪些仍在完善、哪些待实现。
4+
5+
| 功能 | 状态 | 说明 |
6+
|:----------------------------------------|:--:|:--------------------------------------------------------------|
7+
| OpenAI 兼容 `POST /v1/images/generations` || 已支持,用于图片生成,并可通过 `n` 返回多张图片。 |
8+
| OpenAI 兼容 `POST /v1/images/edits` || 已支持,可上传图片进行编辑。 |
9+
| 面向图片工作流的 `POST /v1/chat/completions` || 已支持图片相关请求。 |
10+
| 面向图片工作流的 `POST /v1/responses` || 已支持图片生成工具调用。 |
11+
| `GET /v1/models` 接口 || 当前返回 `gpt-image-1``gpt-image-2`|
12+
| 同时生成多张图片 || 已支持,后端与前端都可进行多图生成。 |
13+
| 前端图片工作台 || 已支持图片生成、图片编辑、模型选择、历史记录与查看大图。 |
14+
| 前端图片输入 / 参考图交互 || 已支持参考图上传、预览、移除和编辑模式工作流。 |
15+
| 账号池管理 || 已支持列表、筛选、批量操作、导出、手动编辑、刷新和删除。 |
16+
| 账号额度刷新与恢复时间同步 || 已支持账号信息刷新,限流账号也会自动继续检查。 |
17+
| 失效 Token 自动清理 || 已支持自动移除失效 Token。 |
18+
| CPA 连接管理 || 已支持 CPA 连接的新增、修改、查询和删除。 |
19+
| CPA 文件浏览与按需导入 || 已支持读取远程文件列表、筛选、勾选并导入到本地号池。 |
20+
| CPA 导入进度跟踪 || 已支持导入进度展示与轮询更新。 |
21+
| Docker 自托管部署 || 已支持 Docker Compose 部署,并提供多架构镜像。 |
22+
| 模型列表与实际能力是否完全一致 | ⚠️ | 模型列表会显示 `gpt-image-1``gpt-image-2`,但实际效果可能与上游状态有关。 |
23+
| `gpt-image-1``gpt-image-2` 的能力区分 | ⚠️ | `gpt-image-2` 已可选,但目前仍处于灰度 / 实验状态。 |
24+
| 兼容接口中的多参考图能力 | ⚠️ | 前端已支持多参考图交互,接口侧相关能力仍在完善中。 |
25+
| 更高级的 Token 调度策略 | ⚠️ | 当前已有基础轮询与限流刷新机制,更复杂的调度策略仍在完善中。 |
26+
| Render / Vercel 等部署表述 | ⚠️ | 当前主要以 Docker 部署为主,其他平台部署方式暂未重点说明。 |
27+
| `/v1/complete` 文本补全与流式输出 || 待实现。 |
28+
| 流式输出支持 || 待实现。 |
29+
| 图片尺寸参数 || 待实现。 |
30+
| 服务端图片 URL 缓存 || 待实现。 |
31+
| `sub2api` 导入 || 待实现。 |
32+
| `rt_token` 刷新 || 待实现。 |
33+
| 代理配置功能 || 待实现。 |
34+
| Anthropic 协议支持 || 待实现。 |

0 commit comments

Comments
 (0)