DeepScribe

REST API расшифровки аудио и видео для разработчиков

Интегрируйте автоматическую транскрипцию в своё приложение за 15 минут: multipart upload, polling статуса, webhooks с retry, скачивание результата в TXT, SRT, VTT, JSON, DOCX, PDF. Под капотом — WhisperX large-v3 + PyAnnote 3.1 + Qwen polish. Локальные серверы РФ.

0,40 ₽
за минуту на Team
60/min
rate limit базовый
Webhooks
retry + HMAC подпись
OpenAPI 3.0
Swagger UI готов

Кому нужен API DeepScribe

REST API DeepScribe — для разработчиков, которым нужно встроить расшифровку аудио в свой продукт. Не платить операторам, не подключать Google Speech-to-Text (передача данных за границу), не разворачивать WhisperX самим (нужна GPU, CUDA, обслуживание).

Типовые сценарии:

Минимальная интеграция за 15 минут

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

Откройте Telegram-бот @DeepScribe_bot/api → «Создать ключ» → сохраните dsk_live_.... Один аккаунт может иметь до 10 ключей одновременно.

2. Загрузите аудио

# Python (requests)
import requests

with open('interview.mp3', 'rb') as f:
    r = requests.post(
        'https://deepscribe.ru/api/v1/jobs',
        headers={'Authorization': 'Bearer dsk_live_xxxxxxx'},
        files={'file': f},
        data={
            'output_formats': 'txt,srt,docx,json',
            'use_summary': 'true',
            'use_qwen_polish': 'true',
        },
    )

job_id = r.json()['id']  # → 12345

3. Дождитесь готовности (polling или webhook)

# Опция А: polling
import time

while True:
    status = requests.get(
        f'https://deepscribe.ru/api/v1/jobs/{job_id}',
        headers={'Authorization': 'Bearer dsk_live_xxxxxxx'},
    ).json()

    if status['status'] == 'done':
        break
    if status['status'] == 'failed':
        raise Exception(status['error_message'])

    time.sleep(5)  # 12 запросов / минуту — внутри лимита

4. Скачайте результаты

# TXT — обычный текст
txt = requests.get(
    f'https://deepscribe.ru/api/v1/jobs/{job_id}/result/txt',
    headers={'Authorization': 'Bearer dsk_live_xxxxxxx'},
).text

# JSON — полная структура с таймкодами и спикерами
data = requests.get(
    f'https://deepscribe.ru/api/v1/jobs/{job_id}/result/json',
    headers={'Authorization': 'Bearer dsk_live_xxxxxxx'},
).json()

# DOCX — готовый Word-документ
docx_bytes = requests.get(
    f'https://deepscribe.ru/api/v1/jobs/{job_id}/result/docx',
    headers={'Authorization': 'Bearer dsk_live_xxxxxxx'},
).content

Полная документация — Swagger UI

Интерактивно — пробуйте endpoints прямо в браузере.

Webhooks с retry — для production-интеграции

Не хотите делать polling? Включите webhooks: DeepScribe сам POST'нет ваш URL когда задача готова. С retry и подписью — всё что нужно для надёжной production-интеграции.

Регистрация webhook'а:

POST /api/v1/webhooks
Authorization: Bearer dsk_live_xxxxxxx
Content-Type: application/json

{
    "url": "https://your-app.example.com/deepscribe-callback",
    "events": ["job_done", "job_failed"]
}

Что приходит на ваш URL:

POST https://your-app.example.com/deepscribe-callback
X-DeepScribe-Signature: sha256=abc123...
X-DeepScribe-Event-Id: 550e8400-e29b-41d4-a716-446655440000
X-DeepScribe-Attempt: 1
Content-Type: application/json

{
    "event": "job_done",
    "event_id": "550e8400-...",
    "timestamp": "2026-05-22T12:34:56Z",
    "data": {
        "job_id": 12345,
        "filename": "interview.mp3",
        "duration_sec": 3600,
        "minutes_consumed": 60.0,
        "formats": ["txt", "srt", "docx", "json"]
    }
}

Гарантия доставки: at-least-once. Retry с exponential backoff (1с → 4с → 16с, всего 4 попытки). Дедупликация — по заголовку X-DeepScribe-Event-Id: один UUID на всех попытках, ваш клиент дедуплицирует.

Подпись: HMAC-SHA256 от тела ответа на ваш secret (генерируется при создании webhook'а). Проверка: hmac.new(secret, body, 'sha256').hexdigest() == header_value[7:].

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

Сколько стоит API расшифровки?

На тарифе Business — 0,80 ₽/минуту (в составе подписки 3 490 ₽/мес = 60 часов в месяц + полный REST API + webhooks с retry). На корпоративном Team — 0,40 ₽/минуту. Без подписки pay-as-you-go от 2,50 ₽/мин. При больших объёмах от 1000+ часов/мес — индивидуальный прайс через /business.

Какие SDK поддерживаются?

Официальных SDK пока нет. API максимально простой REST — работает с любым HTTP-клиентом: requests (Python), axios (Node.js/TypeScript), curl, php-curl, Go net/http, http (Ruby). Документация в формате OpenAPI 3.0 доступна на /api/openapi.json — можно сгенерировать клиента под любой язык одной командой openapi-generator-cli.

Есть ли webhooks для уведомления о готовности?

Да. Webhooks доступны на тарифе Business или как отдельный addon (990 ₽/мес к любому тарифу). Поддерживают retry с exponential backoff (3 попытки: 1с, 4с, 16с), подпись X-DeepScribe-Signature (HMAC SHA-256), dedup-заголовок X-DeepScribe-Event-Id для at-least-once гарантии. События: job_done и job_failed.

Какие rate limits на API?

По умолчанию 60 запросов в минуту на API-ключ (без burst). На корпоративных тарифах Team и Business+ можно увеличить до 600 req/min через /business. Лимит распространяется на все endpoints, кроме polling статуса (GET /v1/jobs/{id}) — там отдельно 240 req/min (специально мягче чтобы можно было часто polling'ом).

Поддерживается ли upload по URL (без файла)?

Да. Вместо multipart-файла можно передать audio_url в теле запроса — DeepScribe сам скачает файл по этому URL. Удобно для интеграции с S3, Yandex Object Storage, или собственных хранилищ. Поддерживаются presigned URLs с истечением. Подробно в /api/docs.

Где документация и спецификация OpenAPI?

Полная интерактивная документация — Swagger UI: deepscribe.ru/api/docs. Можно прямо в браузере пробовать endpoints, вводить свой ключ. OpenAPI 3.0 JSON для импорта в Postman / Insomnia / openapi-generator — /api/openapi.json.

Какие данные собирает API о моих запросах?

Только техническая телеметрия: job_id, длительность исходного аудио, длительность обработки, статус, подсчёт минут (для биллинга). Не сохраняем: содержимое транскрипта в нашей аналитике, IP клиентов из вашего приложения, метаданные файлов. Исходный аудиофайл удаляется через 24 часа (или раньше — можно удалить руками через DELETE /v1/jobs/{id}).

Интеграция за 15 минут

REST + OpenAPI. От 0,40 ₽/минуту. Webhooks с retry. Локальные серверы РФ. ФЗ-152. Чеки 54-ФЗ.