Добрый день! Давайте сверим план на квартал.
Да, по продажам идём с опережением на 12%.
Отлично. Тогда обсудим бюджет на рекламу.
AI-саммари в ответе
Сверили квартальный план: продажи опережают план на 12%. Следующий шаг — обсудить рекламный бюджет.
Звонок завершился — запись уходит на расшифровку, а текст по репликам и краткий итог возвращаются в карточку сделки. Связка с amoCRM, Битрикс24 или IP-телефонией собирается на API и вебхуках, без ручной загрузки файлов.
API работает на любом платном тарифе, от Базового. Качество распознавания можно бесплатно попробовать в личном кабинете.
# Запись звонка уже скачана из CRM или АТСcurl -X POST "$API_BASE/v1/transcriptions" \ -H "Authorization: Bearer $AUDIO2TEXT_API_KEY" \ -H "Idempotency-Key: crm-call-8841" \ -F "file=@call-8841.mp3" \ -F "language=ru" \ -F "num_speakers=2" \ -F 'metadata={"external_id":"crm-call-8841"}' # 202 Accepted{ "id": "124", "status": "queued", "duration_seconds": 312, "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%. Следующий шаг — обсудить рекламный бюджет.
Всё, что нужно для записи расшифровки обратно в карточку сделки
Каждый сегмент — с меткой спикера и таймкодами; для звонка передайте num_speakers=2.
metadata.external_id возвращается в статусе, списке и результате — не нужна своя таблица соответствий.
summary и теги в том же ответе — удобно показать в ленте событий сделки.
Событие transcription.completed приходит на ваш HTTPS-адрес с подписью Transcripta-Signature.
ID звонка в Idempotency-Key: повторная отправка той же записи не создаст вторую задачу.
GET /v1/usage показывает остаток минут тарифа и дополнительных, а также использование по дням.
Схема для amoCRM, Битрикс24 и IP-телефонии: четыре шага, которые собирает ваш разработчик или интегратор
Шаг 1
CRM или АТС сообщает вашему обработчику о новом звонке — вебхуком, событием или выгрузкой по расписанию.
Шаг 2
Обработчик забирает файл записи. Ссылки на записи из CRM в source_url не принимаются — только файл.
Шаг 3
POST /v1/transcriptions: file, num_speakers=2 и metadata.external_id с ID звонка. Ответ 202 и id задачи.
Шаг 4
Вебхук transcription.completed → GET /v1/transcriptions/:id/result → реплики по спикерам и саммари в карточке сделки.
Готового приложения в маркетплейсах amoCRM и Битрикс24 нет — связка работает через API. Если звонков немного, запись можно загрузить вручную на странице транскрибации звонков.
import hashlibimport hmacimport osimport time import requestsfrom flask import Flask, abort, request app = Flask(__name__)API_BASE = os.environ["API_BASE"]API_KEY = os.environ["AUDIO2TEXT_API_KEY"]WEBHOOK_SECRET = os.environ["WEBHOOK_SECRET"] # whsec_..., показывается один раз def signature_ok(raw_body: bytes, header: str) -> bool: if not header: return False parts = dict(item.split("=", 1) for item in header.split(",")) if abs(time.time() - int(parts.get("t", 0))) > 300: return False signed = f"{parts['t']}.".encode() + raw_body expected = hmac.new(WEBHOOK_SECRET.encode(), signed, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, parts.get("v1", "")) @app.post("/webhooks/transcription")def transcription_webhook(): if not signature_ok(request.get_data(), request.headers.get("Transcripta-Signature", "")): abort(401) event = request.get_json() if event["type"] == "transcription.completed": task_id = event["data"]["transcription_id"] result = requests.get( f"{API_BASE}/v1/transcriptions/{task_id}/result", headers={"Authorization": f"Bearer {API_KEY}"}, ).json()["data"] call_id = result["metadata"]["external_id"] save_to_crm(call_id, result["segments"], result["summary"]) # ваш код записи в CRM return "", 204Если звонков немного или нужна другая автоматизация
Без интеграции
Загрузите запись разговора в кабинет и получите расшифровку за минуты.
Документация
Все методы, события вебхуков, коды ошибок и лимиты.
n8n и скрипты
Та же связка на нодах HTTP Request и Webhook в n8n.
Встречи
Итоги созвонов и планёрок с задачами и решениями.
API входит во все платные тарифы, минуты общие с кабинетом · от 0,50 ₽ за минуту на тарифе «Экспертный» при помесячной оплате
для регулярных задач
сверх лимита — 2 ₽/мин

для большинства задач
сверх лимита — 1 ₽/мин
для больших объёмов
сверх лимита — 1 ₽/мин
Что остаётся сделать вашей команде в каждом варианте
Когда звонок завершается, CRM или АТС сообщает об этом вашему обработчику — через вебхук, событие или регулярную выгрузку. Обработчик скачивает запись разговора и отправляет её в POST /v1/transcriptions как файл, а в metadata.external_id кладёт ID звонка. Audio2Text ставит задачу в очередь, распознаёт речь, делит разговор на реплики и присылает событие transcription.completed на ваш HTTPS-адрес. Обработчик забирает результат по id задачи — metadata.external_id в ответе подскажет, к какому звонку он относится, — и записывает текст в карточку.
Готового приложения в маркетплейсах amoCRM и Битрикс24 у Audio2Text нет, поэтому связка делается через API: подойдёт собственный скрипт, серверная функция или платформа автоматизации. Понадобятся доступ к записям звонков в вашей CRM или телефонии, API-ключ Audio2Text на любом платном тарифе и HTTPS-адрес для вебхуков. Ссылку на запись из CRM передать напрямую нельзя: source_url принимает только YouTube, Rutube и VK Видео, поэтому запись нужно скачать и отправить в поле file. В качестве Idempotency-Key удобно использовать ID звонка — повторная отправка не создаст дубль.
Текст разговора в карточке сделки читается за минуту — не нужно слушать запись целиком. Сегменты с таймкодами и метками спикеров позволяют быстро найти возражение клиента или обещание менеджера и прослушать только этот фрагмент. AI-саммари даёт короткий итог звонка, который удобно показывать прямо в ленте событий CRM. По накопленным расшифровкам проще проверять соблюдение скрипта и собирать примеры удачных разговоров для обучения новичков.
Коротко о подключении, лимитах и оплате API
Создайте ключ, отправьте первую запись и подпишитесь на вебхук transcription.completed.
На любом платном тарифе · минуты общие с кабинетом · от 0,50 ₽ за минуту