快速开始
接入只需要三步:获取专属 API Key、把 SDK 的 Base URL 指向网关、发起一次对话请求。鉴权方式、请求体与响应结构都与 OpenAI 官方接口保持一致。
- 登录用户控制台,在「API 密钥」页查看密钥前缀与脱敏值。
- 将客户端中的
base_url替换为https://api.qiaozi06.online/v1。 - 把
api_key换成你的sk-proxy-密钥,然后照常调用。
Bearer 鉴权。密钥在创建或重置时只完整展示一次,请妥善保存;忘记后可在控制台重置,旧密钥会立即失效。
鉴权方式
每个请求都需要在 Authorization 请求头中携带 API Key。网关会校验密钥哈希、账号状态、剩余额度与每分钟调用上限(RPM)。
Authorization: Bearer sk-proxy-xxxxxxxxxxxxxxxx
Content-Type: application/json
401:密钥缺失、格式错误或已失效。403:账号被禁用,请联系管理员。429:超出每分钟调用上限(RPM),稍后重试。
对话补全
调用 POST /v1/chat/completions 创建一次对话补全。请求体与 OpenAI 官方一致,支持 system、user、assistant 消息角色。
curl https://api.qiaozi06.online/v1/chat/completions \
-H "Authorization: Bearer sk-proxy-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{"role": "system", "content": "你是一个简洁的助手。"},
{"role": "user", "content": "用一句话解释什么是 API 网关。"}
],
"temperature": 0.7
}'
from openai import OpenAI
client = OpenAI(
api_key="sk-proxy-xxxxxxxx",
base_url="https://api.qiaozi06.online/v1",
)
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "你是一个简洁的助手。"},
{"role": "user", "content": "用一句话解释什么是 API 网关。"},
],
temperature=0.7,
)
print(resp.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-proxy-xxxxxxxx',
baseURL: 'https://api.qiaozi06.online/v1',
});
const resp = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [
{ role: 'system', content: '你是一个简洁的助手。' },
{ role: 'user', content: '用一句话解释什么是 API 网关。' },
],
temperature: 0.7,
});
console.log(resp.choices[0].message.content);
响应示例
{
"id": "chatcmpl-proxy-9f2c",
"object": "chat.completion",
"created": 1710000000,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "API 网关是统一转发与计量模型请求的中间层。" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 32,
"completion_tokens": 18,
"total_tokens": 50
}
}
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称,需在后台价格配置中启用。 |
messages | array | 是 | 消息数组,元素包含 role 与 content。 |
stream | boolean | 否 | 设为 true 时以 SSE 流式返回。 |
temperature | number | 否 | 采样温度,取值 0 到 2,默认由上游决定。 |
max_tokens | integer | 否 | 限制本次响应的最大生成 Token 数。 |
top_p | number | 否 | 核采样参数,与 temperature 建议只调整一个。 |
网关会透传上游支持的标准参数;更多参数以所调用模型的官方文档为准。
流式输出
在请求体中设置 "stream": true,网关会以 text/event-stream 逐块返回内容。每个事件以 data: 开头,最后以 data: [DONE] 结束。
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "写一首关于清晨的短诗"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
print(delta.content or "", end="", flush=True)
curl -N https://api.qiaozi06.online/v1/chat/completions \
-H "Authorization: Bearer sk-proxy-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "写一首关于清晨的短诗"}],
"stream": true
}'
data: {"id":"chatcmpl-proxy-9f2c","choices":[{"delta":{"content":"晨光"}}]}
data: {"id":"chatcmpl-proxy-9f2c","choices":[{"delta":{"content":"落在窗台"}}]}
data: [DONE]
stream_options.include_usage=true 以获取精确用量;上游未返回 usage 时由网关估算,并在调用日志的 usage_source 字段标记为 estimated。
模型列表
调用 GET /v1/models 可获取当前可用的模型列表。下方为当前已上架模型与价格,单位均为「额度 / 1K tokens」。
| 模型 | 输入价格 | 输出价格 | 状态 |
|---|---|---|---|
deepseek-flash |
0.4 | 0.8 | 可用 |
计费与额度
每次调用按实际 Token 用量计费,输入与输出分别乘以对应单价后相加,结果从账号剩余额度中扣除。
input_cost = prompt_tokens / 1000 * input_price
output_cost = completion_tokens / 1000 * output_price
total_cost = input_cost + output_cost
- 额度与价格均由后台配置,单位是「额度」而非货币,仅用于个人自用场景的用量核算。
- 调用前会校验余额,额度不足时直接返回错误,不转发上游请求。
- 调用完成后可从「调用日志」查看每次请求的 Token、费用、耗时与状态。
错误结构
非 2xx 响应统一返回 OpenAI 风格的错误对象,便于 SDK 直接解析。错误信息已做脱敏,不会包含上游密钥。
{
"error": {
"message": "API Key 无效",
"type": "authentication_error",
"param": null,
"code": "invalid_api_key"
}
}
| HTTP | type | 说明 |
|---|---|---|
400 | invalid_request_error | 请求参数缺失或格式不正确。 |
401 | authentication_error | API Key 缺失、无效或格式错误。 |
403 | permission_error | 账号被禁用,无法继续调用。 |
429 | rate_limit_error | 超出每分钟调用上限或剩余额度不足。 |
502 | upstream_error | 上游全部不可用或返回异常。 |
500 | server_error | 网关内部错误,请稍后重试。 |
常见问题
可以继续使用官方 OpenAI SDK 吗?
可以。只要 SDK 支持自定义 base_url 与 api_key,无需修改业务代码。官方的 Python、Node.js SDK 以及多数兼容框架都已验证可用。
支持哪些类型的请求?
当前提供 /v1/chat/completions 与 /v1/models 两个端点,覆盖对话补全与非流式、流式调用场景。
如何更换密钥?
在控制台「API 密钥」页点击重置密钥,确认后会生成新的 sk-proxy- 密钥并只展示一次。旧密钥立即失效,请同步更新客户端配置。
调用记录保留在哪里?
调用日志保存在你自己的数据库中,包含模型、Token、费用、耗时、状态与错误信息,可在控制台按条件筛选查看。
前往用户控制台获取密钥,或回到价格页查看模型单价。