Transcript
Сервис расшифровки аудио и видео в Markdown. Распознавание речи и разметку по спикерам выполняет ModelsGate, сервис управляет заданиями и обменом файлами.
Порт 8016, MCP /mcp. GPU, ffmpeg и torch сервису не нужны: ModelsGate сам декодирует файл, режет длинные записи и распознаёт куски параллельно.
Инструменты
| Инструмент | Что делает |
|---|---|
transcribe_audio(filename) | Создаёт задание и сразу отдаёт jobId и uploadUrl |
get_transcription_status(jobId) | Статус. Когда готово, отдаёт downloadUrl и имя файла Markdown |
Как проходит задание
1
Ждёт файл
awaiting_upload
2
В очереди
queued
3
Отправка в ModelsGate
sending_audio
4
Распознавание
speech_recognition
5
Сборка Markdown
finalizing
6
Готово
completed
В EVA это выглядит так: вы прикладываете запись встречи и просите расшифровку, модель вызывает transcribe_audio, EVA загружает файл по ссылке, опрашивает статус и кладёт Markdown в пространство чата.
Спикеры
Если задана модель диаризации, расшифровка размечается по спикерам. Без неё получается сплошной текст.
Настройки
| Переменная | Смысл |
|---|---|
SCRIBER_PORT | Порт сервиса |
SCRIBER_MODELSGATE_URL, SCRIBER_MODELSGATE_API_KEY | ModelsGate |
SCRIBER_MODELSGATE_TIMEOUT | Таймаут ответа шлюза |
SCRIBER_TRANSCRIPTION_MODEL | Модель распознавания речи |
SCRIBER_DIARIZATION_MODEL | Модель разметки по спикерам. Пусто: выключено |
SCRIBER_PUBLIC_BASE_URL | Адрес ссылок, если EVA не прислала X-Public-Base-Url |
SCRIBER_EPHEMERAL_TTL_SECONDS | Время жизни ссылок |
SCRIBER_MAX_AUDIO_BYTES | Максимальный размер файла |
Задания хранятся в памяти процесса. Перезапуск сервиса прерывает текущие расшифровки, их нужно запустить снова.
Ошибки
| Код | Причина |
|---|---|
GATEWAY_UNAVAILABLE | ModelsGate не отвечает или задан неверный адрес |
GATEWAY_REJECTED, GATEWAY_OVERLOADED, GATEWAY_AUTH | Шлюз отклонил запрос, перегружен или не принял ключ |
FILE_TOO_LARGE | Файл больше лимита сервиса или шлюза |