ток

Документация

Документация шлюза

Шлюз говорит на диалекте 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 нет

Ни заголовка проекта, ни параметра маршрута: проекты живут в кабинете и группируют ключи, а маршрут выбирает алиас. Эмбеддингов, картинок и голоса пока нет — только чат.

Дальше по разделам