ДокументацияРабота из терминала (CLI)

Работа из терминала (CLI)

Расшифровывайте видео по ссылке и файлы через transcript1 CLI. Обрабатывайте целые папки, сохраняйте субтитры и передавайте JSON скриптам и ИИ-агентам.

Команда transcript1 принимает ссылку на видео или путь к аудио- или видеофайлу и возвращает транскрипт. Подойдут YouTube, X, TikTok, Instagram, Facebook и Bluesky; для других платформ проверьте требования к версии ниже. Все форматы ссылок и ограничения собраны в разделе «Источники и параметры». CLI устанавливается отдельным исполняемым файлом, без Node.js.

Поддержка ссылок из соцсетей появилась в CLI 1.2.0. Версии 1.1.0 и старше работают только с YouTube: другие ссылки они отклонят ещё до запроса к API. Обновить CLI можно командой transcript1 update.

Версия 1.2.0 — минимальная для первых шести платформ, но не гарантия поддержки Twitch, Dailymotion, Pinterest, LinkedIn и Snapchat. Для них нужен релиз, в который уже добавлена соответствующая платформа. Старый клиент может отклонить ссылку, не обращаясь к API.

Пост должен быть публичным. Если в нём несколько видео, получим текст только из первого. Какие короткие ссылки работают — см. «Источники и параметры».

Установка

На macOS и Linux с архитектурой x64 или ARM64 выполните:

curl -fsSL https://transcript1.com/install.sh | sh

Исполняемый файл появится в ~/.local/bin. Если папку нужно добавить в PATH, установщик подскажет как. Для установки в другую папку задайте TRANSCRIPT1_INSTALL_DIR.

Вместе с transcript1 появится короткая команда t1. Для zsh установщик добавит в ~/.zshrc строку alias transcript1='noglob transcript1': она позволяет передавать ссылки с ? без кавычек. Если не хотите менять настройки оболочки, задайте TRANSCRIPT1_NO_MODIFY_SHELL=1.

На Windows x64 выполните в PowerShell:

irm https://transcript1.com/install.ps1 | iex

Установщик сохранит CLI в %LOCALAPPDATA%\Programs\transcript1, добавит короткую команду t1.cmd и включит папку в пользовательский PATH. После установки откройте новый терминал.

Как войти

Запустите вход:

transcript1 login

CLI откроет transcript1.com в браузере. По SSH или без графического окружения вы получите ссылку в терминале. Откройте её, сверьте код на странице с кодом в терминале и нажмите «Approve». После подтверждения CLI сохранит ключ transcript1 CLI (<computer name>). Этот ключ будет виден на странице «API keys».

Чтобы только вывести ссылку и не открывать браузер, используйте transcript1 login --no-browser.

Уже есть ключ? Вставьте его через transcript1 login --with-key или передайте через stdin: transcript1 login < key.txt.

Для CI и ИИ-агентов задайте переменную TRANSCRIPT1_API_KEY: CLI использует её вместо сохранённого ключа. Если у агента нет интерактивного терминала и ключа, он может вызвать transcript1 login < /dev/null и передать вам ссылку для подтверждения доступа.

Для выхода выполните transcript1 logout. Команда отзовёт ключ CLI и удалит локальную копию. Если отзыв не удался, локальная копия всё равно удалится, а CLI попросит отозвать ключ вручную на странице «API keys». Ключи, которые вы вставили сами, всегда нужно отзывать на этой странице.

transcript1 'https://youtu.be/dQw4w9WgXcQ'

Команда дождётся готового текста и выведет его в stdout; сообщения о ходе работы пойдут в stderr. Сначала используем подходящие субтитры на языке оригинала с YouTube, X, TikTok, Bluesky, Dailymotion или LinkedIn. Если их нет, распознаём речь с помощью ИИ.

В zsh безопаснее заключать ссылку в кавычки. Без них & разделит команду, а ? запустит поиск по шаблону. Добавленный установщиком алиас отключает обработку ?, но не &.

Файл с компьютера

transcript1 interview.mp3
transcript1 -f srt -o interview.srt interview.mp3

Передайте путь к файлу — CLI сам загрузит его и дождётся текста. Максимальный размер — 2 ГБ (2 000 000 000 байт). Подходящие расширения: mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm и mkv.

Несколько записей за один запуск

Укажите несколько файлов, ссылок или целую папку:

transcript1 interview.mp3 lecture.mp4
transcript1 -o transcripts/ ./recordings
transcript1 --jobs 4 -o transcripts/ interview.mp3 'https://youtu.be/dQw4w9WgXcQ'

Можно использовать шаблоны вроде recordings/*.mp3, в том числе на Windows. Из папки CLI берёт только аудио- и видеофайлы верхнего уровня и сортирует их по имени. При обработке нескольких записей по умолчанию создаёт отдельный файл для каждой в ./transcripts. Число одновременных задач задаётся флагом --jobs: от 1 до 20, по умолчанию 2.

Список можно передать через stdin: одна ссылка или путь на строку, вместо аргументов — -. Пример для оболочки macOS или Linux:

transcript1 -o transcripts/ - < inputs.txt

CLI пропускает пустые строки и комментарии, начинающиеся с #. Если одна и та же строка встречается несколько раз, обрабатывает её только один раз.

Для одной записи -o задаёт имя файла. Если указанный путь уже является папкой или заканчивается на /, текст сохраняется в эту папку. Для нескольких записей -o всегда указывает папку. Если её ещё нет, CLI создаст её.

Если файл транскрипта уже существует, CLI пропустит соответствующую ссылку YouTube или локальный файл. Для повторной обработки добавьте --overwrite:

transcript1 --overwrite -o transcripts/ ./recordings

Форматы и параметры

ФлагДля чего нужен
-f, --formatВыбирает text (по умолчанию), srt, vtt или json. В JSON приходит объект транскрибации из API.
--speakersВключает определение говорящих с метками Speaker 1, Speaker 2 и далее.
--timestampsСтавит [hh:mm:ss] перед каждой строкой. Работает только с text.
--languageЗадаёт язык кодом ISO 639-1. По умолчанию — auto.
--sourceВыбирает auto (по умолчанию) или stt. Для YouTube, X, TikTok, Bluesky, Dailymotion и LinkedIn есть также captions, если доступна подходящая дорожка. Режим captions (только субтитры) не скачивает аудио и не переходит на STT.
--freshСоздаёт новую транскрибацию по ссылке вместо использования прежней за последние 24 часа.

Так можно включить определение говорящих и временные метки:

transcript1 --speakers --timestamps --language en interview.mp3

Вместе передать --speakers и --source captions нельзя. При auto флаг --speakers сразу включает распознавание речи, без субтитров. YouTube и X по-прежнему работают со своими дорожками; кроме них доступны субтитры TikTok, Bluesky, Dailymotion и LinkedIn. У всех субтитров не с YouTube есть метки только для сегментов: даже автоматические дорожки возвращают words: null. Подробная таблица и правила выбора языка — в разделе «Источники и параметры».

Скрипты и ИИ-агенты

Агенту с доступом к оболочке достаточно установить CLI и задать TRANSCRIPT1_API_KEY. После этого он может вызывать transcript1 <link> или transcript1 <file>. Если ваш клиент работает через MCP, используйте настройку MCP-сервера.

Для автоматизации добавьте --json. По мере завершения задач в stdout будет приходить по одной JSON-строке для каждой записи — без прогресса, сводки и уведомлений об обновлении:

transcript1 --json 'https://youtu.be/dQw4w9WgXcQ'

Для завершённой задачи строка содержит объект транскрибации из API, а также input и reused. Если текст сохранён в файл, вместо transcript будет поле file. Если ошибка возникла до создания ID, вы получите input и объект error с code и message.

Для пропущенной записи придут input, причина в skipped (exists или out_of_minutes) и, когда применимо, file. Причина exists используется только для ссылок YouTube и локальных файлов.

Для одной записи без -o флаг --json возвращает транскрипт прямо в объекте; -f при этом не учитывается. Для нескольких записей без -o тексты сохраняются в ./transcripts, а JSON-строки содержат file вместо transcript. При записи в файл формат всегда задаётся через -f. Если нужно убрать только прогресс и сводку, но оставить текст и ошибки, используйте -q или --quiet.

Задачу можно запустить и забрать текст позже:

transcript1 --no-wait interview.mp3
transcript1 get <id>

Подставьте вместо <id> ID из первой команды. Флаг --no-wait выводит ID и статус, а в сочетании с --json — объект. Команда get дожидается завершения задачи. Ей доступны флаги -f, -o, --timestamps, --no-wait, --json и -q.

Как обновить CLI

transcript1 update

Если stderr подключён к терминалу, CLI проверяет новые релизы не чаще раза в 24 часа. Когда обновление есть, появляется уведомление. Проверку можно отключить через TRANSCRIPT1_NO_UPDATE_CHECK=1; флаги --json и -q также скрывают уведомление.

Коды завершения

КодЧто означает
0Все записи обработаны либо пропущены, потому что для ссылки YouTube или локального файла уже есть файл транскрипта.
1Хотя бы одну запись не удалось обработать или пришлось пропустить из-за нехватки минут.
2Неверный вызов команды или проблема со входом.
130Выполнение прервано.

Полный список команд и флагов доступен через transcript1 --help или просто transcript1 без аргументов.

Дата обновления 18 октября 2026 г.