Chat Completions API
Все активные языковые модели используют одинаковый совместимый с OpenAI поток
запросов и ответов. Изменяйте только значение model, чтобы переключаться между
GPT, Claude, Gemini, DeepSeek, Grok и другими доступными семействами.
Эндпоинт
POST /api/v1/chat/completions
Минимальный запрос
curl -X POST https://api.apihubs.ru/api/v1/chat/completions \
-H "Authorization: Bearer $API_STOCK_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [
{ "role": "user", "content": "Explain exponential backoff in one sentence." }
]
}'
Ответ является стандартным ответом OpenAI Chat Completions без конверта API
Stock { code, data }.
SDK OpenAI
from openai import OpenAI
client = OpenAI(
api_key="sk-…",
base_url="https://api.apihubs.ru/api/v1",
)
response = client.chat.completions.create(
model="gpt-5.6-sol",
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)
Параметры запроса
| Поле | Обязательно | Описание |
|---|---|---|
model | Да | Точный идентификатор активной модели из таблицы ниже. |
messages | Да | Объекты сообщений OpenAI в порядке их следования в разговоре. |
stream | Нет | Установите true для получения фрагментов событий от сервера. |
temperature | Нет | Поддерживаемая выбранной моделью температура сэмплирования. |
top_p | Нет | Поддерживаемое выбранной моделью значение nucleus-sampling. |
max_tokens | Нет | Максимальное количество сгенерированных токенов. |
tools | Нет | Определения инструментов, совместимых с OpenAI. |
tool_choice | Нет | Управляет выбором инструментов. |
response_format | Нет | Запрашивает структурированный вывод, если модель поддерживает его. |
Другие поля OpenAI передаются далее. Поддержка расширенных полей может различаться в зависимости от модели; неподдерживаемое поле возвращает ошибку исходного поставщика.
Потоковые ответы
Установите stream: true и используйте стандартные SSE-фреймы data:. Поток
заканчивается data: [DONE]. Потоковые и непотоковые запросы используют одни и
те же идентификаторы моделей и схему оплаты.
curl -N -X POST https://api.apihubs.ru/api/v1/chat/completions \
-H "Authorization: Bearer $API_STOCK_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"stream": true,
"messages": [
{ "role": "user", "content": "Explain exponential backoff in one sentence." }
]
}'
Чтобы получить статистику токенов в потоковом запросе, добавьте
"stream_options": { "include_usage": true }. Счётчики придут в последнем блоке
после финального обновления содержимого.
Предпочтительно использование потоковой передачи для длинных ответов или ответов, требующих логики. Запрос без потоковой передачи держит соединение открытым без передачи байтов до готовности всего ответа, а модели для логических рассуждений могут занимать более минуты. CDN перед API ограничивает бездействующее проксированное соединение примерно 100 секундами и затем возвращает
524— без заголовков CORS, поэтому в браузере это проявляется как вводящая в заблуждение ошибка CORS, а не как тайм-аут. Потоковая передача обеспечивает постоянный поток байтов, поэтому соединение никогда не простаивает, и ограничение не применяется. В Playground на панели всегда используется потоковая передача по этой причине.
Доступные модели
Все приведённые ниже модели используют один и тот же контракт запроса. См. страницу с ценами для текущих тарифов на токены.
| Семейство | ID модели |
|---|---|
| Claude | claude-fable-5 |
| Claude | claude-opus-5 |
| Claude | claude-sonnet-5 |
| DeepSeek | deepseek-v4-flash |
| DeepSeek | deepseek-v4-pro |
| Gemini | gemini-3.5-flash |
| Gemini | gemini-3.5-flash-high |
| Gemini | gemini-3.6-flash |
| Gemini | gemini-3.7-flash |
| GLM | glm-5.2 |
| GLM | glm-5.3 |
| GPT | gpt-5.5 |
| GPT | gpt-5.6-luna |
| GPT | gpt-5.6-sol |
| GPT | gpt-5.6-terra |
| GPT | gpt-6-astra |
| Grok | grok-4.5 |
| Grok | grok-4.6 |
| Kimi | kimi-k2.7-code |
| Kimi | kimi-k3 |
| MiniMax | minimax-m3 |
| Qwen | qwen3.7-plus |
Источником истины во время выполнения является GET /api/v1/catalog. Биллинг
использует потребление токенов, возвращаемое провайдером.
Ошибки
Ошибки аутентификации, ограничения по количеству запросов, проверки и поставщика
используют HTTP-статус и тело ответа, совместимые с OpenAI. Повторяйте ответы
429 и временные 5xx с экспоненциальной задержкой; исправляйте ошибки запроса
4xx перед повторной попыткой.