API транскрибации аудио и видео — REST с разделением голосов

REST API для интеграции автоматической расшифровки в свой продукт: CRM с записью звонков, сервис аналитики переговоров, платформа для подкастов, EdTech с видеолекциями. POST файла → JSON с таймкодами и спикерами. Webhooks, документация OpenAPI 3.0, SDK для Python и Node.js.

REST
+ Webhooks
5 ГБ
Макс. файл
JSON
+ DOCX, SRT, VTT
0,80 ₽
За минуту от

Кому это нужно

Как работает API

ШАГ 1

Получите API-ключ

В личном кабинете на тарифе Business: «API-ключи» → «Создать». Ключ начинается с dsk_live_... Тестовые ключи — dsk_test_...

ШАГ 2

POST файла

POST /v1/jobs с multipart/form-data: file=@meeting.mp4, diarize=true, language=ru. Опционально — webhook_url.

ШАГ 3

Получите job_id

Ответ: {"job_id": 12345, "status": "pending"}. Дальше — либо polling через GET /v1/jobs/12345, либо ждите webhook.

ШАГ 4

Получите результат

JSON с массивом chunks: каждая реплика — start_sec, end_sec, speaker, text, confidence, words[]. Также доступны DOCX, SRT, VTT отдельными endpoint'ами.

Пример: расшифровать файл за 5 строк

Минимальный Python-пример (стандартная requests):

import requests

API_KEY = "dsk_live_..."
headers = {"Authorization": f"Bearer {API_KEY}"}

# Загружаем файл
with open("meeting.mp4", "rb") as f:
    r = requests.post(
        "https://deepscribe.ru/api/v1/jobs",
        headers=headers,
        files={"file": f},
        data={"diarize": "true", "language": "ru"},
    )
job_id = r.json()["job_id"]

# Polling — ждём завершения
import time
while True:
    r = requests.get(f"https://deepscribe.ru/api/v1/jobs/{job_id}", headers=headers)
    if r.json()["status"] == "done":
        break
    time.sleep(5)

# Получаем JSON-транскрипт
r = requests.get(f"https://deepscribe.ru/api/v1/jobs/{job_id}/transcript.json", headers=headers)
transcript = r.json()
for chunk in transcript["chunks"]:
    print(f"[{chunk['start_sec']:.1f}s] {chunk['speaker']}: {chunk['text']}")
        

Полная документация с примерами на Python, Node.js, curl, Go: /api/docs

Webhooks вместо polling

Если не хотите опрашивать статус — передайте webhook_url в POST'е. После завершения обработки мы пришлём результат на ваш endpoint:

POST /your-webhook HTTP/1.1
Content-Type: application/json
X-DeepScribe-Signature: sha256=...

{
  "job_id": 12345,
  "status": "done",
  "duration_sec": 1834.5,
  "n_speakers": 3,
  "transcript_url": "https://deepscribe.ru/api/v1/jobs/12345/transcript.json",
  "docx_url": "https://deepscribe.ru/api/v1/jobs/12345/transcript.docx",
  "srt_url": "https://deepscribe.ru/api/v1/jobs/12345/transcript.srt"
}
        

Подпись проверяется через HMAC-SHA256 с вашим webhook_secret. Гарантия доставки: 3 попытки с backoff (5с / 30с / 5мин).

Особенности API

Word-level timestamps

В JSON для каждого слова отдельный таймкод (start/end). Точность до 0,1 секунды.

До 8 спикеров

Автоматическая диаризация. Можно подсказать ожидаемое число спикеров параметром.

Словари терминов

Передайте список редких слов (имена, аббревиатуры, спецтермины) — модель учитывает их при распознавании.

Rate-limit

На тарифе Business: 100 RPS, 5000 параллельных jobs. Для большего объёма — индивидуальный контракт.

Серверы в РФ

Все данные обрабатываются в России. ФЗ-152 «О персональных данных». Можно подписать DPA для B2B.

SLA

На тарифе Business — 99.5% uptime, поддержка через Telegram-чат с ответом ≤4 часов в рабочее время.

Часто задаваемые вопросы

Какой протокол у API?

REST/HTTPS. POST multipart-файла, ответ JSON. Аутентификация через Bearer-токен (API-ключ в заголовке Authorization: Bearer dsk_live_...). Документация OpenAPI 3.0 на /api/docs с примерами на curl, Python, Node.js, Go.

Сколько стоит API?

API доступен на тарифе Business: от 3 490 ₽/мес — включает 60 часов (3600 минут) обработки, неограниченные API-вызовы. Сверх лимита — 0,80 ₽/мин на годовом плане. Для большого объёма (десятки тысяч минут в месяц) — индивидуальный контракт, свяжитесь через /business.

Есть ли webhook о готовности?

Да. При создании job передайте webhook_url — после завершения обработки мы сделаем POST туда с результатом. Гарантия доставки: 3 попытки с экспоненциальным backoff (5с → 30с → 5мин). Подпись через HMAC-SHA256.

Какие форматы файлов поддерживаются?

Аудио: MP3, WAV, M4A, OGG, OPUS, FLAC. Видео: MP4, MOV, MKV, AVI, WebM. До 5 ГБ через multipart. Можно передать URL (audio_url или video_url) — сервис скачает сам.

Какая структура JSON-ответа?

Массив chunks: каждый чанк имеет start_sec, end_sec, speaker, text, confidence, words[] (word-level timestamps). Также meta (язык, длительность, n_speakers), warnings (если что-то нестандартное в аудио), summary (если запросили).

Можно ли работать с асинхронным аудио (stream)?

Сейчас только batch (POST файла). Стриминг real-time планируется в Q3 2026. Если нужен сейчас — свяжитесь, обсудим pilot-интеграцию.

Есть ли SDK?

Готовые wrapper'ы для Python (pip install deepscribe-sdk) и Node.js (npm i deepscribe) в работе. Сейчас можно использовать openapi-generator на нашем OpenAPI-спеке — он генерирует клиенты на 20+ языках.

Смежные сценарии

Аудио в текст

Веб-интерфейс для разовой обработки.

API для разработчиков

Дополнительный сценарий с примерами интеграции.

B2B-тарифы

Для команд и больших объёмов.

Telegram-бот

Для конечных пользователей без интеграции.

Разделение голосов

Подробно про диаризацию в API.

OpenAPI документация

Полная спецификация с примерами.

Интегрируйте в свой продукт за час

Документация, песочница, поддержка инженеров.