@ireull/transcribe-cli
v1.18.0
Published
CLI для транскрипции через Deepgram/AssemblyAI + yt-dlp + ffmpeg
Maintainers
Readme
transcribe-cli
CLI для транскрипции аудио/видео файлов и YouTube-ссылок через Deepgram или AssemblyAI. Поддерживает разделение по спикерам, таймстампы, авто-краткое содержание и записи Google Meet. После готового транскрипта — меню «Результат»: открыть файл, показать в папке, скопировать текст или путь в буфер.
Содержание
- Требования
- Установка
- Получение ключа Deepgram
- Первый запуск
- Режимы работы
- Google Meet
- Провайдер транскрипции
- Авто-саммари
- Обновление
- Удаление
Требования
Перед установкой убедитесь, что установлено:
Node.js ≥ 18
- Скачать: https://nodejs.org
- Проверить:
node -v
ffmpeg
# macOS
brew install ffmpeg
# Windows (через Chocolatey)
choco install ffmpeg
# Windows (вручную)
# Скачать с https://ffmpeg.org/download.html → добавить в PATHПроверить: ffmpeg -version
yt-dlp (только для режима «Ссылка»)
pip install yt-dlp
# или macOS
brew install yt-dlpПроверить: yt-dlp --version
Установка
Одной командой (рекомендуется)
npm install -g @ireull/transcribe-cliРаботает на macOS, Linux и Windows одинаково. Ничего клонировать не нужно —
npm сам скачает пакет из реестра и поставит команду transcribe глобально.
Если получите EACCES — запустите с sudo (macOS/Linux) или из консоли
с правами администратора (Windows).
Прямо из GitHub (без npm-реестра)
Тот же результат, минуя реестр (ставит из git напрямую):
npm install -g git+https://github.com/ireull/transcribe-cli.gitИз клона (для разработки)
Если склонировали репозиторий и хотите поставить свою локальную сборку:
cd transcribe-cli
npm i -g .Команда transcribe станет доступна из любого терминала — одинаково на macOS,
Linux и Windows. Папку с исходниками можно удалить.
Получение ключа Deepgram
Deepgram используется для распознавания речи. Есть бесплатный тариф ($200 кредитов при регистрации).
- Перейдите на https://console.deepgram.com
- Зарегистрируйтесь
- Слева: API Keys → Create a New API Key
- Название — любое, права — Member
- Скопируйте ключ вида
dg-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ключ показывается только один раз — сохраните его сразу.
Первый запуск
transcribeПри первом запуске CLI попросит ввести API-ключ Deepgram и предложит добавить ярлык на рабочий стол:
Введите API-ключ Deepgram: dg-...
Ключ сохранен.
Добавить ярлык на рабочий стол? Yes
✓ Ярлык созданНастройки сохраняются в ~/.config/transcribe-cli/config.json (или $XDG_CONFIG_HOME/transcribe-cli/ если задан) и запоминаются между сессиями.
Навигация: Ctrl+C на любом шаге (выбор файла или записи, папка) возвращает в главное меню, а не закрывает программу — не нужно начинать с нуля. Из главного меню Ctrl+C (или «Выход») завершает работу.
Режимы работы
Файл → транскрипт
Открывает диалог выбора файла. Поддерживаемые форматы: .wav, .mp3, .ogg, .flac, .m4a, .opus, .webm, а также любые видео (конвертируются через ffmpeg).
Несколько файлов (batch)
Выберите несколько файлов через Ctrl+клик — CLI обработает их по очереди в одну папку.
Ссылка → транскрипт
Вставьте любую ссылку, которую поддерживает yt-dlp (YouTube, VK, и сотни других сайтов).
Требует установленного yt-dlp.
Google Meet → транскрипт
Транскрибирует записи прямо с Google Drive. Настройка ниже.
Опции транскрипции
Опции живут в Настройки → Опции транскрипции (один чеклист: пробел — вкл/выкл, Enter — сохранить) и применяются ко всем транскрипциям автоматически — перед запуском ничего выбирать не нужно. Текущий набор печатается строкой перед стартом (Опции: спикеры · склейка · ...):
- Разделять спикеров — диаризация (улучшенная модель)
- Склеивать реплики одного спикера — подряд идущие фразы одного человека в один блок (чище и компактнее)
- Числа цифрами — «двадцать три» → «23»
- Авто-определение языка — язык определяется сам; выключи, чтобы задать вручную (ru / en / другой код BCP-47)
Если спикеров несколько, после транскрипции CLI покажет первые реплики каждого и предложит назвать их по именам.
Формат выходного файла (Markdown)
# Название файла или видео
> Длительность: 12:34
**Иван** [00:00:05]
Привет, как дела?
**Мария** [00:00:08]
Нормально, спасибо.Google Meet
Позволяет выбирать и транскрибировать записи Meet прямо из папки Google Drive, без ручного скачивания.
Список записей подгружается целиком (свежие сверху), а выбор — это поиск с фильтром «по мере ввода»: начните печатать часть названия или даты — список сразу сужается. Несколько слов через пробел ищутся по «И» (все должны встретиться), так что иван 06 найдёт июньскую встречу с Иваном. Пустой ввод показывает все записи.
Подготовка Service Account (один раз)
- Перейдите на https://console.cloud.google.com
- Создайте новый проект (или выберите существующий)
- Слева: APIs & Services → Library → найдите Google Drive API → Enable
- Слева: IAM & Admin → Service Accounts → Create Service Account
- Название — любое, например
transcribe-bot - Нажмите Create and Continue → Done
- Название — любое, например
- Кликните на созданный SA → вкладка Keys → Add Key → Create new key → JSON
- Скачается файл
имя-проекта-xxxxxxxx.json— сохраните его - Скопируйте email SA вида
transcribe-bot@имя-проекта.iam.gserviceaccount.com - Откройте Google Drive → папку Meet Recordings → ПКМ → Share → вставьте email SA → Editor → Send
Подключение в CLI
- Запустите
transcribe - Выберите Google Meet → транскрипт
- CLI сам предложит выбрать
service-account.jsonчерез диалог - После импорта ключ сохраняется и больше не нужно его указывать
Переименование записи на Диске (опционально)
Если у записи дефолтное имя — код встречи (bbb-tupg-phm), CLI может переименовать сам файл записи на Google Drive в осмысленное имя транскрипта (то же, что у .md). По умолчанию выключено.
- Включите авто-саммари — из него берётся имя.
transcribe→ Настройки → 📛 Переименовывать запись Meet на Диске → Включить.- Папка Meet Recordings должна быть расшарена на SA как «Редактор» (не «Просмотр») — иначе Google вернёт ошибку прав.
После транскрипции CLI спрашивает подтверждение перед каждым переименованием. Записи с осмысленным именем не трогаются. Если прав нет — транскрипт всё равно сохраняется, переименование просто пропускается.
Провайдер транскрипции (Deepgram / AssemblyAI)
По умолчанию транскрибирует Deepgram. Опционально можно переключиться на AssemblyAI — он делает транскрипт и разделение спикеров в одном облачном вызове и, в отличие от Deepgram, позволяет задать число спикеров.
- Бесплатный ключ (без карты): https://www.assemblyai.com
transcribe→ Настройки → ☁️ Провайдер транскрипции → задайте ключ → выберите AssemblyAI
При разделении спикеров CLI показывает «Найдено спикеров: N — столько и есть?». Если не совпало — вводите точное число, и диаризация пересчитывается. У Deepgram такой ручки нет (число определяется автоматически).
Авто-саммари (Gemini)
Опционально: после транскрипции CLI добавляет в начало .md блок «## Краткое содержание» и, если у записи нет нормального имени (дефолтный код Google Meet вроде bbb-tupg-phm), берёт имя файла из краткого содержания — вручную ничего вводить не нужно.
Работает через Google Gemini (русский саммаризирует отлично, в отличие от Deepgram).
Включение:
- Получите бесплатный ключ (без карты): https://aistudio.google.com/app/apikey
transcribe→ Настройки → 🧠 Авто-саммари → задайте ключ → Включить- Модель по умолчанию —
gemini-3.5-flash
После включения саммари делается автоматически на каждом запуске. Если ключ не задан, лимит исчерпан или сеть недоступна — транскрипт всё равно сохраняется, просто без саммари.
Приватность: транскрипт уходит в Google (на бесплатном тарифе данные могут использоваться для улучшения моделей). Для рабочих созвонов учитывайте это.
Обновление
transcribe upgradeКоманда проверит последнюю версию в npm-реестре и, если обновлений нет,
выйдет мгновенно. Иначе — вызовет npm install -g @ireull/transcribe-cli@latest
и обновит глобальную установку. Токенов или авторизации не требуется — пакет публичный.
Также доступно через меню: Настройки → Обновить transcribe, или флагом
transcribe --upgrade.
Возможные ошибки:
- EACCES — подскажет запустить
sudo npm install -g .... - Windows — закрыть все окна transcribe и повторить (запущенный процесс может блокировать перезапись).
Установка перезапишет предыдущую версию. Настройки (ключи, папки) сохранятся — они хранятся отдельно в ~/.config/transcribe-cli/.
Удаление
npm uninstall -g @ireull/transcribe-cliНастройки и SA-ключ удалить вручную:
# macOS / Linux
rm -rf ~/.config/transcribe-cli/
# Windows (PowerShell)
Remove-Item -Recurse "$env:USERPROFILE\.config\transcribe-cli"