From 36a739e7778c291cc6daa1d66bbd99e504cc3474 Mon Sep 17 00:00:00 2001 From: CaIon Date: Sun, 30 Nov 2025 21:44:05 +0800 Subject: [PATCH] Remove outdated API documentation for authentication, web API, and models (Midjourney, Rerank, Suno). Add OpenAPI specifications for backend management and relay interfaces. --- docs/api/api_auth.md | 53 - docs/api/web_api.md | 198 -- docs/models/Midjourney.md | 82 - docs/models/Rerank.md | 62 - docs/models/Suno.md | 44 - docs/openapi/api.json | 5089 +++++++++++++++++++++++++++++++++++++ docs/openapi/relay.json | 4110 ++++++++++++++++++++++++++++++ 7 files changed, 9199 insertions(+), 439 deletions(-) delete mode 100644 docs/api/api_auth.md delete mode 100644 docs/api/web_api.md delete mode 100644 docs/models/Midjourney.md delete mode 100644 docs/models/Rerank.md delete mode 100644 docs/models/Suno.md create mode 100644 docs/openapi/api.json create mode 100644 docs/openapi/relay.json diff --git a/docs/api/api_auth.md b/docs/api/api_auth.md deleted file mode 100644 index 798ca3741..000000000 --- a/docs/api/api_auth.md +++ /dev/null @@ -1,53 +0,0 @@ -# API 鉴权文档 - -## 认证方式 - -### Access Token - -对于需要鉴权的 API 接口,必须同时提供以下两个请求头来进行 Access Token 认证: - -1. **请求头中的 `Authorization` 字段** - - 将 Access Token 放置于 HTTP 请求头部的 `Authorization` 字段中,格式如下: - - ``` - Authorization: - ``` - - 其中 `` 需要替换为实际的 Access Token 值。 - -2. **请求头中的 `New-Api-User` 字段** - - 将用户 ID 放置于 HTTP 请求头部的 `New-Api-User` 字段中,格式如下: - - ``` - New-Api-User: - ``` - - 其中 `` 需要替换为实际的用户 ID。 - -**注意:** - -* **必须同时提供 `Authorization` 和 `New-Api-User` 两个请求头才能通过鉴权。** -* 如果只提供其中一个请求头,或者两个请求头都未提供,则会返回 `401 Unauthorized` 错误。 -* 如果 `Authorization` 中的 Access Token 无效,则会返回 `401 Unauthorized` 错误,并提示“无权进行此操作,access token 无效”。 -* 如果 `New-Api-User` 中的用户 ID 与 Access Token 不匹配,则会返回 `401 Unauthorized` 错误,并提示“无权进行此操作,与登录用户不匹配,请重新登录”。 -* 如果没有提供 `New-Api-User` 请求头,则会返回 `401 Unauthorized` 错误,并提示“无权进行此操作,未提供 New-Api-User”。 -* 如果 `New-Api-User` 请求头格式错误,则会返回 `401 Unauthorized` 错误,并提示“无权进行此操作,New-Api-User 格式错误”。 -* 如果用户已被禁用,则会返回 `403 Forbidden` 错误,并提示“用户已被封禁”。 -* 如果用户权限不足,则会返回 `403 Forbidden` 错误,并提示“无权进行此操作,权限不足”。 -* 如果用户信息无效,则会返回 `403 Forbidden` 错误,并提示“无权进行此操作,用户信息无效”。 - -## Curl 示例 - -假设您的 Access Token 为 `access_token`,用户 ID 为 `123`,要访问的 API 接口为 `/api/user/self`,则可以使用以下 curl 命令: - -```bash -curl -X GET \ - -H "Authorization: access_token" \ - -H "New-Api-User: 123" \ - https://your-domain.com/api/user/self -``` - -请将 `access_token`、`123` 和 `https://your-domain.com` 替换为实际的值。 - diff --git a/docs/api/web_api.md b/docs/api/web_api.md deleted file mode 100644 index aa88a606c..000000000 --- a/docs/api/web_api.md +++ /dev/null @@ -1,198 +0,0 @@ -# New API – Web 界面后端接口文档 - -> 本文档汇总了 **New API** 后端提供给前端 Web 界面的全部 REST 接口(不含 *Relay* 相关接口)。 -> -> 接口前缀统一为 `https://`,以下仅列出 **路径**、**HTTP 方法**、**鉴权要求** 与 **功能简介**。 -> -> 鉴权级别说明: -> * **公开** – 不需要登录即可调用 -> * **用户** – 需携带用户 Token(`middleware.UserAuth`) -> * **管理员** – 需管理员 Token(`middleware.AdminAuth`) -> * **Root** – 仅限最高权限 Root 用户(`middleware.RootAuth`) - ---- - -## 1. 初始化 / 系统状态 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/setup | 公开 | 获取系统初始化状态 | -| POST | /api/setup | 公开 | 完成首次安装向导 | -| GET | /api/status | 公开 | 获取运行状态摘要 | -| GET | /api/uptime/status | 公开 | Uptime-Kuma 兼容状态探针 | -| GET | /api/status/test | 管理员 | 测试后端与依赖组件是否正常 | - -## 2. 公共信息 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/models | 用户 | 获取前端可用模型列表 | -| GET | /api/notice | 公开 | 获取公告栏内容 | -| GET | /api/about | 公开 | 关于页面信息 | -| GET | /api/home_page_content | 公开 | 首页自定义内容 | -| GET | /api/pricing | 可匿名/用户 | 价格与套餐信息 | -| GET | /api/ratio_config | 公开 | 模型倍率配置(仅公开字段) | - -## 3. 邮件 / 身份验证 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/verification | 公开 (限流) | 发送邮箱验证邮件 | -| GET | /api/reset_password | 公开 (限流) | 发送重置密码邮件 | -| POST | /api/user/reset | 公开 | 提交重置密码请求 | - -## 4. OAuth / 第三方登录 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/oauth/github | 公开 | GitHub OAuth 跳转 | -| GET | /api/oauth/discord | 公开 | Discord 通用 OAuth 跳转 | -| GET | /api/oauth/oidc | 公开 | OIDC 通用 OAuth 跳转 | -| GET | /api/oauth/linuxdo | 公开 | LinuxDo OAuth 跳转 | -| GET | /api/oauth/wechat | 公开 | 微信扫码登录跳转 | -| GET | /api/oauth/wechat/bind | 公开 | 微信账户绑定 | -| GET | /api/oauth/email/bind | 公开 | 邮箱绑定 | -| GET | /api/oauth/telegram/login | 公开 | Telegram 登录 | -| GET | /api/oauth/telegram/bind | 公开 | Telegram 账户绑定 | -| GET | /api/oauth/state | 公开 | 获取随机 state(防 CSRF) | - -## 5. 用户模块 -### 5.1 账号注册/登录 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| POST | /api/user/register | 公开 | 注册新账号 | -| POST | /api/user/login | 公开 | 用户登录 | -| GET | /api/user/logout | 用户 | 退出登录 | -| GET | /api/user/epay/notify | 公开 | Epay 支付回调 | -| GET | /api/user/groups | 公开 | 列出所有分组(无鉴权版) | - -### 5.2 用户自身操作 (需登录) -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/user/self/groups | 用户 | 获取自己所在分组 | -| GET | /api/user/self | 用户 | 获取个人资料 | -| GET | /api/user/models | 用户 | 获取模型可见性 | -| PUT | /api/user/self | 用户 | 修改个人资料 | -| DELETE | /api/user/self | 用户 | 注销账号 | -| GET | /api/user/token | 用户 | 生成用户级别 Access Token | -| GET | /api/user/aff | 用户 | 获取推广码信息 | -| POST | /api/user/topup | 用户 | 余额直充 | -| POST | /api/user/pay | 用户 | 提交支付订单 | -| POST | /api/user/amount | 用户 | 余额支付 | -| POST | /api/user/aff_transfer | 用户 | 推广额度转账 | -| PUT | /api/user/setting | 用户 | 更新用户设置 | - -### 5.3 管理员用户管理 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/user/ | 管理员 | 获取全部用户列表 | -| GET | /api/user/search | 管理员 | 搜索用户 | -| GET | /api/user/:id | 管理员 | 获取单个用户信息 | -| POST | /api/user/ | 管理员 | 创建用户 | -| POST | /api/user/manage | 管理员 | 冻结/重置等管理操作 | -| PUT | /api/user/ | 管理员 | 更新用户 | -| DELETE | /api/user/:id | 管理员 | 删除用户 | - -## 6. 站点选项 (Root) -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/option/ | Root | 获取全局配置 | -| PUT | /api/option/ | Root | 更新全局配置 | -| POST | /api/option/rest_model_ratio | Root | 重置模型倍率 | -| POST | /api/option/migrate_console_setting | Root | 迁移旧版控制台配置 | - -## 7. 模型倍率同步 (Root) -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/ratio_sync/channels | Root | 获取可同步渠道列表 | -| POST | /api/ratio_sync/fetch | Root | 从上游拉取倍率 | - -## 8. 渠道管理 (管理员) -| 方法 | 路径 | 说明 | -|------|------|------| -| GET | /api/channel/ | 获取渠道列表 | -| GET | /api/channel/search | 搜索渠道 | -| GET | /api/channel/models | 查询渠道模型能力 | -| GET | /api/channel/models_enabled | 查询启用模型能力 | -| GET | /api/channel/:id | 获取单个渠道 | -| GET | /api/channel/test | 批量测试渠道连通性 | -| GET | /api/channel/test/:id | 单个渠道测试 | -| GET | /api/channel/update_balance | 批量刷新余额 | -| GET | /api/channel/update_balance/:id | 单个刷新余额 | -| POST | /api/channel/ | 新增渠道 | -| PUT | /api/channel/ | 更新渠道 | -| DELETE | /api/channel/disabled | 删除已禁用渠道 | -| POST | /api/channel/tag/disabled | 批量禁用标签渠道 | -| POST | /api/channel/tag/enabled | 批量启用标签渠道 | -| PUT | /api/channel/tag | 编辑渠道标签 | -| DELETE | /api/channel/:id | 删除渠道 | -| POST | /api/channel/batch | 批量删除渠道 | -| POST | /api/channel/fix | 修复渠道能力表 | -| GET | /api/channel/fetch_models/:id | 拉取单渠道模型 | -| POST | /api/channel/fetch_models | 拉取全部渠道模型 | -| POST | /api/channel/batch/tag | 批量设置渠道标签 | -| GET | /api/channel/tag/models | 根据标签获取模型 | -| POST | /api/channel/copy/:id | 复制渠道 | - -## 9. Token 管理 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/token/ | 用户 | 获取全部 Token | -| GET | /api/token/search | 用户 | 搜索 Token | -| GET | /api/token/:id | 用户 | 获取单个 Token | -| POST | /api/token/ | 用户 | 创建 Token | -| PUT | /api/token/ | 用户 | 更新 Token | -| DELETE | /api/token/:id | 用户 | 删除 Token | -| POST | /api/token/batch | 用户 | 批量删除 Token | - -## 10. 兑换码管理 (管理员) -| 方法 | 路径 | 说明 | -|------|------|------| -| GET | /api/redemption/ | 获取兑换码列表 | -| GET | /api/redemption/search | 搜索兑换码 | -| GET | /api/redemption/:id | 获取单个兑换码 | -| POST | /api/redemption/ | 创建兑换码 | -| PUT | /api/redemption/ | 更新兑换码 | -| DELETE | /api/redemption/invalid | 删除无效兑换码 | -| DELETE | /api/redemption/:id | 删除兑换码 | - -## 11. 日志 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/log/ | 管理员 | 获取全部日志 | -| DELETE | /api/log/ | 管理员 | 删除历史日志 | -| GET | /api/log/stat | 管理员 | 日志统计 | -| GET | /api/log/self/stat | 用户 | 我的日志统计 | -| GET | /api/log/search | 管理员 | 搜索全部日志 | -| GET | /api/log/self | 用户 | 获取我的日志 | -| GET | /api/log/self/search | 用户 | 搜索我的日志 | -| GET | /api/log/token | 公开 | 根据 Token 查询日志(支持 CORS) | - -## 12. 数据统计 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/data/ | 管理员 | 全站用量按日期统计 | -| GET | /api/data/self | 用户 | 我的用量按日期统计 | - -## 13. 分组 -| GET | /api/group/ | 管理员 | 获取全部分组列表 | - -## 14. Midjourney 任务 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/mj/self | 用户 | 获取自己的 MJ 任务 | -| GET | /api/mj/ | 管理员 | 获取全部 MJ 任务 | - -## 15. 任务中心 -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /api/task/self | 用户 | 获取我的任务 | -| GET | /api/task/ | 管理员 | 获取全部任务 | - -## 16. 账户计费面板 (Dashboard) -| 方法 | 路径 | 鉴权 | 说明 | -|------|------|------|------| -| GET | /dashboard/billing/subscription | 用户 Token | 获取订阅额度信息 | -| GET | /v1/dashboard/billing/subscription | 同上 | 兼容 OpenAI SDK 路径 | -| GET | /dashboard/billing/usage | 用户 Token | 获取使用量信息 | -| GET | /v1/dashboard/billing/usage | 同上 | 兼容 OpenAI SDK 路径 | - ---- - -> **更新日期**:2025.07.17 diff --git a/docs/models/Midjourney.md b/docs/models/Midjourney.md deleted file mode 100644 index 478115b70..000000000 --- a/docs/models/Midjourney.md +++ /dev/null @@ -1,82 +0,0 @@ -# Midjourney Proxy API文档 - -**简介**:Midjourney Proxy API文档 - -## 接口列表 -支持的接口如下: -+ [x] /mj/submit/imagine -+ [x] /mj/submit/change -+ [x] /mj/submit/blend -+ [x] /mj/submit/describe -+ [x] /mj/image/{id} (通过此接口获取图片,**请必须在系统设置中填写服务器地址!!**) -+ [x] /mj/task/{id}/fetch (此接口返回的图片地址为经过One API转发的地址) -+ [x] /task/list-by-condition -+ [x] /mj/submit/action (仅midjourney-proxy-plus支持,下同) -+ [x] /mj/submit/modal -+ [x] /mj/submit/shorten -+ [x] /mj/task/{id}/image-seed -+ [x] /mj/insight-face/swap (InsightFace) - -## 模型列表 - -### midjourney-proxy支持 - -- mj_imagine (绘图) -- mj_variation (变换) -- mj_reroll (重绘) -- mj_blend (混合) -- mj_upscale (放大) -- mj_describe (图生文) - -### 仅midjourney-proxy-plus支持 - -- mj_zoom (比例变焦) -- mj_shorten (提示词缩短) -- mj_modal (窗口提交,局部重绘和自定义比例变焦必须和mj_modal一同添加) -- mj_inpaint (局部重绘提交,必须和mj_modal一同添加) -- mj_custom_zoom (自定义比例变焦,必须和mj_modal一同添加) -- mj_high_variation (强变换) -- mj_low_variation (弱变换) -- mj_pan (平移) -- swap_face (换脸) - -## 模型价格设置(在设置-运营设置-模型固定价格设置中设置) -```json -{ - "mj_imagine": 0.1, - "mj_variation": 0.1, - "mj_reroll": 0.1, - "mj_blend": 0.1, - "mj_modal": 0.1, - "mj_zoom": 0.1, - "mj_shorten": 0.1, - "mj_high_variation": 0.1, - "mj_low_variation": 0.1, - "mj_pan": 0.1, - "mj_inpaint": 0, - "mj_custom_zoom": 0, - "mj_describe": 0.05, - "mj_upscale": 0.05, - "swap_face": 0.05 -} -``` -其中mj_inpaint和mj_custom_zoom的价格设置为0,是因为这两个模型需要搭配mj_modal使用,所以价格由mj_modal决定。 - -## 渠道设置 - -### 对接 midjourney-proxy(plus) - -1. - -部署Midjourney-Proxy,并配置好midjourney账号等(强烈建议设置密钥),[项目地址](https://github.com/novicezk/midjourney-proxy) - -2. 在渠道管理中添加渠道,渠道类型选择**Midjourney Proxy**,如果是plus版本选择**Midjourney Proxy Plus** - ,模型请参考上方模型列表 -3. **代理**填写midjourney-proxy部署的地址,例如:http://localhost:8080 -4. 密钥填写midjourney-proxy的密钥,如果没有设置密钥,可以随便填 - -### 对接上游new api - -1. 在渠道管理中添加渠道,渠道类型选择**Midjourney Proxy Plus**,模型请参考上方模型列表 -2. **代理**填写上游new api的地址,例如:http://localhost:3000 -3. 密钥填写上游new api的密钥 \ No newline at end of file diff --git a/docs/models/Rerank.md b/docs/models/Rerank.md deleted file mode 100644 index dc57d99bb..000000000 --- a/docs/models/Rerank.md +++ /dev/null @@ -1,62 +0,0 @@ -# Rerank API文档 - -**简介**:Rerank API文档 - -## 接入Dify -模型供应商选择Jina,按要求填写模型信息即可接入Dify。 - -## 请求方式 - -Post: /v1/rerank - -Request: - -```json -{ - "model": "jina-reranker-v2-base-multilingual", - "query": "What is the capital of the United States?", - "top_n": 3, - "documents": [ - "Carson City is the capital city of the American state of Nevada.", - "The Commonwealth of the Northern Mariana Islands is a group of islands in the Pacific Ocean. Its capital is Saipan.", - "Washington, D.C. (also known as simply Washington or D.C., and officially as the District of Columbia) is the capital of the United States. It is a federal district.", - "Capitalization or capitalisation in English grammar is the use of a capital letter at the start of a word. English usage varies from capitalization in other languages.", - "Capital punishment (the death penalty) has existed in the United States since beforethe United States was a country. As of 2017, capital punishment is legal in 30 of the 50 states." - ] -} -``` - -Response: - -```json -{ - "results": [ - { - "document": { - "text": "Washington, D.C. (also known as simply Washington or D.C., and officially as the District of Columbia) is the capital of the United States. It is a federal district." - }, - "index": 2, - "relevance_score": 0.9999702 - }, - { - "document": { - "text": "Carson City is the capital city of the American state of Nevada." - }, - "index": 0, - "relevance_score": 0.67800725 - }, - { - "document": { - "text": "Capitalization or capitalisation in English grammar is the use of a capital letter at the start of a word. English usage varies from capitalization in other languages." - }, - "index": 3, - "relevance_score": 0.02800752 - } - ], - "usage": { - "prompt_tokens": 158, - "completion_tokens": 0, - "total_tokens": 158 - } -} -``` \ No newline at end of file diff --git a/docs/models/Suno.md b/docs/models/Suno.md deleted file mode 100644 index 840ca8e41..000000000 --- a/docs/models/Suno.md +++ /dev/null @@ -1,44 +0,0 @@ -# Suno API文档 - -**简介**:Suno API文档 - -## 接口列表 -支持的接口如下: -+ [x] /suno/submit/music -+ [x] /suno/submit/lyrics -+ [x] /suno/fetch -+ [x] /suno/fetch/:id - -## 模型列表 - -### Suno API支持 - -- suno_music (自定义模式、灵感模式、续写) -- suno_lyrics (生成歌词) - - -## 模型价格设置(在设置-运营设置-模型固定价格设置中设置) -```json -{ - "suno_music": 0.3, - "suno_lyrics": 0.01 -} -``` - -## 渠道设置 - -### 对接 Suno API - -1. -部署 Suno API,并配置好suno账号等(强烈建议设置密钥),[项目地址](https://github.com/Suno-API/Suno-API) - -2. 在渠道管理中添加渠道,渠道类型选择**Suno API** - ,模型请参考上方模型列表 -3. **代理**填写 Suno API 部署的地址,例如:http://localhost:8080 -4. 密钥填写 Suno API 的密钥,如果没有设置密钥,可以随便填 - -### 对接上游new api - -1. 在渠道管理中添加渠道,渠道类型选择**Suno API**,或任意类型,只需模型包含上方模型列表的模型 -2. **代理**填写上游new api的地址,例如:http://localhost:3000 -3. 密钥填写上游new api的密钥 \ No newline at end of file diff --git a/docs/openapi/api.json b/docs/openapi/api.json new file mode 100644 index 000000000..b2c8e74eb --- /dev/null +++ b/docs/openapi/api.json @@ -0,0 +1,5089 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "后台管理接口", + "description": "", + "version": "1.0.0" + }, + "tags": [ + { + "name": "系统" + }, + { + "name": "用户认证" + }, + { + "name": "两步验证" + }, + { + "name": "OAuth" + }, + { + "name": "用户管理" + }, + { + "name": "充值" + }, + { + "name": "安全验证" + }, + { + "name": "渠道管理" + }, + { + "name": "令牌管理" + }, + { + "name": "兑换码" + }, + { + "name": "日志" + }, + { + "name": "数据统计" + }, + { + "name": "分组" + }, + { + "name": "任务" + }, + { + "name": "供应商" + }, + { + "name": "模型管理" + }, + { + "name": "系统设置" + } + ], + "paths": { + "/api/setup": { + "get": { + "summary": "获取初始化状态", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "初始化系统", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/status": { + "get": { + "summary": "获取系统状态", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/status/test": { + "get": { + "summary": "测试系统状态", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/uptime/status": { + "get": { + "summary": "获取Uptime Kuma状态", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/notice": { + "get": { + "summary": "获取公告", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user-agreement": { + "get": { + "summary": "获取用户协议", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/privacy-policy": { + "get": { + "summary": "获取隐私政策", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/about": { + "get": { + "summary": "获取关于信息", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/home_page_content": { + "get": { + "summary": "获取首页内容", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/pricing": { + "get": { + "summary": "获取定价信息", + "deprecated": false, + "description": "🔓 无需鉴权(可选登录)", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models": { + "get": { + "summary": "获取模型列表", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/ratio_config": { + "get": { + "summary": "获取倍率配置", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "系统" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/verification": { + "get": { + "summary": "发送邮箱验证码", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [ + { + "name": "email", + "in": "query", + "description": "", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/reset_password": { + "get": { + "summary": "发送密码重置邮件", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [ + { + "name": "email", + "in": "query", + "description": "", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/reset": { + "post": { + "summary": "重置密码", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "token": { + "type": "string" + }, + "password": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/register": { + "post": { + "summary": "用户注册", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "email": { + "type": "string" + }, + "verification_code": { + "type": "string" + }, + "aff_code": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/login": { + "post": { + "summary": "用户登录", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/login/2fa": { + "post": { + "summary": "两步验证登录", + "deprecated": false, + "description": "🔓 无需鉴权(登录流程)", + "tags": [ + "用户认证", + "两步验证" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/logout": { + "get": { + "summary": "用户登出", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/groups": { + "get": { + "summary": "获取用户分组列表", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey/login/begin": { + "post": { + "summary": "开始Passkey登录", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey/login/finish": { + "post": { + "summary": "完成Passkey登录", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "用户认证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/github": { + "get": { + "summary": "GitHub OAuth登录", + "deprecated": false, + "description": "🔓 无需鉴权(OAuth回调)", + "tags": [ + "OAuth" + ], + "parameters": [ + { + "name": "code", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/discord": { + "get": { + "summary": "Discord OAuth登录", + "deprecated": false, + "description": "🔓 无需鉴权(OAuth回调)", + "tags": [ + "OAuth" + ], + "parameters": [ + { + "name": "code", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/oidc": { + "get": { + "summary": "OIDC登录", + "deprecated": false, + "description": "🔓 无需鉴权(OAuth回调)", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/linuxdo": { + "get": { + "summary": "LinuxDO OAuth登录", + "deprecated": false, + "description": "🔓 无需鉴权(OAuth回调)", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/state": { + "get": { + "summary": "生成OAuth State", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/wechat": { + "get": { + "summary": "微信OAuth登录", + "deprecated": false, + "description": "🔓 无需鉴权(OAuth回调)", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/wechat/bind": { + "get": { + "summary": "绑定微信", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/email/bind": { + "get": { + "summary": "绑定邮箱", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "OAuth" + ], + "parameters": [ + { + "name": "email", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "code", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/telegram/login": { + "get": { + "summary": "Telegram登录", + "deprecated": false, + "description": "🔓 无需鉴权(OAuth回调)", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/oauth/telegram/bind": { + "get": { + "summary": "绑定Telegram", + "deprecated": false, + "description": "🔓 无需鉴权", + "tags": [ + "OAuth" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/self/groups": { + "get": { + "summary": "获取当前用户分组", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/self": { + "get": { + "summary": "获取当前用户信息", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新当前用户信息", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "original_password": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "注销当前用户", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/models": { + "get": { + "summary": "获取用户可用模型", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/token": { + "get": { + "summary": "生成访问令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey": { + "get": { + "summary": "获取Passkey状态", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除Passkey", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey/register/begin": { + "post": { + "summary": "开始注册Passkey", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey/register/finish": { + "post": { + "summary": "完成注册Passkey", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey/verify/begin": { + "post": { + "summary": "开始验证Passkey", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/passkey/verify/finish": { + "post": { + "summary": "完成验证Passkey", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/aff": { + "get": { + "summary": "获取邀请码", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/aff_transfer": { + "post": { + "summary": "转换邀请额度", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "quota": { + "type": "integer" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/setting": { + "put": { + "summary": "更新用户设置", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "用户管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "notify_type": { + "type": "string" + }, + "quota_warning_threshold": { + "type": "number" + }, + "webhook_url": { + "type": "string" + }, + "notification_email": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/topup": { + "get": { + "summary": "获取所有充值记录", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/": { + "get": { + "summary": "获取所有用户", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [ + { + "name": "p", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "page_size", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "创建用户", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新用户", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/topup/complete": { + "post": { + "summary": "管理员完成充值", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/search": { + "get": { + "summary": "搜索用户", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/{id}": { + "get": { + "summary": "获取指定用户", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除用户", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/{id}/reset_passkey": { + "delete": { + "summary": "管理员重置用户Passkey", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/{id}/2fa": { + "delete": { + "summary": "管理员禁用用户2FA", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理", + "两步验证" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/manage": { + "post": { + "summary": "管理用户状态", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "用户管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "action": { + "type": "string", + "enum": [ + "disable", + "enable", + "delete", + "promote", + "demote" + ] + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/topup/info": { + "get": { + "summary": "获取充值信息", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/topup/self": { + "get": { + "summary": "获取用户充值记录", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/pay": { + "post": { + "summary": "发起易支付", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/amount": { + "post": { + "summary": "获取支付金额", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/stripe/pay": { + "post": { + "summary": "发起Stripe支付", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/stripe/amount": { + "post": { + "summary": "获取Stripe支付金额", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/creem/pay": { + "post": { + "summary": "发起Creem支付", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/epay/notify": { + "get": { + "summary": "易支付回调", + "deprecated": false, + "description": "🔓 无需鉴权(支付回调)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/stripe/webhook": { + "post": { + "summary": "Stripe Webhook", + "deprecated": false, + "description": "🔓 无需鉴权(Webhook回调)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/creem/webhook": { + "post": { + "summary": "Creem Webhook", + "deprecated": false, + "description": "🔓 无需鉴权(Webhook回调)", + "tags": [ + "充值" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/2fa/status": { + "get": { + "summary": "获取2FA状态", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "两步验证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/2fa/setup": { + "post": { + "summary": "设置2FA", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "两步验证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/2fa/enable": { + "post": { + "summary": "启用2FA", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "两步验证" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/2fa/disable": { + "post": { + "summary": "禁用2FA", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "两步验证" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/2fa/backup_codes": { + "post": { + "summary": "重新生成备用码", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "两步验证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/user/2fa/stats": { + "get": { + "summary": "获取2FA统计", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "两步验证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/verify": { + "post": { + "summary": "通用安全验证", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "安全验证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/verify/status": { + "get": { + "summary": "获取验证状态", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "安全验证" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/": { + "get": { + "summary": "获取所有渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "p", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "page_size", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "id_sort", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "tag_mode", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "status", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "添加渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": [ + "single", + "batch", + "multi_to_single" + ] + }, + "channel": { + "$ref": "#/components/schemas/Channel" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Channel" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/search": { + "get": { + "summary": "搜索渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "model", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/models": { + "get": { + "summary": "获取渠道模型列表", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/models_enabled": { + "get": { + "summary": "获取已启用模型列表", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/{id}": { + "get": { + "summary": "获取指定渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/{id}/key": { + "post": { + "summary": "获取渠道密钥", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)+ 安全验证", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/test": { + "get": { + "summary": "测试所有渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/test/{id}": { + "get": { + "summary": "测试指定渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/update_balance": { + "get": { + "summary": "更新所有渠道余额", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/update_balance/{id}": { + "get": { + "summary": "更新指定渠道余额", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/disabled": { + "delete": { + "summary": "删除已禁用渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/batch": { + "post": { + "summary": "批量删除渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/fix": { + "post": { + "summary": "修复渠道能力", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/fetch_models/{id}": { + "get": { + "summary": "获取上游模型列表", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/fetch_models": { + "post": { + "summary": "获取模型列表", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "base_url": { + "type": "string" + }, + "type": { + "type": "integer" + }, + "key": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/batch/tag": { + "post": { + "summary": "批量设置渠道标签", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer" + } + }, + "tag": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/tag/models": { + "get": { + "summary": "获取标签模型", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "tag", + "in": "query", + "description": "", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/tag/disabled": { + "post": { + "summary": "禁用标签渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tag": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/tag/enabled": { + "post": { + "summary": "启用标签渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tag": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/tag": { + "put": { + "summary": "编辑标签渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "new_tag": { + "type": "string" + }, + "priority": { + "type": "integer" + }, + "weight": { + "type": "integer" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/copy/{id}": { + "post": { + "summary": "复制渠道", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + }, + { + "name": "suffix", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "reset_balance", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/channel/multi_key/manage": { + "post": { + "summary": "管理多密钥", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "渠道管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "channel_id": { + "type": "integer" + }, + "action": { + "type": "string", + "enum": [ + "get_key_status", + "disable_key", + "enable_key", + "delete_key", + "delete_disabled_keys", + "enable_all_keys", + "disable_all_keys" + ] + }, + "key_index": { + "type": "integer" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/token/": { + "get": { + "summary": "获取所有令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [ + { + "name": "p", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "page_size", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "创建令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/token/search": { + "get": { + "summary": "搜索令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/token/{id}": { + "get": { + "summary": "获取指定令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/token/batch": { + "post": { + "summary": "批量删除令牌", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "令牌管理" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/usage/token/": { + "get": { + "summary": "获取令牌使用情况", + "deprecated": false, + "description": "🔑 需要令牌认证(TokenAuth)", + "tags": [ + "令牌管理" + ], + "parameters": [ + { + "name": "Authorization", + "in": "header", + "description": "", + "required": false, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/redemption/": { + "get": { + "summary": "获取所有兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [ + { + "name": "p", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "page_size", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "创建兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Redemption" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Redemption" + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/redemption/search": { + "get": { + "summary": "搜索兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/redemption/{id}": { + "get": { + "summary": "获取指定兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/redemption/invalid": { + "delete": { + "summary": "删除无效兑换码", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "兑换码" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/": { + "get": { + "summary": "获取所有日志", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "日志" + ], + "parameters": [ + { + "name": "p", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "page_size", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除历史日志", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "日志" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/stat": { + "get": { + "summary": "获取日志统计", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "日志" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/self/stat": { + "get": { + "summary": "获取个人日志统计", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "日志" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/search": { + "get": { + "summary": "搜索日志", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "日志" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/self": { + "get": { + "summary": "获取个人日志", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "日志" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/self/search": { + "get": { + "summary": "搜索个人日志", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "日志" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/log/token": { + "get": { + "summary": "通过令牌获取日志", + "deprecated": false, + "description": "🔓 无需鉴权(通过令牌查询)", + "tags": [ + "日志" + ], + "parameters": [ + { + "name": "key", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/data/": { + "get": { + "summary": "获取所有额度数据", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "数据统计" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/data/self": { + "get": { + "summary": "获取个人额度数据", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "数据统计" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/group/": { + "get": { + "summary": "获取所有分组", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "分组" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/prefill_group/": { + "get": { + "summary": "获取预填分组", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "分组" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "创建预填分组", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "分组" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新预填分组", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "分组" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/prefill_group/{id}": { + "delete": { + "summary": "删除预填分组", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "分组" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/mj/": { + "get": { + "summary": "获取所有Midjourney任务", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "任务" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/mj/self": { + "get": { + "summary": "获取个人Midjourney任务", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "任务" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/task/": { + "get": { + "summary": "获取所有任务", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "任务" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/task/self": { + "get": { + "summary": "获取个人任务", + "deprecated": false, + "description": "🔐 需要登录(User权限)", + "tags": [ + "任务" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/vendors/": { + "get": { + "summary": "获取所有供应商", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "供应商" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "创建供应商", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "供应商" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新供应商", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "供应商" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/vendors/search": { + "get": { + "summary": "搜索供应商", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "供应商" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/vendors/{id}": { + "get": { + "summary": "获取指定供应商", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "供应商" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除供应商", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "供应商" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models/": { + "get": { + "summary": "获取所有模型元数据", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "post": { + "summary": "创建模型元数据", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新模型元数据", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models/search": { + "get": { + "summary": "搜索模型", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [ + { + "name": "keyword", + "in": "query", + "description": "", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models/{id}": { + "get": { + "summary": "获取指定模型", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "delete": { + "summary": "删除模型", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "required": true, + "example": 0, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models/sync_upstream/preview": { + "get": { + "summary": "预览上游模型同步", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models/sync_upstream": { + "post": { + "summary": "同步上游模型", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/models/missing": { + "get": { + "summary": "获取缺失模型", + "deprecated": false, + "description": "👨‍💼 需要管理员权限(Admin)", + "tags": [ + "模型管理" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/option/": { + "get": { + "summary": "获取系统选项", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)", + "tags": [ + "系统设置" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + }, + "put": { + "summary": "更新系统选项", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)", + "tags": [ + "系统设置" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/option/rest_model_ratio": { + "post": { + "summary": "重置模型倍率", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)", + "tags": [ + "系统设置" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/option/migrate_console_setting": { + "post": { + "summary": "迁移控制台设置", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)", + "tags": [ + "系统设置" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/ratio_sync/channels": { + "get": { + "summary": "获取可同步渠道", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)", + "tags": [ + "系统设置" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + }, + "/api/ratio_sync/fetch": { + "post": { + "summary": "获取上游倍率", + "deprecated": false, + "description": "👑 需要超级管理员权限(Root)", + "tags": [ + "系统设置" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功", + "headers": {} + } + }, + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] + } + } + }, + "components": { + "schemas": { + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "username": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "role": { + "type": "integer" + }, + "status": { + "type": "integer" + }, + "email": { + "type": "string" + }, + "group": { + "type": "string" + }, + "quota": { + "type": "integer" + }, + "used_quota": { + "type": "integer" + }, + "request_count": { + "type": "integer" + } + } + }, + "Channel": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "type": { + "type": "integer" + }, + "status": { + "type": "integer" + }, + "models": { + "type": "string" + }, + "groups": { + "type": "string" + }, + "priority": { + "type": "integer" + }, + "weight": { + "type": "integer" + }, + "base_url": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "Token": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "user_id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "key": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "expired_time": { + "type": "integer" + }, + "remain_quota": { + "type": "integer" + }, + "unlimited_quota": { + "type": "boolean" + } + } + }, + "Redemption": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "key": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "quota": { + "type": "integer" + }, + "created_time": { + "type": "integer" + }, + "redeemed_time": { + "type": "integer" + } + } + } + }, + "responses": {}, + "securitySchemes": {} + }, + "servers": [], + "security": [ + { + "Combination343": [] + }, + { + "Combination1243": [] + } + ] +} \ No newline at end of file diff --git a/docs/openapi/relay.json b/docs/openapi/relay.json new file mode 100644 index 000000000..55ea96377 --- /dev/null +++ b/docs/openapi/relay.json @@ -0,0 +1,4110 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "AI模型接口", + "description": "", + "version": "1.0.0" + }, + "tags": [ + { + "name": "获取模型列表" + }, + { + "name": "OpenAI格式(Chat)" + }, + { + "name": "OpenAI格式(Responses)" + }, + { + "name": "图片生成/编辑(Images)" + }, + { + "name": "图片生成/编辑(Images)/OpenAI兼容格式" + }, + { + "name": "图片生成/编辑(Images)/Qwen千问" + }, + { + "name": "视频生成" + }, + { + "name": "视频生成/Sora兼容格式" + }, + { + "name": "视频生成/Kling格式" + }, + { + "name": "视频生成/即梦格式" + }, + { + "name": "Claude格式(Messages)" + }, + { + "name": "Gemini格式" + }, + { + "name": "OpenAI格式Embeddings" + }, + { + "name": "文本补全(Completions)" + }, + { + "name": "OpenAI音频(Audio)" + }, + { + "name": "重排序(Rerank)" + }, + { + "name": "Moderations" + }, + { + "name": "Realtime" + }, + { + "name": "未实现" + }, + { + "name": "未实现/Fine-tunes" + }, + { + "name": "未实现/Files" + }, + { + "name": "Models" + }, + { + "name": "Gemini" + }, + { + "name": "Chat" + }, + { + "name": "Responses" + }, + { + "name": "Images" + }, + { + "name": "视频生成-Kling" + }, + { + "name": "视频生成-即梦" + }, + { + "name": "Messages" + }, + { + "name": "Embeddings" + }, + { + "name": "Completions" + }, + { + "name": "Audio" + }, + { + "name": "Rerank" + }, + { + "name": "Fine-tunes" + }, + { + "name": "Files" + } + ], + "paths": { + "/v1/models": { + "get": { + "summary": "获取模型列表", + "deprecated": false, + "description": "获取当前可用的模型列表。\n\n根据请求头自动识别返回格式:\n- 包含 `x-api-key` 和 `anthropic-version` 头时返回 Anthropic 格式\n- 包含 `x-goog-api-key` 头或 `key` 查询参数时返回 Gemini 格式\n- 其他情况返回 OpenAI 格式\n", + "operationId": "listModels", + "tags": [ + "获取模型列表", + "Models" + ], + "parameters": [ + { + "name": "key", + "in": "query", + "description": "Google API Key (用于 Gemini 格式)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "x-api-key", + "in": "header", + "description": "Anthropic API Key (用于 Claude 格式)", + "required": false, + "example": "", + "schema": { + "type": "string" + } + }, + { + "name": "anthropic-version", + "in": "header", + "description": "Anthropic API 版本", + "required": false, + "example": "", + "schema": { + "type": "string", + "example": "2023-06-01" + } + }, + { + "name": "x-goog-api-key", + "in": "header", + "description": "Google API Key (用于 Gemini 格式)", + "required": false, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功获取模型列表", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelsResponse" + } + } + }, + "headers": {} + }, + "401": { + "description": "认证失败", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1beta/models": { + "get": { + "summary": "Gemini 格式获取", + "deprecated": false, + "description": "以 Gemini API 格式返回可用模型列表", + "operationId": "listModelsGemini", + "tags": [ + "获取模型列表", + "Models", + "Gemini" + ], + "parameters": [], + "responses": { + "200": { + "description": "成功获取模型列表", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeminiModelsResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/chat/completions": { + "post": { + "summary": "创建聊天对话", + "deprecated": false, + "description": "根据对话历史创建模型响应。支持流式和非流式响应。\n\n兼容 OpenAI Chat Completions API。\n", + "operationId": "createChatCompletion", + "tags": [ + "OpenAI格式(Chat)", + "Chat" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChatCompletionRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建响应", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChatCompletionResponse" + } + } + }, + "headers": {} + }, + "400": { + "description": "请求参数错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + }, + "429": { + "description": "请求频率限制", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/responses": { + "post": { + "summary": "创建响应 (OpenAI Responses API)", + "deprecated": false, + "description": "OpenAI Responses API,用于创建模型响应。\n支持多轮对话、工具调用、推理等功能。\n", + "operationId": "createResponse", + "tags": [ + "OpenAI格式(Responses)", + "Responses" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建响应", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/images/generations": { + "post": { + "summary": "生成图像(qwen-image)", + "deprecated": false, + "description": " 百炼qwen-image系列图片生成", + "operationId": "createImage", + "tags": [ + "图片生成/编辑(Images)/Qwen千问", + "Images" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "input": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "type": "string" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + } + } + } + } + } + }, + "required": [ + "messages" + ] + }, + "parameters": { + "type": "object", + "properties": { + "negative_prompt": { + "type": "string" + }, + "prompt_extend": { + "type": "boolean" + }, + "watermark": { + "type": "boolean" + }, + "size": { + "type": "string" + } + } + } + }, + "required": [ + "model", + "input" + ] + }, + "example": { + "model": "qwen-image-plus", + "input": { + "messages": [ + { + "role": "user", + "content": [ + { + "text": "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,在中间挂着一幅中国风的画作,内容是岳阳楼。" + } + ] + } + ] + }, + "parameters": { + "negative_prompt": "", + "prompt_extend": true, + "watermark": false, + "size": "1328*1328" + } + } + } + } + }, + "responses": { + "200": { + "description": "成功生成图像", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/images/edits": { + "post": { + "summary": "编辑图像(qwen-image-edit)", + "deprecated": false, + "description": " 百炼qwen-image系列图片生成", + "operationId": "createImage", + "tags": [ + "图片生成/编辑(Images)/Qwen千问", + "Images" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "input": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "type": "string" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "image": { + "type": "string" + }, + "text": { + "type": "string" + } + } + } + } + } + } + } + }, + "required": [ + "messages" + ] + }, + "parameters": { + "type": "object", + "properties": { + "n": { + "type": "integer" + }, + "negative_prompt": { + "type": "string" + }, + "prompt_extend": { + "type": "boolean" + }, + "watermark": { + "type": "boolean" + }, + "size": { + "type": "string" + } + } + } + }, + "required": [ + "model", + "input" + ] + }, + "example": "{\n \"model\": \"qwen-image-edit-plus\",\n \"input\": {\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"image\": \"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/fpakfo/image36.webp\"\n },\n {\n \"text\": \"生成一张符合深度图的图像,遵循以下描述:一辆红色的破旧的自行车停在一条泥泞的小路上,背景是茂密的原始森林\"\n }\n ]\n }\n ]\n },\n \"parameters\": {\n \"n\": 2,\n \"negative_prompt\": \" \",\n \"prompt_extend\": true,\n \"watermark\": false\n }" + } + } + }, + "responses": { + "200": { + "description": "成功生成图像", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/videos": { + "post": { + "summary": "创建视频 ", + "deprecated": false, + "description": "OpenAI 兼容的视频生成接口。\n\n参考文档: https://platform.openai.com/docs/api-reference/videos/create\n", + "operationId": "createVideo", + "tags": [ + "视频生成/Sora兼容格式", + "视频生成" + ], + "parameters": [], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "model": { + "description": "模型名称", + "example": "sora-2", + "type": "string" + }, + "prompt": { + "description": "提示词", + "example": "cute cat dance", + "type": "string" + }, + "seconds": { + "description": "生成秒数", + "example": "8", + "type": "string" + }, + "input_reference": { + "format": "binary", + "type": "string", + "description": "参考图片文件", + "example": "" + } + } + }, + "examples": {} + } + } + }, + "responses": { + "200": { + "description": "成功创建视频任务", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "视频 ID" + }, + "object": { + "type": "string", + "description": "对象类型" + }, + "model": { + "type": "string", + "description": "使用的模型" + }, + "status": { + "type": "string", + "description": "任务状态" + }, + "progress": { + "type": "integer", + "description": "进度百分比" + }, + "created_at": { + "type": "integer", + "description": "创建时间戳" + }, + "seconds": { + "type": "string", + "description": "视频时长" + }, + "completed_at": { + "type": "integer", + "description": "完成时间戳" + }, + "expires_at": { + "type": "integer", + "description": "过期时间戳" + }, + "size": { + "type": "string", + "description": "视频尺寸" + }, + "error": { + "$ref": "#/components/schemas/OpenAIVideoError" + }, + "metadata": { + "type": "object", + "description": "额外元数据", + "additionalProperties": true, + "properties": {} + } + }, + "required": [ + "id", + "object", + "model", + "status", + "progress", + "created_at", + "seconds" + ] + }, + "example": { + "id": "sora-2-123456", + "object": "video", + "model": "sora-2", + "status": "queued", + "progress": 0, + "created_at": 1764347090922, + "seconds": "8" + } + } + }, + "headers": {} + }, + "400": { + "description": "请求参数错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/videos/{task_id}": { + "get": { + "summary": "获取视频任务状态 ", + "deprecated": false, + "description": "OpenAI 兼容的视频任务状态查询接口。\n\n返回视频任务的详细状态信息。\n", + "operationId": "getVideo", + "tags": [ + "视频生成/Sora兼容格式", + "视频生成" + ], + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "视频任务 ID", + "required": true, + "example": "sora-2-123456", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功获取视频任务状态", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string" + }, + "model": { + "type": "string" + }, + "status": { + "type": "string" + }, + "progress": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "seconds": { + "type": "string" + } + }, + "required": [ + "id", + "object", + "model", + "status", + "progress", + "created_at", + "seconds" + ] + }, + "example": { + "id": "sora-2-123456", + "object": "video", + "model": "sora-2", + "status": "queued", + "progress": 0, + "created_at": 1764347090922, + "seconds": "8" + } + } + }, + "headers": {} + }, + "404": { + "description": "任务不存在", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/videos/{task_id}/content": { + "get": { + "summary": "获取视频内容", + "deprecated": false, + "description": "获取已完成视频任务的视频文件内容。\n\n此接口会代理返回视频文件流。\n", + "operationId": "getVideoContent", + "tags": [ + "视频生成/Sora兼容格式", + "视频生成" + ], + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "视频任务 ID", + "required": true, + "example": "video-abc123", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功获取视频内容", + "content": { + "video/mp4": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "headers": {} + }, + "404": { + "description": "视频不存在或未完成", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/kling/v1/videos/text2video": { + "post": { + "summary": "Kling 文生视频", + "deprecated": false, + "description": "使用 Kling 模型从文本描述生成视频。\n\n支持的模型:kling-v1, kling-v1-5 等\n", + "operationId": "createKlingText2Video", + "tags": [ + "视频生成/Kling格式", + "视频生成-Kling" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoRequest" + }, + "example": { + "model": "kling-v1", + "prompt": "宇航员站起身走了", + "duration": 5, + "width": 1280, + "height": 720, + "fps": 30 + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建视频生成任务", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoResponse" + } + } + }, + "headers": {} + }, + "400": { + "description": "请求参数错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/kling/v1/videos/text2video/{task_id}": { + "get": { + "summary": "获取 Kling 文生视频任务状态", + "deprecated": false, + "description": "查询 Kling 文生视频任务的状态和结果。", + "operationId": "getKlingText2Video", + "tags": [ + "视频生成/Kling格式", + "视频生成-Kling" + ], + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "任务 ID", + "required": true, + "example": "task-abc123", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功获取任务状态", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoTaskResponse" + } + } + }, + "headers": {} + }, + "404": { + "description": "任务不存在", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/kling/v1/videos/image2video": { + "post": { + "summary": "Kling 图生视频", + "deprecated": false, + "description": "使用 Kling 模型从图片生成视频。\n\n支持通过 image 参数传入图片 URL 或 Base64 编码的图片数据。\n", + "operationId": "createKlingImage2Video", + "tags": [ + "视频生成/Kling格式", + "视频生成-Kling" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoRequest" + }, + "example": { + "model": "kling-v1", + "prompt": "人物转身走开", + "image": "https://example.com/image.jpg", + "duration": 5, + "width": 1280, + "height": 720 + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建视频生成任务", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoResponse" + } + } + }, + "headers": {} + }, + "400": { + "description": "请求参数错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/kling/v1/videos/image2video/{task_id}": { + "get": { + "summary": "获取 Kling 图生视频任务状态", + "deprecated": false, + "description": "查询 Kling 图生视频任务的状态和结果。", + "operationId": "getKlingImage2Video", + "tags": [ + "视频生成/Kling格式", + "视频生成-Kling" + ], + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "任务 ID", + "required": true, + "example": "task-abc123", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功获取任务状态", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoTaskResponse" + } + } + }, + "headers": {} + }, + "404": { + "description": "任务不存在", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/jimeng/": { + "post": { + "summary": "即梦视频生成", + "deprecated": false, + "description": "即梦官方 API 格式的视频生成接口。\n\n支持通过 Action 参数指定操作类型:\n- `CVSync2AsyncSubmitTask`: 提交视频生成任务\n- `CVSync2AsyncGetResult`: 获取任务结果\n\n需要在查询参数中指定 Action 和 Version。\n", + "operationId": "createJimengVideo", + "tags": [ + "视频生成/即梦格式", + "视频生成-即梦" + ], + "parameters": [ + { + "name": "Action", + "in": "query", + "description": "API 操作类型", + "required": true, + "schema": { + "type": "string", + "enum": [ + "CVSync2AsyncSubmitTask", + "CVSync2AsyncGetResult" + ] + } + }, + { + "name": "Version", + "in": "query", + "description": "API 版本", + "required": true, + "example": "2022-08-31", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "即梦官方 API 请求格式", + "properties": { + "req_key": { + "type": "string", + "description": "请求类型标识" + }, + "prompt": { + "type": "string", + "description": "文本描述" + }, + "binary_data_base64": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Base64 编码的图片数据" + } + } + }, + "example": { + "req_key": "jimeng_video_generation", + "prompt": "一只猫在弹钢琴" + } + } + } + }, + "responses": { + "200": { + "description": "成功处理请求", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "description": "响应码" + }, + "message": { + "type": "string", + "description": "响应消息" + }, + "data": { + "type": "object", + "description": "响应数据", + "properties": {} + } + } + } + } + }, + "headers": {} + }, + "400": { + "description": "请求参数错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/video/generations": { + "post": { + "summary": "创建视频生成任务", + "deprecated": false, + "description": "提交视频生成任务,支持文生视频和图生视频。\n\n返回任务 ID,可通过 GET 接口查询任务状态。\n", + "operationId": "createVideoGeneration", + "tags": [ + "视频生成" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoRequest" + }, + "example": { + "model": "kling-v1", + "prompt": "宇航员在月球上漫步", + "duration": 5, + "width": 1280, + "height": 720 + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建视频生成任务", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoResponse" + } + } + }, + "headers": {} + }, + "400": { + "description": "请求参数错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/video/generations/{task_id}": { + "get": { + "summary": "获取视频生成任务状态", + "deprecated": false, + "description": "查询视频生成任务的状态和结果。\n\n任务状态:\n- `queued`: 排队中\n- `in_progress`: 生成中\n- `completed`: 已完成\n- `failed`: 失败\n", + "operationId": "getVideoGeneration", + "tags": [ + "视频生成" + ], + "parameters": [ + { + "name": "task_id", + "in": "path", + "description": "任务 ID", + "required": true, + "example": "abcd1234efgh", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "成功获取任务状态", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoTaskResponse" + } + } + }, + "headers": {} + }, + "404": { + "description": "任务不存在", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/messages": { + "post": { + "summary": "Claude 聊天", + "deprecated": false, + "description": "Anthropic Claude Messages API 格式的请求。\n需要在请求头中包含 `anthropic-version`。\n", + "operationId": "createMessage", + "tags": [ + "Claude格式(Messages)", + "Messages" + ], + "parameters": [ + { + "name": "anthropic-version", + "in": "header", + "description": "Anthropic API 版本", + "required": true, + "example": "", + "schema": { + "type": "string", + "example": "2023-06-01" + } + }, + { + "name": "x-api-key", + "in": "header", + "description": "Anthropic API Key (可选,也可使用 Bearer Token)", + "required": false, + "example": "", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClaudeRequest" + }, + "examples": {} + } + } + }, + "responses": { + "200": { + "description": "成功创建响应", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClaudeResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1beta/models/{model}:generateContent": { + "post": { + "summary": "Gemini 图片(Nano Banana)", + "deprecated": false, + "description": "Gemini 图片生成", + "operationId": "geminiRelayV1Beta", + "tags": [ + "Gemini格式", + "Gemini" + ], + "parameters": [ + { + "name": "model", + "in": "path", + "description": "模型名称", + "required": true, + "example": "gemini-3-pro-image-preview", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + } + } + } + } + }, + "generationConfig": { + "type": "object", + "properties": { + "responseModalities": { + "type": "array", + "items": { + "type": "string" + } + }, + "imageConfig": { + "type": "object", + "properties": { + "aspectRatio": { + "type": "string" + }, + "imageSize": { + "type": "string" + } + } + } + }, + "required": [ + "responseModalities" + ] + } + }, + "required": [ + "contents", + "generationConfig" + ] + }, + "example": { + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "draw a cat" + } + ] + } + ], + "generationConfig": { + "responseModalities": [ + "TEXT", + "IMAGE" + ], + "imageConfig": { + "aspectRatio": "16:9", + "imageSize": "4K" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "成功", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeminiResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/engines/{model}/embeddings": { + "post": { + "summary": "Gemini 嵌入(Embeddings)", + "deprecated": false, + "description": "使用指定引擎/模型创建嵌入", + "operationId": "createEngineEmbedding", + "tags": [ + "Gemini格式", + "Embeddings", + "Gemini" + ], + "parameters": [ + { + "name": "model", + "in": "path", + "description": "模型/引擎 ID", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbeddingRequest" + }, + "examples": {} + } + } + }, + "responses": { + "200": { + "description": "成功创建嵌入", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbeddingResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/embeddings": { + "post": { + "summary": "创建文本嵌入", + "deprecated": false, + "description": "将文本转换为向量嵌入", + "operationId": "createEmbedding", + "tags": [ + "OpenAI格式Embeddings", + "Embeddings" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbeddingRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建嵌入", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbeddingResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/completions": { + "post": { + "summary": "创建文本补全", + "deprecated": false, + "description": "基于给定提示创建文本补全", + "operationId": "createCompletion", + "tags": [ + "文本补全(Completions)", + "Completions" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CompletionRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功创建响应", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CompletionResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/audio/transcriptions": { + "post": { + "summary": "音频转录", + "deprecated": false, + "description": "将音频转换为文本", + "operationId": "createTranscription", + "tags": [ + "OpenAI音频(Audio)", + "Audio" + ], + "parameters": [], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "description": "音频文件", + "example": "" + }, + "model": { + "type": "string", + "example": "whisper-1" + }, + "language": { + "type": "string", + "description": "ISO-639-1 语言代码", + "example": "" + }, + "prompt": { + "type": "string", + "example": "" + }, + "response_format": { + "type": "string", + "enum": [ + "json", + "text", + "srt", + "verbose_json", + "vtt" + ], + "default": "json", + "example": "json" + }, + "temperature": { + "type": "number", + "example": 0 + }, + "timestamp_granularities": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "word", + "segment" + ] + }, + "example": "" + } + }, + "required": [ + "file", + "model" + ] + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功转录", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudioTranscriptionResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/audio/translations": { + "post": { + "summary": "音频翻译", + "deprecated": false, + "description": "将音频翻译为英文文本", + "operationId": "createTranslation", + "tags": [ + "OpenAI音频(Audio)", + "Audio" + ], + "parameters": [], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "example": "" + }, + "model": { + "type": "string", + "example": "" + }, + "prompt": { + "type": "string", + "example": "" + }, + "response_format": { + "type": "string", + "example": "" + }, + "temperature": { + "type": "number", + "example": 0 + } + }, + "required": [ + "file", + "model" + ] + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功翻译", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudioTranscriptionResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/audio/speech": { + "post": { + "summary": "文本转语音", + "deprecated": false, + "description": "将文本转换为音频", + "operationId": "createSpeech", + "tags": [ + "OpenAI音频(Audio)", + "Audio" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpeechRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功生成音频", + "content": { + "audio/mpeg": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/rerank": { + "post": { + "summary": "文档重排序", + "deprecated": false, + "description": "根据查询对文档列表进行相关性重排序", + "operationId": "createRerank", + "tags": [ + "重排序(Rerank)", + "Rerank" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RerankRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功重排序", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RerankResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/moderations": { + "post": { + "summary": "内容审核", + "deprecated": false, + "description": "检查文本内容是否违反使用政策", + "operationId": "createModeration", + "tags": [ + "Moderations" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModerationRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "成功审核", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModerationResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/realtime": { + "get": { + "summary": "实时 WebSocket 连接", + "deprecated": false, + "description": "建立 WebSocket 连接用于实时对话。\n\n**注意**: 这是一个 WebSocket 端点,需要使用 WebSocket 协议连接。\n\n连接 URL 示例: `wss://api.example.com/v1/realtime?model=gpt-4o-realtime`\n", + "operationId": "createRealtimeSession", + "tags": [ + "Realtime" + ], + "parameters": [ + { + "name": "model", + "in": "query", + "description": "要使用的模型", + "required": false, + "schema": { + "type": "string", + "example": "gpt-4o-realtime-preview" + } + } + ], + "responses": { + "101": { + "description": "WebSocket 协议切换", + "headers": {} + }, + "400": { + "description": "请求错误", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/fine-tunes": { + "get": { + "summary": "列出微调任务 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "listFineTunes", + "tags": [ + "未实现/Fine-tunes", + "Fine-tunes" + ], + "parameters": [], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + }, + "post": { + "summary": "创建微调任务 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "createFineTune", + "tags": [ + "未实现/Fine-tunes", + "Fine-tunes" + ], + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": {} + } + } + } + }, + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/fine-tunes/{fine_tune_id}": { + "get": { + "summary": "获取微调任务详情 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "retrieveFineTune", + "tags": [ + "未实现/Fine-tunes", + "Fine-tunes" + ], + "parameters": [ + { + "name": "fine_tune_id", + "in": "path", + "description": "", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/fine-tunes/{fine_tune_id}/cancel": { + "post": { + "summary": "取消微调任务 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "cancelFineTune", + "tags": [ + "未实现/Fine-tunes", + "Fine-tunes" + ], + "parameters": [ + { + "name": "fine_tune_id", + "in": "path", + "description": "", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/fine-tunes/{fine_tune_id}/events": { + "get": { + "summary": "获取微调任务事件 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "listFineTuneEvents", + "tags": [ + "未实现/Fine-tunes", + "Fine-tunes" + ], + "parameters": [ + { + "name": "fine_tune_id", + "in": "path", + "description": "", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/files": { + "get": { + "summary": "列出文件 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "listFiles", + "tags": [ + "未实现/Files", + "Files" + ], + "parameters": [], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + }, + "post": { + "summary": "上传文件 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "createFile", + "tags": [ + "未实现/Files", + "Files" + ], + "parameters": [], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "example": "" + }, + "purpose": { + "type": "string", + "example": "" + } + } + } + } + } + }, + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/files/{file_id}": { + "get": { + "summary": "获取文件信息 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "retrieveFile", + "tags": [ + "未实现/Files", + "Files" + ], + "parameters": [ + { + "name": "file_id", + "in": "path", + "description": "", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + }, + "delete": { + "summary": "删除文件 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "deleteFile", + "tags": [ + "未实现/Files", + "Files" + ], + "parameters": [ + { + "name": "file_id", + "in": "path", + "description": "", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/files/{file_id}/content": { + "get": { + "summary": "获取文件内容 (未实现)", + "deprecated": false, + "description": "此接口尚未实现", + "operationId": "downloadFile", + "tags": [ + "未实现/Files", + "Files" + ], + "parameters": [ + { + "name": "file_id", + "in": "path", + "description": "", + "required": true, + "example": "", + "schema": { + "type": "string" + } + } + ], + "responses": { + "501": { + "description": "未实现", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "headers": {} + } + }, + "security": [ + { + "BearerAuth": [] + } + ] + } + } + }, + "components": { + "schemas": { + "ErrorResponse": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "错误信息" + }, + "type": { + "type": "string", + "description": "错误类型" + }, + "param": { + "type": "string", + "description": "相关参数", + "nullable": true + }, + "code": { + "type": "string", + "description": "错误代码", + "nullable": true + } + } + } + } + }, + "Usage": { + "type": "object", + "properties": { + "prompt_tokens": { + "type": "integer", + "description": "提示词 Token 数" + }, + "completion_tokens": { + "type": "integer", + "description": "补全 Token 数" + }, + "total_tokens": { + "type": "integer", + "description": "总 Token 数" + }, + "prompt_tokens_details": { + "type": "object", + "properties": { + "cached_tokens": { + "type": "integer" + }, + "text_tokens": { + "type": "integer" + }, + "audio_tokens": { + "type": "integer" + }, + "image_tokens": { + "type": "integer" + } + } + }, + "completion_tokens_details": { + "type": "object", + "properties": { + "text_tokens": { + "type": "integer" + }, + "audio_tokens": { + "type": "integer" + }, + "reasoning_tokens": { + "type": "integer" + } + } + } + } + }, + "Model": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "模型 ID", + "example": "gpt-4" + }, + "object": { + "type": "string", + "description": "对象类型", + "example": "model" + }, + "created": { + "type": "integer", + "description": "创建时间戳" + }, + "owned_by": { + "type": "string", + "description": "模型所有者", + "example": "openai" + } + } + }, + "ModelsResponse": { + "type": "object", + "properties": { + "object": { + "type": "string", + "example": "list" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Model" + } + } + } + }, + "GeminiModelsResponse": { + "type": "object", + "properties": { + "models": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "models/gemini-pro" + }, + "version": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "inputTokenLimit": { + "type": "integer" + }, + "outputTokenLimit": { + "type": "integer" + }, + "supportedGenerationMethods": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "Message": { + "type": "object", + "required": [ + "role", + "content" + ], + "properties": { + "role": { + "type": "string", + "enum": [ + "system", + "user", + "assistant", + "tool", + "developer" + ], + "description": "消息角色" + }, + "content": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/MessageContent" + } + } + ], + "description": "消息内容" + }, + "name": { + "type": "string", + "description": "发送者名称" + }, + "tool_calls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToolCall" + } + }, + "tool_call_id": { + "type": "string", + "description": "工具调用 ID(用于 tool 角色消息)" + }, + "reasoning_content": { + "type": "string", + "description": "推理内容" + } + } + }, + "MessageContent": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text", + "image_url", + "input_audio", + "file", + "video_url" + ] + }, + "text": { + "type": "string" + }, + "image_url": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "图片 URL 或 base64" + }, + "detail": { + "type": "string", + "enum": [ + "low", + "high", + "auto" + ] + } + } + }, + "input_audio": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Base64 编码的音频数据" + }, + "format": { + "type": "string", + "enum": [ + "wav", + "mp3" + ] + } + } + }, + "file": { + "type": "object", + "properties": { + "filename": { + "type": "string" + }, + "file_data": { + "type": "string" + }, + "file_id": { + "type": "string" + } + } + }, + "video_url": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + } + } + } + }, + "ToolCall": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "example": "function" + }, + "function": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "arguments": { + "type": "string" + } + } + } + } + }, + "Tool": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "function" + }, + "function": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "parameters": { + "type": "object", + "description": "JSON Schema 格式的参数定义", + "properties": {} + } + } + } + } + }, + "ResponseFormat": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text", + "json_object", + "json_schema" + ] + }, + "json_schema": { + "type": "object", + "description": "JSON Schema 定义", + "properties": {} + } + } + }, + "ChatCompletionRequest": { + "type": "object", + "required": [ + "model", + "messages" + ], + "properties": { + "model": { + "type": "string", + "description": "模型 ID", + "example": "gpt-4" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + "description": "对话消息列表" + }, + "temperature": { + "type": "number", + "minimum": 0, + "maximum": 2, + "default": 1, + "description": "采样温度" + }, + "top_p": { + "type": "number", + "minimum": 0, + "maximum": 1, + "default": 1, + "description": "核采样参数" + }, + "n": { + "type": "integer", + "minimum": 1, + "default": 1, + "description": "生成数量" + }, + "stream": { + "type": "boolean", + "default": false, + "description": "是否流式响应" + }, + "stream_options": { + "type": "object", + "properties": { + "include_usage": { + "type": "boolean" + } + } + }, + "stop": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "description": "停止序列" + }, + "max_tokens": { + "type": "integer", + "description": "最大生成 Token 数" + }, + "max_completion_tokens": { + "type": "integer", + "description": "最大补全 Token 数" + }, + "presence_penalty": { + "type": "number", + "minimum": -2, + "maximum": 2, + "default": 0 + }, + "frequency_penalty": { + "type": "number", + "minimum": -2, + "maximum": 2, + "default": 0 + }, + "logit_bias": { + "type": "object", + "additionalProperties": { + "type": "number" + }, + "properties": {} + }, + "user": { + "type": "string" + }, + "tools": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tool" + } + }, + "tool_choice": { + "oneOf": [ + { + "type": "string", + "enum": [ + "none", + "auto", + "required" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "function": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + } + ] + }, + "response_format": { + "$ref": "#/components/schemas/ResponseFormat" + }, + "seed": { + "type": "integer" + }, + "reasoning_effort": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "description": "推理强度 (用于支持推理的模型)" + }, + "modalities": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "text", + "audio" + ] + } + }, + "audio": { + "type": "object", + "properties": { + "voice": { + "type": "string" + }, + "format": { + "type": "string" + } + } + } + } + }, + "ChatCompletionResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string", + "example": "chat.completion" + }, + "created": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "choices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "index": { + "type": "integer" + }, + "message": { + "$ref": "#/components/schemas/Message" + }, + "finish_reason": { + "type": "string", + "enum": [ + "stop", + "length", + "tool_calls", + "content_filter" + ] + } + } + } + }, + "usage": { + "$ref": "#/components/schemas/Usage" + }, + "system_fingerprint": { + "type": "string" + } + } + }, + "CompletionRequest": { + "type": "object", + "required": [ + "model", + "prompt" + ], + "properties": { + "model": { + "type": "string" + }, + "prompt": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "max_tokens": { + "type": "integer" + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "n": { + "type": "integer" + }, + "stream": { + "type": "boolean" + }, + "stop": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "suffix": { + "type": "string" + }, + "echo": { + "type": "boolean" + } + } + }, + "CompletionResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string", + "example": "text_completion" + }, + "created": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "choices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "finish_reason": { + "type": "string" + } + } + } + }, + "usage": { + "$ref": "#/components/schemas/Usage" + } + } + }, + "ResponsesRequest": { + "type": "object", + "required": [ + "model" + ], + "properties": { + "model": { + "type": "string" + }, + "input": { + "description": "输入内容,可以是字符串或消息数组", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + } + ] + }, + "instructions": { + "type": "string" + }, + "max_output_tokens": { + "type": "integer" + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "stream": { + "type": "boolean" + }, + "tools": { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + }, + "tool_choice": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": {} + } + ] + }, + "reasoning": { + "type": "object", + "properties": { + "effort": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + }, + "summary": { + "type": "string" + } + } + }, + "previous_response_id": { + "type": "string" + }, + "truncation": { + "type": "string", + "enum": [ + "auto", + "disabled" + ] + } + } + }, + "ResponsesResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string", + "example": "response" + }, + "created_at": { + "type": "integer" + }, + "status": { + "type": "string", + "enum": [ + "completed", + "failed", + "in_progress", + "incomplete" + ] + }, + "model": { + "type": "string" + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "text": { + "type": "string" + } + } + } + } + } + } + }, + "usage": { + "$ref": "#/components/schemas/Usage" + } + } + }, + "ClaudeRequest": { + "type": "object", + "required": [ + "model", + "messages", + "max_tokens" + ], + "properties": { + "model": { + "type": "string", + "example": "claude-3-opus-20240229" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClaudeMessage" + } + }, + "system": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + } + ] + }, + "max_tokens": { + "type": "integer", + "minimum": 1 + }, + "temperature": { + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "top_p": { + "type": "number" + }, + "top_k": { + "type": "integer" + }, + "stream": { + "type": "boolean" + }, + "stop_sequences": { + "type": "array", + "items": { + "type": "string" + } + }, + "tools": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "input_schema": { + "type": "object", + "properties": {} + } + } + } + }, + "tool_choice": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "auto", + "any", + "tool" + ] + }, + "name": { + "type": "string" + } + } + } + ] + }, + "thinking": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + "budget_tokens": { + "type": "integer" + } + } + }, + "metadata": { + "type": "object", + "properties": { + "user_id": { + "type": "string" + } + } + } + } + }, + "ClaudeMessage": { + "type": "object", + "required": [ + "role", + "content" + ], + "properties": { + "role": { + "type": "string", + "enum": [ + "user", + "assistant" + ] + }, + "content": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text", + "image", + "tool_use", + "tool_result" + ] + }, + "text": { + "type": "string" + }, + "source": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64", + "url" + ] + }, + "media_type": { + "type": "string" + }, + "data": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "type": "object", + "properties": {} + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "type": "string" + } + } + } + } + ] + } + } + }, + "ClaudeResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "example": "message" + }, + "role": { + "type": "string", + "example": "assistant" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "text": { + "type": "string" + } + } + } + }, + "model": { + "type": "string" + }, + "stop_reason": { + "type": "string", + "enum": [ + "end_turn", + "max_tokens", + "stop_sequence", + "tool_use" + ] + }, + "usage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "integer" + }, + "output_tokens": { + "type": "integer" + }, + "cache_creation_input_tokens": { + "type": "integer" + }, + "cache_read_input_tokens": { + "type": "integer" + } + } + } + } + }, + "EmbeddingRequest": { + "type": "object", + "required": [ + "model", + "input" + ], + "properties": { + "model": { + "type": "string", + "example": "text-embedding-ada-002" + }, + "input": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "description": "要嵌入的文本" + }, + "encoding_format": { + "type": "string", + "enum": [ + "float", + "base64" + ], + "default": "float" + }, + "dimensions": { + "type": "integer", + "description": "输出向量维度" + } + } + }, + "EmbeddingResponse": { + "type": "object", + "properties": { + "object": { + "type": "string", + "example": "list" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "object": { + "type": "string", + "example": "embedding" + }, + "index": { + "type": "integer" + }, + "embedding": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + }, + "model": { + "type": "string" + }, + "usage": { + "type": "object", + "properties": { + "prompt_tokens": { + "type": "integer" + }, + "total_tokens": { + "type": "integer" + } + } + } + } + }, + "ImageGenerationRequest": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "model": { + "type": "string", + "example": "dall-e-3" + }, + "prompt": { + "type": "string", + "description": "图像描述" + }, + "n": { + "type": "integer", + "minimum": 1, + "maximum": 10, + "default": 1 + }, + "size": { + "type": "string", + "enum": [ + "256x256", + "512x512", + "1024x1024", + "1792x1024", + "1024x1792" + ], + "default": "1024x1024" + }, + "quality": { + "type": "string", + "enum": [ + "standard", + "hd" + ], + "default": "standard" + }, + "style": { + "type": "string", + "enum": [ + "vivid", + "natural" + ], + "default": "vivid" + }, + "response_format": { + "type": "string", + "enum": [ + "url", + "b64_json" + ], + "default": "url" + }, + "user": { + "type": "string" + } + } + }, + "ImageResponse": { + "type": "object", + "properties": { + "created": { + "type": "integer" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "b64_json": { + "type": "string" + }, + "revised_prompt": { + "type": "string" + } + } + } + } + } + }, + "AudioTranscriptionResponse": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + } + }, + "SpeechRequest": { + "type": "object", + "required": [ + "model", + "input", + "voice" + ], + "properties": { + "model": { + "type": "string", + "example": "tts-1" + }, + "input": { + "type": "string", + "description": "要转换的文本", + "maxLength": 4096 + }, + "voice": { + "type": "string", + "enum": [ + "alloy", + "echo", + "fable", + "onyx", + "nova", + "shimmer" + ] + }, + "response_format": { + "type": "string", + "enum": [ + "mp3", + "opus", + "aac", + "flac", + "wav", + "pcm" + ], + "default": "mp3" + }, + "speed": { + "type": "number", + "minimum": 0.25, + "maximum": 4, + "default": 1 + } + } + }, + "RerankRequest": { + "type": "object", + "required": [ + "model", + "query", + "documents" + ], + "properties": { + "model": { + "type": "string", + "example": "rerank-english-v2.0" + }, + "query": { + "type": "string", + "description": "查询文本" + }, + "documents": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": {} + } + ] + }, + "description": "要重排序的文档列表" + }, + "top_n": { + "type": "integer", + "description": "返回前 N 个结果" + }, + "return_documents": { + "type": "boolean", + "default": false + } + } + }, + "RerankResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "index": { + "type": "integer" + }, + "relevance_score": { + "type": "number" + }, + "document": { + "type": "object", + "properties": {} + } + } + } + }, + "meta": { + "type": "object", + "properties": {} + } + } + }, + "ModerationRequest": { + "type": "object", + "required": [ + "input" + ], + "properties": { + "input": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "model": { + "type": "string", + "example": "text-moderation-latest" + } + } + }, + "ModerationResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "model": { + "type": "string" + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "flagged": { + "type": "boolean" + }, + "categories": { + "type": "object", + "properties": {} + }, + "category_scores": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "GeminiRequest": { + "type": "object", + "properties": { + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "type": "string", + "enum": [ + "user", + "model" + ] + }, + "parts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "inlineData": { + "type": "object", + "properties": { + "mimeType": { + "type": "string" + }, + "data": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "generationConfig": { + "type": "object", + "properties": { + "temperature": { + "type": "number" + }, + "topP": { + "type": "number" + }, + "topK": { + "type": "integer" + }, + "maxOutputTokens": { + "type": "integer" + }, + "stopSequences": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "safetySettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "category": { + "type": "string" + }, + "threshold": { + "type": "string" + } + } + } + }, + "tools": { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + }, + "systemInstruction": { + "type": "object", + "properties": { + "parts": { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "GeminiResponse": { + "type": "object", + "properties": { + "candidates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "content": { + "type": "object", + "properties": { + "role": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + } + } + }, + "finishReason": { + "type": "string" + }, + "safetyRatings": { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + } + } + } + }, + "usageMetadata": { + "type": "object", + "properties": { + "promptTokenCount": { + "type": "integer" + }, + "candidatesTokenCount": { + "type": "integer" + }, + "totalTokenCount": { + "type": "integer" + } + } + } + } + }, + "VideoRequest": { + "type": "object", + "description": "视频生成请求", + "properties": { + "model": { + "type": "string", + "description": "模型/风格 ID", + "example": "kling-v1" + }, + "prompt": { + "type": "string", + "description": "文本描述提示词", + "example": "宇航员站起身走了" + }, + "image": { + "type": "string", + "description": "图片输入 (URL 或 Base64)", + "example": "https://example.com/image.jpg" + }, + "duration": { + "type": "number", + "description": "视频时长(秒)", + "example": 5 + }, + "width": { + "type": "integer", + "description": "视频宽度", + "example": 1280 + }, + "height": { + "type": "integer", + "description": "视频高度", + "example": 720 + }, + "fps": { + "type": "integer", + "description": "视频帧率", + "example": 30 + }, + "seed": { + "type": "integer", + "description": "随机种子", + "example": 20231234 + }, + "n": { + "type": "integer", + "description": "生成视频数量", + "example": 1 + }, + "response_format": { + "type": "string", + "description": "响应格式", + "example": "url" + }, + "user": { + "type": "string", + "description": "用户标识", + "example": "user-1234" + }, + "metadata": { + "type": "object", + "description": "扩展参数 (如 negative_prompt, style, quality_level 等)", + "additionalProperties": true, + "properties": {} + } + } + }, + "VideoResponse": { + "type": "object", + "description": "视频生成任务提交响应", + "properties": { + "task_id": { + "type": "string", + "description": "任务 ID", + "example": "abcd1234efgh" + }, + "status": { + "type": "string", + "description": "任务状态", + "example": "queued" + } + } + }, + "VideoTaskResponse": { + "type": "object", + "description": "视频任务状态查询响应", + "properties": { + "task_id": { + "type": "string", + "description": "任务 ID", + "example": "abcd1234efgh" + }, + "status": { + "type": "string", + "description": "任务状态", + "enum": [ + "queued", + "in_progress", + "completed", + "failed" + ], + "example": "completed" + }, + "url": { + "type": "string", + "description": "视频资源 URL(成功时)", + "example": "https://example.com/video.mp4" + }, + "format": { + "type": "string", + "description": "视频格式", + "example": "mp4" + }, + "metadata": { + "$ref": "#/components/schemas/VideoTaskMetadata" + }, + "error": { + "$ref": "#/components/schemas/VideoTaskError" + } + } + }, + "VideoTaskMetadata": { + "type": "object", + "description": "视频任务元数据", + "properties": { + "duration": { + "type": "number", + "description": "实际生成的视频时长", + "example": 5 + }, + "fps": { + "type": "integer", + "description": "实际帧率", + "example": 30 + }, + "width": { + "type": "integer", + "description": "实际宽度", + "example": 1280 + }, + "height": { + "type": "integer", + "description": "实际高度", + "example": 720 + }, + "seed": { + "type": "integer", + "description": "使用的随机种子", + "example": 20231234 + } + } + }, + "VideoTaskError": { + "type": "object", + "description": "视频任务错误信息", + "properties": { + "code": { + "type": "integer", + "description": "错误码" + }, + "message": { + "type": "string", + "description": "错误信息" + } + } + }, + "OpenAIVideoError": { + "type": "object", + "description": "OpenAI 视频错误信息", + "properties": { + "message": { + "type": "string", + "description": "错误信息" + }, + "code": { + "type": "string", + "description": "错误码" + } + } + } + }, + "responses": {}, + "securitySchemes": { + "BearerAuth": { + "type": "http", + "scheme": "bearer", + "description": "使用 Bearer Token 认证。\n格式: `Authorization: Bearer sk-xxxxxx`\n" + } + } + }, + "servers": [], + "security": [ + { + "BearerAuth": [] + } + ] +} \ No newline at end of file