OpenAI Compatible
接入 OpenAI 兼容 API
将兼容客户端的 Base URL 改为 https://api.xmapi.me/v1,使用支持 OpenAI 兼容协议的分组 API Key,并从模型广场选择当前可用的模型标识。
Base URLhttps://api.xmapi.me/v1
鉴权Authorization: Bearer <API_KEY>
模型从模型广场复制当前模型标识
Base URL 应该填哪一个
不同客户端会用相似的字段名表示不同层级。不要只根据“Base URL”几个字判断,应先看客户端是否会自动追加 /v1 和具体接口路径,并以最终发出的请求地址为准。
| 客户端要求 | 填写内容 | 最终请求应为 |
|---|---|---|
API 主机或根地址,并明确说明会自动追加 /v1 | 只有“使用密钥”或该客户端当前文档明确要求时,才填写 https://api.xmapi.me | https://api.xmapi.me/v1/… |
| OpenAI Base URL,客户端只追加资源路径 | https://api.xmapi.me/v1 | https://api.xmapi.me/v1/chat/completions |
| 完整 Chat Completions 端点 | https://api.xmapi.me/v1/chat/completions | 与填写内容相同 |
常见错误:客户端已经追加
/v1 时又填写含 /v1 的地址,会形成 /v1/v1/…;把完整端点填入只接受 Base URL 的字段,也可能再次追加路径。优先使用API Key 页面“使用密钥”提供的当前客户端配置。准备工作
- 注册并登录,在控制台创建 API Key。
- 为 Key 选择当前支持 OpenAI 兼容协议的分组。
- 打开模型广场,确认模型属于该分组并复制模型标识。
- 把 Key 放入服务端环境变量,不要写入浏览器代码或公开仓库。
curl 请求示例
先在当前终端设置环境变量,再调用 Chat Completions。请把 <MODEL_ID> 替换为模型广场显示的模型标识。
export XIAMA_API_KEY="<XIAMA_API_KEY>"
curl https://api.xmapi.me/v1/chat/completions \
-H "Authorization: Bearer $XIAMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<MODEL_ID>",
"messages": [
{"role": "user", "content": "用一句话介绍 API 网关"}
],
"stream": false
}'
Python SDK 示例
OpenAI Python SDK 可通过 base_url 指向兼容入口。以下代码从环境变量读取 Key。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["XIAMA_API_KEY"],
base_url="https://api.xmapi.me/v1",
)
response = client.chat.completions.create(
model="<MODEL_ID>",
messages=[
{"role": "user", "content": "用一句话介绍 API 网关"}
],
)
print(response.choices[0].message.content)
成功标志
- 请求返回 HTTP
200,响应正文没有error对象。 - 响应 JSON 中存在
choices[0].message.content,并能读到模型返回内容。 - 登录后打开
/usage使用记录,能按请求时间和模型找到这次调用。
返回内容会随模型和输入变化,不要用示例文案逐字比对;HTTP 状态、响应结构和使用记录才是稳定的成功依据。
模型切换与 Key 分组
一把 API Key 绑定一个分组。同一分组内,通常只需修改请求的 model 字段即可切换模型,不需要为每个模型单独创建 Key。
如果还要使用 Anthropic Messages 兼容接口,应为支持该协议的当前分组另建一把 Key,并按Messages 接入文档发送请求。
去 /usage 核对用量与费用
- 登录同一账户并打开使用记录。
- 按调用时间、模型或 API Key 名称定位记录,核对输入、输出等用量字段。
- 以该次调用记录中的实际费用为准;模型和价格会动态调整,本文不复制固定单价。
请求失败时
- 401:检查是否使用 Bearer 鉴权、Key 是否完整且处于可用状态。
- 400 或 404:检查请求体、端点和模型标识,确认模型属于 Key 所绑定的分组。
- 403:检查账户余额,以及 Key、账户或分组的可用范围。
- 429:检查 Key 额度或请求频率;以响应体给出的错误信息为准。
- 5xx:保留响应中的
X-Request-ID、时间、模型与端点,稍后重试;持续失败时,从官方支持页进入当前支持渠道并反馈脱敏信息。
不要向支持渠道提交真实 Key。反馈时只提供请求时间、模型、端点、HTTP 状态码、错误正文和请求 ID;如需标识 Key,可使用控制台中的 Key 名称或脱敏后的末尾字符。