跳转到内容
免费注册
接口文档

OpenAI Chat Completions API

使用 BetterToken OpenAI-compatible Chat Completions API:完整请求 URL、Bearer API Key、curl、Python 和 JavaScript 示例。

通过 POST https://bettertoken.ai/v1/chat/completions 调用 OpenAI-compatible Chat Completions。外部工具通常只填写 Base URL https://bettertoken.ai/v1,由工具自行追加 /chat/completions。

重点信息

字段填写内容
API KeyBetterToken API Key
完整请求 URLhttps://bettertoken.ai/v1/chat/completions
ModelYOUR_MODEL_ID

准备工作

安装

curl

curl 无需额外 SDK。确认终端可以运行 curl --version。

Python

终端窗口
python -m pip install openai

JavaScript

终端窗口
npm install openai

手动配置

curl

终端窗口
curl "https://bettertoken.ai/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Hello"
}
]
}'

Python SDK

from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://bettertoken.ai/v1",
)
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{"role": "user", "content": "Hello"},
],
)
print(response.choices[0].message.content)

JavaScript SDK

import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://bettertoken.ai/v1",
});
const response = await client.chat.completions.create({
model: "YOUR_MODEL_ID",
messages: [{ role: "user", content: "Hello" }],
});
console.log(response.choices[0].message.content);

验证连接

在右侧 Playground 中:

  1. 在 Authorization 中输入 YOUR_API_KEY。
  2. 将 model 替换为 YOUR_MODEL_ID。
  3. 修改 messages 后发送请求。

Playground 使用完整路径 https://bettertoken.ai/v1/chat/completions,无需手动拼接 endpoint。

收到 200 响应且 choices[0].message.content 包含模型回复,即表示连接成功。

切换模型

把请求中的 YOUR_MODEL_ID 替换为模型广场或 Setup 弹窗中的完整 Model ID。不要根据展示名称自行缩写 Model ID。

常见错误

错误处理方式
401检查 Authorization 是否为 Bearer YOUR_API_KEY,并重新复制 BetterToken API Key。
404直接调用使用完整 URL https://bettertoken.ai/v1/chat/completions;SDK 的 base_url 使用 https://bettertoken.ai/v1。
模型不存在使用模型广场或 Setup 弹窗中的完整 Model ID。
请求格式错误确认 messages 是数组,并且每项包含 role 和 content。

技术说明

Base URL 与完整请求 URL

GitHub Copilot 和 TRAE 等要求完整请求 URL 的工具使用 https://bettertoken.ai/v1/chat/completions。Cursor、Cline、OpenCode、n8n 和 Dify 等会自行追加路径的工具只填写 https://bettertoken.ai/v1。

POST/v1/chat/completions

授权

Authorizationstringheader必填

Use your BetterToken API Key as a bearer token. Do not expose API keys in frontend browser code, screenshots, logs, tickets, or Git repositories.

请求体 application/json

modelstring必填

模型广场中可用的模型 ID。请以模型广场当前显示的模型为准。

示例:"YOUR_MODEL_ID"
messagesobject[]必填

对话消息数组。每项应包含 role 和 content。

Minimum array length: 1

Show child attributes
messages[].rolestring必填
示例:"user"
messages[].contentstring必填
示例:"Hello"
streamboolean默认值: false

是否请求流式响应。

响应

200所选模型返回的 Chat Completions API 响应。

OpenAI-compatible Chat Completions API 响应。实际字段会随所选模型和请求参数变化。

示例
{}
400请求格式错误、缺少参数、JSON 或 multipart 解析失败、尺寸格式错误。
errorobject
Show child attributes
示例:"invalid request"
示例:"invalid_request_error"
示例:"invalid_request"
messagestring
示例:"insufficient quota"
示例
{
  "error": {
    "message": "invalid request",
    "type": "invalid_request_error",
    "code": "invalid_request"
  },
  "message": "insufficient quota"
}
401API Key 缺失或无效。
errorobject
Show child attributes
示例:"invalid request"
示例:"invalid_request_error"
示例:"invalid_request"
messagestring
示例:"insufficient quota"
示例
{
  "error": {
    "message": "invalid request",
    "type": "invalid_request_error",
    "code": "invalid_request"
  },
  "message": "insufficient quota"
}
402额度或余额不足。
errorobject
Show child attributes
示例:"invalid request"
示例:"invalid_request_error"
示例:"invalid_request"
messagestring
示例:"insufficient quota"
示例
{
  "error": {
    "message": "invalid request",
    "type": "invalid_request_error",
    "code": "invalid_request"
  },
  "message": "insufficient quota"
}
429触发限速、并发限制或上游繁忙。
errorobject
Show child attributes
示例:"invalid request"
示例:"invalid_request_error"
示例:"invalid_request"
messagestring
示例:"insufficient quota"
示例
{
  "error": {
    "message": "invalid request",
    "type": "invalid_request_error",
    "code": "invalid_request"
  },
  "message": "insufficient quota"
}
500网关或上游服务异常。
errorobject
Show child attributes
示例:"invalid request"
示例:"invalid_request_error"
示例:"invalid_request"
messagestring
示例:"insufficient quota"
示例
{
  "error": {
    "message": "invalid request",
    "type": "invalid_request_error",
    "code": "invalid_request"
  },
  "message": "insufficient quota"
}