ИИ-анализ
LLM — модели и chat completions
Все эндпоинты ниже относятся к префиксу /v2 и используют ту же HMAC‑аутентификацию, что и остальной API (X-Public-Key, X-Timestamp, X-Signature). Подробнее — Аутентификация.
Ответы POST …/chat/completions отдаются в потоковом режиме (text/event-stream / фрагментированный JSON одним телом — как в продакшене), в стиле OpenAI: в итоге в теле присутствуют id, object, created, model, choices, usage. Точная форма стрима описана в OpenAPI.
Список моделей — GET /v2/ai/models
Возвращает массив доступных для чата моделей: имя и описание.
TS=$(date +%s)
SIG=$(printf "%s\n%s" "$API_PUBLIC" "$TS" | openssl dgst -sha256 -hmac "$API_SECRET" -hex | sed 's/^.* //')
curl -sS "https://api.transcription.aiesa.ru/api/v2/ai/models" \
-H "X-Public-Key: $API_PUBLIC" \
-H "X-Timestamp: $TS" \
-H "X-Signature: $SIG"Пример ответа 200:
{
"models": [
{ "name": "aiesa-mini", "description": "…" },
{ "name": "aiesa-pro", "description": "…" }
]
}Общий чат — POST /v2/chat/completions
OpenAI‑совместимый chat completion: массив messages с объектами { "role", "content" } (role: system | user | assistant). Поле model обязательно: aiesa-mini или aiesa-pro. Опционально: temperature (0–1), max_tokens.
TS=$(date +%s)
BODY='{"model":"aiesa-mini","messages":[{"role":"user","content":"Привет"}]}'
SIG=$(printf "%s\n%s" "$API_PUBLIC" "$TS" | openssl dgst -sha256 -hmac "$API_SECRET" -hex | sed 's/^.* //')
curl -sS -X POST "https://api.transcription.aiesa.ru/api/v2/chat/completions" \
-H "Content-Type: application/json" \
-H "X-Public-Key: $API_PUBLIC" \
-H "X-Timestamp: $TS" \
-H "X-Signature: $SIG" \
-d "$BODY"Чат по тексту транскрипции — POST /v2/transcriptions/{transcriptionId}/chat/completions
Запрос к LLM в контексте готовой транскрипции (status: completed, есть текст). В тело передаётся messages — массив строк (тексты пользователя). Текст транскрипции подмешивается на стороне API. Контекст диалога хранится отдельно для каждой пары (транскрипция + модель).
Опционально: model — aiesa-mini или aiesa-pro (по умолчанию aiesa-mini), temperature (0–2), maxTokens или max_tokens.
Подробнее о транскрипциях — Транскрибация.
Поведение и биллинг:
- Для
aiesa-mini: 5 бесплатных запросов на транскрипцию; далее — списание по тарифу. - Для
aiesa-pro: запросы платные. - Если при создании транскрипции был передан
ai_prompt, он учитывается как один из пяти бесплатных запросов дляaiesa-mini.
TS=$(date +%s)
BODY='{"messages":["Кратко перечисли ключевые решения из встречи"],"model":"aiesa-mini"}'
SIG=$(printf "%s\n%s" "$API_PUBLIC" "$TS" | openssl dgst -sha256 -hmac "$API_SECRET" -hex | sed 's/^.* //')
curl -sS -X POST "https://api.transcription.aiesa.ru/api/v2/transcriptions/2f0b2f2a-5b07-4c3e-8a42-5c8a3f2b1e9d/chat/completions" \
-H "Content-Type: application/json" \
-H "X-Public-Key: $API_PUBLIC" \
-H "X-Timestamp: $TS" \
-H "X-Signature: $SIG" \
-d "$BODY"Типичные ошибки: 400 — транскрипция не готова к чату; 402 — недостаточно средств; 403 — нет доступа; 404 — транскрипция не найдена.