Перейти к содержимому
Зарегистрироваться бесплатно
API Reference

OpenAI Chat Completions API

Используйте OpenAI-compatible Chat Completions API BetterToken: полный URL запроса, Bearer API Key и примеры для curl, Python, JavaScript и отладки API.

Вызывайте OpenAI-compatible Chat Completions через POST https://bettertoken.ai/v1/chat/completions. Большинству внешних инструментов нужен только Base URL https://bettertoken.ai/v1: путь /chat/completions они добавляют самостоятельно.

Ключевые параметры

ПолеЗначение
API KeyAPI Key BetterToken
Полный URL запросаhttps://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": "Привет"
}
]
}'

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": "Привет"},
],
)
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: "Привет" }],
});
console.log(response.choices[0].message.content);

Проверка подключения

В Playground справа:

  1. Укажите YOUR_API_KEY в разделе Authorization.
  2. Замените model на YOUR_MODEL_ID.
  3. Измените messages и отправьте запрос.

Playground уже использует полный URL https://bettertoken.ai/v1/chat/completions.

Ответ 200 с текстом модели в choices[0].message.content подтверждает подключение.

Смена модели

Замените YOUR_MODEL_ID на полный Model ID из model plaza или окна Setup. Не сокращайте Model ID по отображаемому названию.

Частые ошибки

ОшибкаРешение
401Проверьте Authorization: Bearer YOUR_API_KEY и снова скопируйте API Key BetterToken.
404Для прямого HTTP-запроса используйте https://bettertoken.ai/v1/chat/completions; для base_url SDK — https://bettertoken.ai/v1.
Модель не найденаИспользуйте полный Model ID из model plaza или окна Setup.
Неверный запросПроверьте, что messages — массив, а каждый элемент содержит role и content.

Технические детали

Base URL и полный URL запроса

Инструментам, которым нужен полный URL запроса, например GitHub Copilot и TRAE, укажите https://bettertoken.ai/v1/chat/completions. В Cursor, Cline, OpenCode, n8n и Dify, которые сами добавляют путь, укажите только https://bettertoken.ai/v1.

POST/v1/chat/completions

Авторизации

Authorizationstringheaderобязательно

Используйте API Key BetterToken как bearer token. Не публикуйте API keys во frontend-коде, скриншотах, логах, тикетах или Git-репозиториях.

Тело application/json

modelstringобязательно

ID доступной выбранной модели. Ориентируйтесь на актуальный список в model plaza.

Пример:"YOUR_MODEL_ID"
messagesobject[]обязательно

Массив сообщений диалога. Каждый элемент должен содержать role и content.

Minimum array length: 1

Show child attributes
messages[].rolestringобязательно
Пример:"user"
messages[].contentstringобязательно
Пример:"Привет"
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Сработал rate limit, лимит параллельных запросов или upstream временно перегружен.
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Ошибка gateway или upstream-сервиса.
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"
}