Документация
Документация шлюза
Шлюз говорит на диалекте OpenAI: два эндпоинта, ключ в заголовке Authorization, ответы того же формата. Меняете base_url — и код, который ходил в OpenAI, ходит через нас.
Базовый адрес — https://ai.globall.dev/v1. Ключ выдаётся в кабинете, начинается с gw_live_ и передаётся в заголовке Authorization: Bearer. Больше ничего настраивать не нужно.
Что есть в API
- POST /v1/chat/completions
- endpoint
- Ответ модели. Буферный или потоковый — решает поле stream в теле.
- GET /v1/models
- endpoint
- Алиасы, доступные этому ключу. То, что лежит в поле model запроса.
Других путей под /v1 нет: запрос на любой из них получит 404 с телом ошибки, а не HTML.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://ai.globall.dev/v1",
api_key=os.environ["TOK_API_KEY"],
)
for m in client.models.list().data:
print(m.id)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://ai.globall.dev/v1",
apiKey: process.env.TOK_API_KEY,
});
const list = await client.models.list();
for (const m of list.data) console.log(m.id);
curl https://ai.globall.dev/v1/models \ -H "Authorization: Bearer $TOK_API_KEY"
Меняется одна строка
Официальный SDK OpenAI на любом языке работает как есть: достаточно подставить base_url и ключ. Тот же приём работает в LangChain, Vercel AI SDK и LiteLLM.
Чего в API нет
Ни заголовка проекта, ни параметра маршрута: проекты живут в кабинете и группируют ключи, а маршрут выбирает алиас. Эмбеддингов, картинок и голоса пока нет — только чат.
Дальше по разделам
- Быстрый старт — первый запрос и поля тела.
- Аутентификация — ключи, заголовки, лимиты, пауза и блокировка.
- Модели и роутинг — алиасы, лестница отказов, липкость диалога.
- Стриминг — SSE, heartbeat и единственный кадр с usage.
- Ошибки — статусы, коды и что с ними делать.