Первый запрос
Пять шагов: получить ключ, положить его в окружение, отправить запрос, прочитать стоимость, проверить остаток.
Самый короткий путь от нуля до ответа модели. Из кабинета понадобится одна вещь — ключ.
Шаг 1. Получить ключ
Создай ключ в кабинете, на странице «Ключи» (app.teamtoken.store/keys). Подробности про заголовки, лимиты и утечки — /docs/auth.
Шаг 2. Положить ключ в переменную окружения
Ключ тратит настоящие деньги: в коде, в конфиге под git и в истории команд ему не место. В примерах ниже он читается из окружения.
export TEAMTOKEN_KEY="sk-…"Шаг 3. Отправить запрос
Базовый URL — https://api.teamtoken.store/v1, ручка — /v1/chat/completions. Имя модели берётся из GET /v1/models или из каталога с ценами GET /cabinet/api/public/models; в примерах стоит gpt-5.6-sol.
В SDK, кроме base_url и ключа, менять нечего.
curl https://api.teamtoken.store/v1/chat/completions \
-H "Authorization: Bearer $TEAMTOKEN_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [{ "role": "user", "content": "Hi" }],
"max_tokens": 200
}'Шаг 4. Прочитать стоимость в ответе
Ответ приходит в форме OpenAI плюс наша стоимость: заголовок x-teamtoken-cost-usd и поле usage.cost_usd (в cURL заголовки покажет -i, в Python-SDK нестандартный usage лежит в model_extra).
Это десятичная строка, а не число: числом её показал бы уже клиент, по правилам своего языка. Считать по ней бюджет — в decimal, а не во float.
У стрима стоимости в заголовках нет — они уходят раньше, чем она известна. Проси финальный usage-кадр через stream_options с include_usage: без него шлюз поток не разбирает.
{
"id": "chatcmpl-…",
"object": "chat.completion",
"model": "gpt-5.6-sol",
"choices": [
{ "index": 0, "message": { "role": "assistant", "content": "Hi!" }, "finish_reason": "stop" }
],
"usage": { "prompt_tokens": 9, "completion_tokens": 12, "cost_usd": "0.0000465" }
}Шаг 5. Проверить остаток
Тем же ключом: GET /v1/balance отдаёт начисленное, расход, остаток и валюту. В расход входят резервы под идущие генерации, поэтому после постановки задачи остаток уменьшится сразу.
curl https://api.teamtoken.store/v1/balance \
-H "Authorization: Bearer $TEAMTOKEN_KEY"Куда дальше: медиа и каталог
Картинки и видео устроены как джобы — как именно, на /docs/intro и на страницах ручек.
Какие модели есть и сколько стоят — GET /cabinet/api/public/models и /cabinet/api/public/media-models; ключ не нужен, и это единственный источник цен.
Полный справочник — /docs, тот же контракт машиночитаемо — /openapi.public.ru.json. Конфиги агентов и IDE — /docs/tools.