Get request and usage metadata for a generation
GET https://api.alltokens.ru/api/v1/generation?id={generation_id}
Возвращает метаданные запроса и использования для одной генерации. ID берётся из ответа chat/completions или completions (поле id).
Заголовки
| Заголовок | Обязательный |
|---|---|
| Authorization: Bearer <API_KEY> | Да |
Query-параметры
| Параметр | Обязательный | Описание |
|---|---|---|
| id | Да | ID генерации (например gen-1770207365-YTQ8GGQXkNgU1FgyAkm8) |
Пример (curl)
bash
curl -X GET "https://api.alltokens.ru/api/v1/generation?id=gen-1770207365-YTQ8GGQXkNgU1FgyAkm8" \
-H "Authorization: Bearer YOUR_API_KEY"Ответ (200)
Корневой объект:
| Поле | Тип | Описание |
|---|---|---|
| data | object | Метаданные генерации (см. ниже) |
Объект data
| Поле | Тип | Описание |
|---|---|---|
| id | string | ID генерации |
| upstream_id | string | null | Внутренний ID у провайдера |
| model | string | Модель |
| provider_name | string | null | Провайдер |
| created_at | string | ISO 8601 время создания |
| streamed | boolean | null | Был ли ответ потоковым |
| cancelled | boolean | null | Отменена ли генерация |
| latency | number | null | Общая латентность (мс) |
| moderation_latency | number | null | Латентность модерации (мс) |
| generation_time | number | null | Время генерации (мс) |
| finish_reason | string | null | Причина завершения (stop, length и т.д.) |
| native_finish_reason | string | null | Причина от провайдера |
| tokens_prompt | number | null | Токены промпта |
| tokens_completion | number | null | Токены ответа |
| native_tokens_prompt | number | null | Токены промпта (нативно) |
| native_tokens_completion | number | null | Токены ответа (нативно) |
| native_tokens_completion_images | number | null | Токены изображений в ответе |
| native_tokens_reasoning | number | null | Токены рассуждений |
| native_tokens_cached | number | null | Закэшированные токены |
| total_cost | number | Стоимость (USD) |
| cache_discount | number | null | Скидка за кэш |
| upstream_inference_cost | number | null | Стоимость у провайдера |
| usage | number | Сумма использования (USD) |
| is_byok | boolean | Использовался ли свой ключ (bring-your-own-key) |
| origin | string | Origin запроса |
| api_type | string | null | Тип API: completions или embeddings |
| router | string | null | Роутер (если был авто-выбор) |
| app_id | number | null | ID приложения |
| external_user | string | null | Внешний идентификатор пользователя |
| num_media_prompt | number | null | Количество медиа во входе |
| num_input_audio_prompt | number | null | Количество аудио во входе |
| num_media_completion | number | null | Количество медиа в ответе |
| num_search_results | number | null | Количество результатов поиска |
| provider_responses | array | Опционально. Массив ответов провайдеров (id, status, latency, provider_name, model_permaslug и т.д.) |
Когда использовать
- После streaming: в chunk'ах приходит
id, по нему запрашивают generation. - Для биллинга и аналитики.
Удобная обёртка с текстовым объяснением: Route explain.
Коды ответов
| Код | Описание |
|---|---|
| 200 | Успех |
| 400 | Не указан id |
| 401 | Не авторизован |
| 404 | Генерация не найдена (повторите через 1–2 сек) |
| 500 | Внутренняя ошибка |