Назад к блогу
7 минНаговори

Автоматизация транскрипции аудио с n8n и Наговори

n8nавтоматизацияno-codeworkflow

Автоматизация транскрипции аудио с n8n и Наговори

Вы записываете совещание, файл попадает в папку — и расшифровка автоматически появляется в ваших заметках. Без скриптов, без серверов, без ручных API-вызовов. В этом руководстве мы построим такой сценарий с помощью n8n — инструмента автоматизации с открытым кодом — и API Наговори.

Почему n8n?

n8n — это self-hosted платформа автоматизации с визуальным редактором. Как Zapier, но данные остаются у вас и нет платы за каждое выполнение. Поддерживает сотни сервисов и произвольные HTTP-запросы.

Для задач транскрипции n8n идеален:

  • Триггер на всё: новый файл в Google Drive, сообщение в Telegram, вложение в email, webhook от CRM.
  • Без кода: визуальные ноды для HTTP-запросов, условий и преобразования данных.
  • Self-hosted: аудиофайлы и расшифровки не покидают вашу инфраструктуру.
  • Повторы: встроенная обработка ошибок и автоматические ретраи.

Что мы создадим

Workflow, который:

  1. Срабатывает при появлении аудиофайла (Google Drive, Telegram или webhook)
  2. Загружает файл в Наговори через presigned URL
  3. Создаёт задание на транскрипцию
  4. Ожидает завершения (polling)
  5. Отправляет результат в Slack, Notion, email или другое

Предварительные требования

  • Экземпляр n8n (self-hosted или n8n.cloud)
  • API-ключ Наговори (создайте в Профиле)
  • Место для результатов (Slack, Notion, Google Docs и т.д.)

Шаг 1: Настройка учётных данных

В n8n перейдите в Credentials и создайте Header Auth:

  • Имя: Nagovori API
  • Header Name: Authorization
  • Header Value: Bearer nag_ВАШ_КЛЮЧ

Эти данные будут использоваться во всех HTTP Request нодах.

Шаг 2: Создание триггера

Выберите триггер в зависимости от источника файлов:

Вариант A: Google Drive

Добавьте ноду Google Drive Trigger:

  • Event: File Created
  • Folder: папка для аудиозагрузок
  • Filters: MIME-типы audio/*

Вариант B: Webhook

Добавьте ноду Webhook для кастомных интеграций:

  • Method: POST
  • Path: /transcribe
  • Ваша система отправляет POST с {"file_url": "https://..."}.

Вариант C: Telegram

Добавьте ноду Telegram Trigger:

  • Updates: Message
  • Фильтруйте голосовые и аудио через последующую ноду IF.

Шаг 3: Получение presigned URL

Добавьте ноду HTTP Request:

  • Method: POST
  • URL: https://api.nagovori.ru/v1/uploads/presign
  • Authentication: ваш Nagovori API credential
  • Body (JSON):
{
  "filename": "{{ $json.fileName || 'recording.mp3' }}",
  "content_type": "{{ $json.mimeType || 'audio/mpeg' }}",
  "size_bytes": {{ $json.fileSize || 0 }}
}

В ответе вы получите upload_url и object_key.

Шаг 4: Загрузка файла

Добавьте ещё одну ноду HTTP Request:

  • Method: PUT
  • URL: {{ $json.upload_url }} (из ответа presign)
  • Body: Binary data (аудиофайл из триггера)
  • Headers: Content-Type: audio/mpeg

Шаг 5: Создание задания на транскрипцию

Добавьте ноду HTTP Request:

  • Method: POST
  • URL: https://api.nagovori.ru/v1/transcriptions
  • Authentication: ваш Nagovori API credential
  • Body (JSON):
{
  "object_key": "{{ $node['Presign'].json.object_key }}",
  "filename": "recording.mp3",
  "content_type": "audio/mpeg",
  "size_bytes": {{ $json.fileSize || 0 }},
  "language": "auto"
}

Шаг 6: Ожидание результата

Наговори обрабатывает аудио асинхронно. Нужно опрашивать статус до completed или failed.

Создайте Loop с:

  1. Wait нода: 5 секунд
  2. HTTP Request нода:
    • Method: GET
    • URL: https://api.nagovori.ru/v1/transcriptions/{{ $json.id }}
    • Authentication: Nagovori API
  3. IF нода: проверка status === "completed" или "failed"
    • Если да: выход из цикла
    • Если нет: продолжение

Шаг 7: Отправка результата

Когда транскрипция завершена, направьте transcript_text в нужное место:

Slack

  • Channel: #transcripts
  • Message: Новая расшифровка {{ $json.filename }}:\n\n{{ $json.transcript_text }}

Notion

  • Operation: Create Page
  • Title: Совещание — {{ $json.filename }}
  • Content: поле transcript_text

Email

Отправьте письмо с текстом расшифровки.

Советы

  • Таймаут: ограничьте опрос 20 итерациями (100 секунд). Длинные файлы могут обрабатываться несколько минут.
  • Ошибки: добавьте Error Trigger workflow для уведомлений о сбоях.
  • Пакетная обработка: используйте Split in Batches при обработке нескольких файлов (Наговори допускает 1 параллельную транскрипцию на аккаунт).
  • Размер файла: presigned URL действителен 15 минут. Для больших файлов убедитесь, что загрузка завершается в это окно.

Стоимость

Каждая транскрипция списывает минуты из вашего баланса — так же, как через веб-интерфейс. Дополнительной платы за API нет. 60-минутная запись использует 60 минут баланса.

Следующие шаги