用 SDK 和 curl 直接调用 ROIBest AI
不是所有场景都跑在 CLI 客户端里。自己写脚本、接到现有服务、或者只是想快速验证一条链路时,直接调接口最省事——官方 SDK 一行都不用改,只换 base URL 和密钥。
网关暴露的端点
ROIBest AI 同时提供两套协议,端点和官方保持一致:
Anthropic 兼容(需要 Anthropic 兼容分组的密钥)
POST /v1/messagesPOST /v1/messages/count_tokens
OpenAI 兼容(需要 OpenAI 兼容分组的密钥)
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/embeddingsPOST /v1/images/generations、POST /v1/images/editsGET /v1/models
认证两种写法都接受:
Authorization: Bearer <你的密钥>
x-api-key: <你的密钥>选哪个取决于 SDK 的习惯,不必特意统一。
curl:最快的验证方式
接任何客户端之前先跑一次 curl,可以把"网关能不能通"和"客户端配得对不对"彻底分开。
OpenAI 协议:
curl https://ai.roibest.com/v1/chat/completions \
-H "Authorization: Bearer $ROIBEST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"messages": [{"role": "user", "content": "ping"}]
}'Anthropic 协议:
curl https://ai.roibest.com/v1/messages \
-H "Authorization: Bearer $ROIBEST_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 64,
"messages": [{"role": "user", "content": "ping"}]
}'注意两者的密钥不通用——分别属于两个协议分组。
Python
OpenAI SDK:
from openai import OpenAI
client = OpenAI(
base_url="https://ai.roibest.com/v1",
api_key="你的密钥",
)
resp = client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "ping"}],
)
print(resp.choices[0].message.content)Anthropic SDK:
from anthropic import Anthropic
client = Anthropic(
base_url="https://ai.roibest.com",
api_key="你的密钥",
)
msg = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=64,
messages=[{"role": "user", "content": "ping"}],
)
print(msg.content[0].text)注意两个 SDK 的 base URL 写法不同:OpenAI SDK 要带 /v1,Anthropic SDK 不要带——它自己会拼。这是接入时最常见的 404 来源。
Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://ai.roibest.com/v1",
apiKey: process.env.ROIBEST_API_KEY,
});
const resp = await client.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "ping" }],
});
console.log(resp.choices[0].message.content);其它走 OpenAI 协议的客户端
OpenCode、Cline、Roo Code 这类工具大多支持自定义 OpenAI 兼容端点。配置项的名字各不相同,但要填的东西只有两样:
- Base URL:
https://ai.roibest.com/v1 - API Key:OpenAI 兼容分组的密钥
如果客户端的配置项叫 "OpenAI Base URL" 或 "Custom endpoint",填上面的地址即可;具体字段位置以各客户端自己的文档为准。填完之后同样建议先用 curl 验证一次网关侧没问题,再回去排查客户端。
查当前可用的模型
curl https://ai.roibest.com/v1/models \
-H "Authorization: Bearer $ROIBEST_API_KEY"返回的是你这个账户和分组下实际可用的模型列表。写死模型名之前先查一次,比凭记忆写可靠。
用量在哪看
不管走哪条协议、用哪个 SDK,每次请求都会记进控制台的用量明细:模型、协议分组、输入与输出 Token、缓存 Token、计费方式、费用、延迟。出错的请求记在独立的错误记录里,不会混在正常用量中。