一、概述
本站提供 OpenAI Chat Completions(/v1/chat/completions) 格式兼容接入。已在 OpenAI 官方 SDK 或 OpenAI 兼容客户端里跑通的代码,只需把请求地址指向本站网关的 OpenAI 入口、把 api_key 换成站内 sk- 密钥即可,其余调用方式不变。
当前可用的 GPT 系列模型以模型广场为准(如 gpt-5.4、gpt-5.5、gpt-5.4-mini、gpt-4o 等),完整清单与单价通过 GET /v1/models 查询。
二、接口地址
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/chat/completions | 聊天补全(非流式 / 流式),请求体为 OpenAI 载荷 |
| GET | /v1/models | 模型与单价列表(无需鉴权) |
网关地址:https://www.azztimes.com。OpenAI 兼容调用请把请求发到 POST https://www.azztimes.com/v1,路径原样填写。
三、鉴权方式
Authorization: Bearer sk-你的密钥
在「用户中心 → API 密钥」创建 sk- 开头的密钥。使用与官方 OpenAI 相同的鉴权头,SDK 会自动添加 Authorization 头。
四、快速开始
4.1 curl(非流式)
curl -X POST https://www.azztimes.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gpt-5.4",
"messages": [
{"role": "system", "content": "你是一个乐于助人的助手。"},
{"role": "user", "content": "用三句话介绍自己"}
],
"temperature": 0.7,
"max_tokens": 512
}'
4.2 OpenAI SDK(Python)
from openai import OpenAI
client = OpenAI(
base_url="https://www.azztimes.com/v1",
api_key="sk-你的密钥",
)
resp = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
把 base_url 设为上表 OpenAI 入口并替换 api_key 后,其余调用方式与官方 SDK 完全一致。
五、请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型 slug,如 gpt-5.4 |
| messages | array | 是 | 消息列表,元素为 {role, content};role 取值 system / user / assistant |
| temperature | number | 否 | 采样温度,默认 1.0 |
| top_p | number | 否 | 核采样,默认 1.0 |
| max_tokens | int | 否 | 最大输出 token 数 |
| stream | bool | 否 | 是否流式返回,默认 false |
| stop | string / array | 否 | 停止序列 |
| presence_penalty / frequency_penalty | number | 否 | 重复惩罚,范围 -2~2 |
六、响应结构
{
"id": "chatcmpl-123456",
"object": "chat.completion",
"created": 1710000000,
"model": "gpt-5.4",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "你好!很高兴见到你。"},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 12,
"total_tokens": 30
}
}
| 字段 | 说明 |
|---|---|
| id | 本次补全的唯一 ID |
| choices[].message | 助手回复,content 为文本内容 |
| choices[].finish_reason | 结束原因:stop / length / content_filter |
| usage.prompt_tokens | 输入 token 数(计费依据) |
| usage.completion_tokens | 输出 token 数(计费依据) |
| usage.total_tokens | 总 token 数 |
七、流式输出
请求体加 "stream": true 后返回 SSE 流,每个 data: 行是一个 chunk:
data: {"id": "chatcmpl-123456", "object": "chat.completion.chunk", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": null}]}
data: {"id": "chatcmpl-123456", "object": "chat.completion.chunk", "choices": [{"index": 0, "delta": {"content": "你好"}, "finish_reason": null}]}
data: {"id": "chatcmpl-123456", "object": "chat.completion.chunk", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}]}
data: [DONE]
客户端拼接各 chunk 的 choices[0].delta.content 即可得到完整回复;收到 [DONE] 表示流结束。OpenAI SDK 传 stream=True 后会自动处理这些事件。
八、常见错误码
| HTTP 状态码 | 含义 | 处理建议 |
|---|---|---|
| 400 | 请求参数不合法(模型不存在、messages 为空等) | 检查请求体字段 |
| 401 | 无效或缺失 API 密钥 | 检查 Authorization 头与密钥格式 |
| 403 | 密钥停用、余额不足,或该密钥未授权此模型/路线 | 充值或检查密钥授权 |
| 404 | 路径或模型不存在 | 确认 base_url 与 model 名称 |
| 429 | 触发限流 | 指数退避后重试 |
| 500 | 服务内部错误 | 稍后重试,持续异常请联系客服 |
错误响应体统一为 {"code": 状态码, "message": "错误说明", "data": null} 结构。
九、兼容性说明
- 支持 OpenAI SDK(Python / Node.js 等)通过自定义
base_url接入。 - 支持各类 OpenAI 兼容客户端(LobeChat、ChatBox、NextChat、One API 等)配置自定义接口地址。
- 模型名以
GET /v1/models返回的 slug 为准。
