核心指南
网关
从第一条请求到生产接入:先选对协议和接口地址,再理解密钥分组、请求路由、流式响应、错误重试与调用追踪。
先选协议,再发送第一条请求
KHaiXAPI 提供多个兼容接口,但它们不是同一种请求格式。Base URL、完整 endpoint、认证头和请求体必须属于同一协议;模型 ID 则以登录后的模型广场为准。
| 协议 | SDK Base URL | 完整请求地址 | 认证与核心字段 |
|---|---|---|---|
| OpenAI Responses | https://api.khaix.net/v1 |
POST /v1/responses |
Authorization: Bearerinput |
| OpenAI Chat Completions | https://api.khaix.net/v1 |
POST /v1/chat/completions |
Authorization: Bearermessages |
| Anthropic Messages | https://api.khaix.net |
POST /v1/messages |
x-api-keymessages、max_tokens |
SDK 通常会在 Base URL 后自动拼接路径;直接发送 HTTP 请求时则使用完整地址。最常见的 404 原因是重复拼接成 /v1/v1 或把完整 endpoint 填进 Base URL。
curl https://api.khaix.net/v1/responses \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"input": "Reply only with: connected"
}'
- 响应:HTTP 状态为 2xx,Responses 返回
status: "completed",文本位于消息输出项中。 - 记录:控制台出现对应的时间、API Key、模型、分组、状态和用量记录。
- 下一步:最小非流式请求成功后,再分别验证流式、工具调用、结构化输出和附件能力。
完整请求与响应结构见文本 API 文档。
一条请求实际经过哪些环节
API Key 所属分组决定本次请求可使用的模型范围、计费方式与限额。客户端发送模型 ID 后,网关在该权限范围内完成鉴权、路由、服务资源调度和用量记录。
-
01
客户端组装请求
确定协议、最终路径、模型 ID、请求体以及是否启用流式。
-
02
网关校验密钥
检查密钥状态、所属分组、有效期、IP 规则、额度和适用限额。
-
03
解析模型与权限
确认该分组允许当前模型和接口;未知模型或不匹配的协议会拒绝请求。
-
04
调度可用服务资源
平台根据分组、模型与当前运行状态选择可用资源,并将请求发送给对应模型服务。
-
05
传回响应
非流式请求返回完整响应;流式请求持续传回相应协议的 SSE 事件。
-
06
记录用量
平台保存鉴权、模型、状态、Token、费用和耗时等调用与计费元数据。
更换 Base URL 后,必须重新验证这些能力
能填写 Base URL、API Key 和模型 ID,只说明客户端允许自定义接口,不代表完整兼容。迁移时应逐项验证客户端实际发送的协议和功能。
| 检查项 | 为什么会不同 | 验证方法 |
|---|---|---|
| 最终路径 | 不同 SDK 会自动拼接不同路径 | 记录客户端实际请求 URL,确认没有重复或缺少 /v1 |
| 认证头 | OpenAI 兼容接口与 Anthropic Messages 的认证方式不同 | 分别检查 Authorization 或 x-api-key |
| 请求与响应字段 | input、messages 以及返回文本位置不同 |
用最小请求验证协议,再接入现有解析代码 |
| 流式事件 | 不同协议使用不同 SSE 事件和结束信号 | 先验证非流式,再单独检查事件解析和读取超时 |
| 工具与结构化输出 | 能力取决于模型、协议、字段和网关当前兼容范围 | 用无副作用工具逐项测试参数、调用结果和错误处理 |
| 附件与上下文 | 输入格式、大小和上下文限制可能不同 | 从小文件和短上下文开始,逐步接近生产负载 |
厂商能力通常最先可用
使用厂商账户、接口和账单;新参数与专属功能通常以官方实现为准,但需要分别管理多套凭据和用量。
统一密钥、分组和调用记录
减少多套账户配置,但增加一层协议与运行依赖;可用能力以当前接口、模型、分组和实际测试为准。
先判断错误类型,再决定是否重试
状态码只说明失败发生在哪一类环节。先读取完整错误信息和响应头,再按下面的顺序处理;修正配置类错误时,不要用高频重试掩盖问题。
| 结果 | 常见含义 | 建议动作 |
|---|---|---|
400 / 422 | 协议、JSON 或字段不符合当前接口 | 对照接口文档修正请求;不要原样重试 |
401 | 密钥缺失、无效或认证头错误 | 检查密钥状态及 Authorization / x-api-key |
403 | 密钥、分组、订阅或模型权限不满足 | 核对密钥所属分组、订阅状态和模型可见范围 |
404 | 最终请求路径错误 | 检查是否重复拼接 /v1 或使用了错误 endpoint |
413 | 请求体超过当前 25 MB 上限 | 缩短历史、减少内嵌内容或附件;延长超时无效 |
429 | 余额、密钥额度、订阅额度、请求速率、并发或上游限流 | 先看错误信息和控制台,再遵循 Retry-After 或指数退避 |
5xx / 网络错误 | 网关、网络链路或模型服务暂时不可用 | 保留请求 ID,进行次数受限且带随机抖动的重试 |
2xx 后流中断 | 连接已建立,但 SSE 未完整结束 | 检查最后一个事件、读取超时和代理缓冲;不要只看初始状态码 |
把 API Key 当作权限和成本边界
API Key 不只用于登录。它关联所属分组,并可能同时受状态、总额度、有效期、IP 规则和当前账户的限额配置影响。
分组与模型
决定可见模型、计费资金池和适用规则;同分组新建密钥不会增加模型权限。
额度与有效期
密钥总额度与账户余额是两层限制;任一不足或到期都可能阻止调用。
速率与并发
RPM 限制单位时间请求数,并发限制同时处理数;长流式请求会更久占用并发。
访问来源
已配置的 IP 白名单或黑名单会参与鉴权,部署出口变化后应同步核对。
- 按环境隔离:生产、测试、本地开发和不同应用使用独立密钥。
- 只在服务端保存:使用环境变量或 Secret 管理服务,不把密钥放进浏览器、移动端包或公开仓库。
- 限制影响范围:按当前控制台提供的选项设置额度、有效期、访问来源或用量窗口。
- 发现泄露立即轮换:先撤销旧密钥,再更新调用端;仅修改客户端显示名称不能阻止滥用。
用一条记录回答“调用去哪了、花了多少”
控制台可按 API Key、模型、分组、请求类型和计费方式筛选调用记录。排错时先定位单条请求,再判断是客户端、权限、路由还是模型服务问题。
| 字段 | 它能回答的问题 |
|---|---|
| 请求编号与时间 | 具体是哪一次调用,是否与客户端日志和重试时间对应 |
| API Key、分组与模型 | 请求来自哪个应用,使用了哪组权限和模型 ID |
| 接口与请求类型 | 使用了 Responses、Chat Completions、Messages 或其他计费类型 |
| 输入、输出与缓存 Token | 用量由哪些部分组成,是否存在异常上下文或缓存项目 |
| 计费方式、倍率与最终费用 | 本次调用按何种规则结算,实际扣减是多少 |
| 状态、总耗时与首 Token 延迟 | 请求是否完成,慢在建立连接、首包还是完整生成 |
X-Request-ID由服务端返回,用于定位平台请求记录。
客户端关联 ID可由客户端自行生成并保留在本方日志;平台不保证原样返回或索引该请求头。
联系支持时请提供 UTC 时间、模型、协议、是否流式、脱敏后的实际 URL、HTTP 状态、完整错误信息和请求 ID。不要发送完整 API Key、Prompt 或正常响应正文。详细步骤见排错与安全文档。
区分请求正文、调用记录与上游处理
| 数据类别 | 处理方式 |
|---|---|
| 正常请求正文与正常响应 | 在运行内存和传输链路中即时处理,不写入 KHaiXAPI 业务存储或业务备份 |
| 调用与计费元数据 | 为鉴权、用量、计费、排障与安全保存;通常不包含 Prompt 或正常响应正文 |
| 异常诊断与安全信息 | 无法解析的请求、安全事件等特殊情形可能形成受限、经清理的诊断材料 |
| 主动提交的客服材料 | 你提交的截图、文件或正文会作为客服和争议处理材料保存 |
| 模型服务处理 | 实际完成推理的模型上游及其处理商会接收内容,并适用其自身规则 |
KHaiXAPI 不将正常 Prompt 或正常模型响应用于训练自有通用模型。原始调用与计费记录原则上不超过 90 日,小时汇总原则上不超过 180 日,日级汇总原则上不超过 730 日;争议、安全调查或法定义务可能延长相关记录的保存期限。
上线前完成这九项检查
常见问题
同名模型与官网直连一定完全相同吗?
不能保证。模型版本、当前路由、协议适配、参数和模型随机性都可能造成差异。关键业务应对实际接口和输入做回归测试。
为什么密钥有效仍然返回 403?
密钥有效不代表当前分组、订阅和模型权限同时有效。请检查密钥所属分组、订阅状态、模型可见范围以及已配置的访问规则。
429 是否只表示余额不足?
不是。429 还可能来自密钥额度、订阅额度、RPM、并发保护或模型上游限流。以完整错误信息和控制台状态判断,不要无限重试。
失败、超时或断流的请求一定不会收费吗?
不能一概而论。模型服务可能已经执行并产生用量,只是客户端没有收到完整响应;应用自动重试也可能形成另一条记录。请以对应调用记录和调用时规则为准。
最小 cURL 成功,但应用仍然失败怎么办?
这通常说明账户和基础连通性正常。继续比较应用实际 URL、协议、认证头、附加字段、SSE 解析、代理设置和读取超时,逐项恢复功能。
平台会保存 Prompt 和模型响应吗?
正常请求正文和正常模型响应不会写入 KHaiXAPI 业务存储或业务备份;平台会保留调用与计费元数据。异常诊断、安全、客服材料、法律要求及模型上游处理等边界见隐私政策。