ток

Документация / Быстрый старт

Первый запрос за минуту

Получите ключ в кабинете, подставьте base_url — и код на OpenAI SDK уже ходит через ток. Модель называется алиасом; список алиасов, открытых вашему ключу, отдаёт GET /v1/models.

import os

from openai import OpenAI

client = OpenAI(
    base_url="https://ai.globall.dev/v1",
    api_key=os.environ["TOK_API_KEY"],
)

r = client.chat.completions.create(
    model="anthropic/claude-haiku-5.5",
    messages=[{"role": "user", "content": "Привет"}],
    max_tokens=64,
)
print(r.choices[0].message.content)
print(r.usage.cost, "USD")
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://ai.globall.dev/v1",
  apiKey: process.env.TOK_API_KEY,
});

const r = await client.chat.completions.create({
  model: "anthropic/claude-haiku-5.5",
  messages: [{ role: "user", content: "Привет" }],
  max_tokens: 64,
});
console.log(r.choices[0].message.content);
console.log(r.usage.cost, "USD");
curl https://ai.globall.dev/v1/chat/completions \
  -H "Authorization: Bearer $TOK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-haiku-5.5",
    "messages": [{"role": "user", "content": "Привет"}],
    "max_tokens": 64
  }'

Ключ — в переменной окружения

Ключ открывает счёт организации, поэтому в коде ему не место: держите его в переменной окружения или в секрет-хранилище. Скомпрометированный ключ отзывается в кабинете за секунду, старый после этого не работает.

Платите за факт

Перед запросом шлюз резервирует потолок стоимости, после ответа списывает фактическую сумму, разницу возвращает. В usage.cost приходит то, что списано с вас, в долларах; в кабинете те же деньги показаны в рублях по курсу дня.

Поля тела

model
string
Алиас из GET /v1/models. Не имя модели вендора: за алиасом стоит несколько маршрутов.
messages
array
Роли system (она же developer), user, assistant, tool. Содержимое — строка или массив частей text / image_url.
stream
boolean
true — ответ по частям через SSE. См. раздел «Стриминг».
max_tokens
integer
Потолок ответа. max_completion_tokens значит то же и выигрывает, если пришли оба.
temperature, top_p, seed, stop
number / array
Передаются вендору как есть.
tools, tool_choice, parallel_tool_calls
array / object
Вызов инструментов в формате OpenAI. Маршрут выбирается только среди моделей, которые их умеют.
response_format
object
text, json_object или json_schema. Другой тип — 400.
n
integer
Только 1: шлюз возвращает один вариант ответа.

Незнакомые поля шлюз игнорирует, а не отклоняет: клиент вправе слать то, что понимает его SDK. Отказ приходит только на то, что шлюз не может выполнить, — на n больше единицы, на пустой messages, на неизвестную роль.