cxk Claude Opus 4.6 commited on
Commit ·
aa032a8
1
Parent(s): 40aa98e
docs(readme): 重写项目文档并补充功能状态说明
Browse files优化 README 首页结构,补充快速开始、功能分组和 AI 接口说明,
并新增面向用户的功能状态文档,便于了解当前支持情况与未完成功能。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- README.md +218 -41
- docs/feature-status.en.md +34 -0
README.md
CHANGED
|
@@ -1,22 +1,67 @@
|
|
| 1 |
-
|
| 2 |
|
| 3 |
-
本项目仅供学习与研究交流。请务必遵循 OpenAI 的使用条款及当地法律法规,不得用于非法用途!
|
| 4 |
|
| 5 |
-
ChatGPT 图片生成代理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
| 7 |
## 功能
|
| 8 |
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
-
|
| 12 |
-
-
|
| 13 |
-
-
|
| 14 |
-
-
|
| 15 |
-
-
|
| 16 |
-
-
|
| 17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
文生图界面:
|
| 22 |
|
|
@@ -26,8 +71,7 @@ ChatGPT 图片生成代理与账号池管理面板,提供账号维护、额度
|
|
| 26 |
|
| 27 |

|
| 28 |
|
| 29 |
-
|
| 30 |
-
Chery Studio 中使用:
|
| 31 |
|
| 32 |

|
| 33 |
|
|
@@ -35,53 +79,186 @@ Chery Studio 中使用:
|
|
| 35 |
|
| 36 |

|
| 37 |
|
| 38 |
-
##
|
| 39 |
|
| 40 |
-
所有接口都需要请求头:
|
| 41 |
|
| 42 |
```http
|
| 43 |
Authorization: Bearer <auth-key>
|
| 44 |
```
|
| 45 |
|
| 46 |
-
|
|
|
|
|
|
|
| 47 |
|
| 48 |
-
|
| 49 |
-
|
|
|
|
|
|
|
|
|
|
| 50 |
```
|
| 51 |
|
| 52 |
-
|
| 53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
```
|
| 55 |
|
| 56 |
-
|
| 57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
```
|
| 59 |
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
"
|
| 67 |
-
"
|
| 68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
```
|
| 70 |
|
| 71 |
-
|
|
|
|
|
|
|
| 72 |
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
```bash
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
```
|
| 81 |
|
| 82 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
|
| 84 |
## 社区支持
|
| 85 |
-
学 AI , 上 L 站
|
| 86 |
|
| 87 |
-
[LinuxDO](https://linux.do)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<h1 align="center">ChatGPT2API</h1>
|
| 2 |
|
|
|
|
| 3 |
|
| 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 |
+
```
|
| 30 |
|
| 31 |
## 功能
|
| 32 |
|
| 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 |
+
- 本地保存图片会话历史,支持回看、删除和清空
|
| 49 |
|
| 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
|
| 65 |
|
| 66 |
文生图界面:
|
| 67 |
|
|
|
|
| 71 |
|
| 72 |

|
| 73 |
|
| 74 |
+
Cherry Studio 中使用:
|
|
|
|
| 75 |
|
| 76 |

|
| 77 |
|
|
|
|
| 79 |
|
| 80 |

|
| 81 |
|
| 82 |
+
## API
|
| 83 |
|
| 84 |
+
所有 AI 接口都需要请求头:
|
| 85 |
|
| 86 |
```http
|
| 87 |
Authorization: Bearer <auth-key>
|
| 88 |
```
|
| 89 |
|
| 90 |
+
<details>
|
| 91 |
+
<summary><code>GET /v1/models</code></summary>
|
| 92 |
+
<br>
|
| 93 |
|
| 94 |
+
返回当前暴露的图片模型列表。
|
| 95 |
+
|
| 96 |
+
```bash
|
| 97 |
+
curl http://localhost:8000/v1/models \
|
| 98 |
+
-H "Authorization: Bearer <auth-key>"
|
| 99 |
```
|
| 100 |
|
| 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 |
+
}'
|
| 130 |
```
|
| 131 |
|
| 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"
|
| 160 |
```
|
| 161 |
|
| 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>
|
| 180 |
|
| 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 |
+
}'
|
| 197 |
```
|
| 198 |
|
| 199 |
+
<details>
|
| 200 |
+
<summary>字段说明</summary>
|
| 201 |
+
<br>
|
| 202 |
|
| 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 代理。
|
| 219 |
|
| 220 |
```bash
|
| 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 |
+
}'
|
| 233 |
```
|
| 234 |
|
| 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>
|
| 249 |
|
| 250 |
## 社区支持
|
|
|
|
| 251 |
|
| 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 |
+
[](https://www.star-history.com/?repos=basketikun%2Fchatgpt2api&type=date&legend=top-left)
|
docs/feature-status.en.md
ADDED
|
@@ -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 协议支持 | ❌ | 待实现。 |
|