Добрый день! Давайте сверим план на квартал.
Да, по продажам идём с опережением на 12%.
Отлично. Тогда обсудим бюджет на рекламу.
AI-саммари в ответе
Сверили квартальный план: продажи опережают план на 12%. Следующий шаг — обсудить рекламный бюджет.
Автоматизация без своего сервера распознавания: HTTP Request в n8n отправляет файл, Webhook-нода ловит событие о готовности, а текст уходит в таблицу, Telegram или CRM. Тот же сценарий — в паре десятков строк на Python.
API работает на любом платном тарифе, от Базового. Качество распознавания можно бесплатно попробовать в личном кабинете.
# Ссылка на YouTube, Rutube или VK Видео вместо файлаcurl -X POST "$API_BASE/v1/transcriptions" \ -H "Authorization: Bearer $AUDIO2TEXT_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: lecture-42" \ -d '{ "source_url": "https://www.youtube.com/watch?v=...", "language": "auto", "metadata": { "external_id": "lecture-42" } }' # 202 Accepted{ "id": "125", "status": "queued", "duration_seconds": 3720, "request_id": "req_..." }Нам доверяют команды из крупнейших компаний
Ключ, задача и результат — без SDK и сложной настройки
Личный кабинет → Настройки → API. Выберите scopes — ключ показывается один раз.
Authorization: Bearer tr_live_…POST /v1/transcriptions принимает file или source_url и сразу отвечает 202 с id задачи.
POST /v1/transcriptions
→ 202 {"id":"123","status":"queued"}Дождитесь вебхука transcription.completed или опрашивайте статус, затем запросите результат.
GET /v1/transcriptions/123/result
→ 200 text, segments, …Не просто распознанный текст, а готовая структура: реплики, спикеры, таймкоды, саммари и ваш ID
{ "data": { "id": "123", "status": "done", "language": "ru", "duration_seconds": 1840, "text": "Добрый день! Давайте сверим план на квартал. ...", "segments": [ { "start": 0.0, "end": 4.2, "speaker": "Speaker 1", "text": "Добрый день! Давайте сверим план на квартал." }, { "start": 4.6, "end": 9.8, "speaker": "Speaker 2", "text": "Да, по продажам идём с опережением на 12%." } ], "participants": "...", "summary": "Сверили квартальный план: продажи опережают план на 12%, ...", "tags": "...", "metadata": { "external_id": "crm-call-123" } }, "request_id": "req_..."}Добрый день! Давайте сверим план на квартал.
Да, по продажам идём с опережением на 12%.
Отлично. Тогда обсудим бюджет на рекламу.
AI-саммари в ответе
Сверили квартальный план: продажи опережают план на 12%. Следующий шаг — обсудить рекламный бюджет.
Стандартный REST и вебхуки — работает в любом инструменте, который умеет HTTP
Стандартные HTTP Request и Webhook в облачном и self-hosted n8n.
source_url на YouTube, Rutube или VK Видео — без шага скачивания в сценарии.
transcription.completed запускает следующую часть сценария сразу после готовности.
Idempotency-Key защищает от дублей при ретраях n8n и сетевых ошибках.
В ответе сразу структура, которую удобно разложить по ячейкам таблицы или сообщению в Telegram.
requests или httpx: отправка, ожидание и получение результата — пример ниже.
Без отдельной ноды — только стандартные ноды n8n. Адрес API скопируйте из документации в личном кабинете.
Шаг 1
Шаг 2
import osimport timeimport requests API_BASE = os.environ["API_BASE"] # адрес из документации в кабинетеHEADERS = {"Authorization": f"Bearer {os.environ['AUDIO2TEXT_API_KEY']}"} # 1. Поставить задачу: файл или ссылка на YouTube, Rutube, VK Видеоwith open("lecture.mp3", "rb") as audio: task = requests.post( f"{API_BASE}/v1/transcriptions", headers={**HEADERS, "Idempotency-Key": "lecture-42"}, files={"file": audio}, data={"language": "auto"}, ).json() # 2. Ждать готовности; на 429 — пауза из Retry-Afterdelay = 3while True: status = requests.get(f"{API_BASE}/v1/transcriptions/{task['id']}", headers=HEADERS) if status.status_code == 429: time.sleep(int(status.headers.get("Retry-After", delay))) continue state = status.json()["data"]["status"] if state == "done": break if state in ("failed", "cancelled"): raise SystemExit(f"Задача завершилась со статусом {state}") time.sleep(delay) delay = min(delay + 2, 15) # 3. Забрать результатresult = requests.get( f"{API_BASE}/v1/transcriptions/{task['id']}/result", headers=HEADERS).json()["data"]for segment in result["segments"]: print(f"[{segment['start']:.0f} c] {segment['speaker']}: {segment['text']}")print(result["summary"])Официальной ноды n8n, приложений для Make и Zapier и SDK нет — всё работает на обычных HTTP-запросах.
Сценарии с отдельными страницами
CRM и телефония
Записи звонков из CRM и АТС с ID звонка в ответе.
Документация
Методы, вебхуки, коды ошибок и лимиты на одной странице.
Для людей
Готовый бот для расшифровки голосовых без программирования.
Видео
Расшифровка роликов по ссылке прямо в браузере.
API входит во все платные тарифы, минуты общие с кабинетом · от 0,50 ₽ за минуту на тарифе «Экспертный» при помесячной оплате
для регулярных задач
сверх лимита — 2 ₽/мин

для большинства задач
сверх лимита — 1 ₽/мин
для больших объёмов
сверх лимита — 1 ₽/мин
Что остаётся сделать вашей команде в каждом варианте
Официальной ноды Audio2Text для n8n нет, и она не нужна: достаточно стандартных нод HTTP Request и Webhook. Первая HTTP Request отправляет файл в POST /v1/transcriptions — тело Form-Data, поле file типа n8n Binary File, ключ в заголовке Authorization. Webhook-нода принимает событие transcription.completed, вторая HTTP Request забирает результат по id задачи, а дальше данные идут в любую ноду: Google Таблицы, Telegram, почту или CRM. Сценарий одинаково работает в облачном и self-hosted n8n.
Для скриптов и бэкендов не нужен SDK: хватит библиотеки requests или httpx. Скрипт отправляет файл или ссылку на YouTube, Rutube, VK Видео, получает id задачи, опрашивает статус с паузой в несколько секунд и забирает результат, когда статус становится done. Для пакетной обработки передавайте Idempotency-Key — повтор после сетевой ошибки не создаст дубль, а на ответ 429 ждите столько секунд, сколько указано в заголовке Retry-After.
Бот для расшифровки голосовых собирается из того же сценария: бот скачивает голосовое через Telegram Bot API, отправляет его в поле file и отвечает пользователю, когда приходит вебхук. Так же автоматизируются выгрузки записей созвонов, лекций и подкастов — текст с таймкодами и спикерами и AI-саммари попадает туда, где с ним работает команда.
Коротко о подключении, лимитах и оплате API
Создайте ключ, добавьте HTTP Request в n8n или запустите скрипт на Python.
На любом платном тарифе · минуты общие с кабинетом · от 0,50 ₽ за минуту