Интегрируйте автоматическую транскрипцию в своё приложение за 15 минут: multipart upload, polling статуса, webhooks с retry, скачивание результата в TXT, SRT, VTT, JSON, DOCX, PDF. Под капотом — WhisperX large-v3 + PyAnnote 3.1 + Qwen polish. Локальные серверы РФ.
REST API DeepScribe — для разработчиков, которым нужно встроить расшифровку аудио в свой продукт. Не платить операторам, не подключать Google Speech-to-Text (передача данных за границу), не разворачивать WhisperX самим (нужна GPU, CUDA, обслуживание).
Откройте Telegram-бот @DeepScribe_bot →
/api → «Создать ключ» → сохраните dsk_live_....
Один аккаунт может иметь до 10 ключей одновременно.
# 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
# Опция А: 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 запросов / минуту — внутри лимита
# 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
Интерактивно — пробуйте endpoints прямо в браузере.
Не хотите делать polling? Включите webhooks: DeepScribe сам POST'нет ваш URL когда задача готова. С retry и подписью — всё что нужно для надёжной production-интеграции.
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"]
}
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:].
На тарифе Business — 0,80 ₽/минуту (в составе подписки 3 490 ₽/мес = 60 часов в месяц + полный REST API + webhooks с retry). На корпоративном Team — 0,40 ₽/минуту. Без подписки pay-as-you-go от 2,50 ₽/мин. При больших объёмах от 1000+ часов/мес — индивидуальный прайс через /business.
Официальных 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 доступны на тарифе 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.
По умолчанию 60 запросов в минуту на API-ключ
(без burst). На корпоративных тарифах Team и
Business+ можно увеличить до 600 req/min
через /business. Лимит
распространяется на все endpoints, кроме polling
статуса (GET /v1/jobs/{id}) — там
отдельно 240 req/min (специально мягче чтобы
можно было часто polling'ом).
Да. Вместо multipart-файла можно передать
audio_url в теле запроса — DeepScribe
сам скачает файл по этому URL. Удобно для интеграции
с S3, Yandex Object Storage, или собственных хранилищ.
Поддерживаются presigned URLs с истечением. Подробно
в /api/docs.
Полная интерактивная документация — Swagger UI: deepscribe.ru/api/docs. Можно прямо в браузере пробовать endpoints, вводить свой ключ. OpenAPI 3.0 JSON для импорта в Postman / Insomnia / openapi-generator — /api/openapi.json.
Только техническая телеметрия: job_id, длительность исходного аудио, длительность обработки, статус, подсчёт минут (для биллинга). Не сохраняем: содержимое транскрипта в нашей аналитике, IP клиентов из вашего приложения, метаданные файлов. Исходный аудиофайл удаляется через 24 часа (или раньше — можно удалить руками через DELETE /v1/jobs/{id}).
REST + OpenAPI. От 0,40 ₽/минуту. Webhooks с retry. Локальные серверы РФ. ФЗ-152. Чеки 54-ФЗ.