Документация API

Dialog Helper принимает историю диалога (и при необходимости аудио), возвращает расшифровку и несколько вариантов ответа. Это удобно для ассистивных приложений, коммуникаторов и сервисов поддержки диалога.

Аутентификация

Каждый запрос к /v1/infer требует заголовок с ключом клиента.

X-API-KEY: <client-api-key>

GET /client.md

Возвращает публичный Markdown-гайд для интеграции клиента.

GET /client.md
200 OK
text/markdown

POST /v1/infer

Multipart-запрос с JSON-полем payload и опциональным аудио. В messages можно отметить один speaker-сообщение как audio.

curl -sS \
  -H "X-API-KEY: <client-api-key>" \
  -F 'payload={"disabled_person_biography":"Вежливый взрослый пользователь.","messages":[{"role":"speaker","content":"Здравствуйте"},{"role":"disabled_person","content":"Здравствуйте, чем помочь?"},{"role":"speaker","audio":true}],"language":"ru-RU","user_id":"user-1","dialog_id":"dialog-1","step_id":"1"}' \
  -F "audio=@/path/to/audio.mp3;type=audio/mpeg" \
  https://<gateway-id>.apigw.yandexcloud.net/v1/infer

Пример ответа

{
  "transcript": "Здравствуйте",
  "response": [
    "Рада вас слышать!",
    "Здравствуйте, как я могу помочь?"
  ]
}

Ошибки

Частые ошибки и коды ответа.

{
  "error": "invalid_request",
  "message": "messages are required"
}
  • missing_api_key / invalid_api_key
  • invalid_request (нет сообщений, неверные роли, конфликт аудио)
  • stt_failed / llm_failed
  • payload_too_large

Админ API

Для управления ключами, логами и промтом используйте заголовок X-ADMIN-SESSION (OTP через Telegram).

POST /v1/admin/otp/send
POST /v1/admin/otp/verify
GET  /v1/admin/stats?window=24h
GET  /v1/admin/logs?limit=50
GET  /v1/admin/keys
POST /v1/admin/keys
DELETE /v1/admin/keys/{api_key_hash}
GET  /v1/admin/system-prompt
POST /v1/admin/system-prompt