Alltokens

Объяснение маршрута

API, быстрый старт и гайды. Совместимо с OpenAI chat completions и streaming.

Route explain

GET https://api.alltokens.ru/api/v1/route/explain?generation_id={id}
POST https://api.alltokens.ru/api/v1/route/explain
Content-Type: application/json (для POST)

Объяснение выбора маршрута по ID генерации: модель, провайдер, латентность, стоимость, текстовая причина.

Заголовки

ЗаголовокОбязательный
Authorization: Bearer <API_KEY>Да

Параметры

ПараметрГдеОбязательныйОписание
generation_idQuery (GET) или тело (POST)ДаID генерации из ответа chat/completions (поле id) или из streaming chunk'ов

Тело POST: { "generation_id": "gen-..." }.

Пример GET (curl)

bash
curl -X GET "https://api.alltokens.ru/api/v1/route/explain?generation_id=gen-1770207274-TNlae8rCRGY9fD2Orf6h" \
  -H "Authorization: Bearer YOUR_API_KEY"

Пример POST (curl)

bash
curl -X POST "https://api.alltokens.ru/api/v1/route/explain" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"generation_id": "gen-1770207274-TNlae8rCRGY9fD2Orf6h"}'

Ответ (200)

Корневой объект (все поля возвращаются API):

ПолеТипОписание
generation_idstringПереданный ID генерации
modelstring | nullМодель
provider_namestring | nullПровайдер
latency_msnumber | nullЛатентность (мс)
generation_time_msnumber | nullВремя генерации (мс)
routerstring | nullИдентификатор роутера (если был авто-выбор)
total_cost_usdnumber | nullСтоимость (USD)
decision_reasonstringТекстовая строка объяснения (например: "Router ... selected model ... from provider ...; latency ... ms." или "Fixed model ... via provider ...; latency ... ms.")

Когда использовать

После streaming: взять id из chunk'а и вызвать explain, чтобы получить модель, провайдер и причину выбора.

Коды ответов

КодОписание
200Успех
400Не указан generation_id
401Не авторизован
404Генерация не найдена
500Внутренняя ошибка