REST API · доступно на Профи

Транскрибация через API — за 30 строк кода

REST-эндпоинты с JSON-ответами и авторизацией через X-API-Key. Загружайте файлы, получайте текст, саммари, субтитры SRT/VTT — в свой бэкенд.

Quick start

3 шага от файла до субтитров

Загрузка, поллинг статуса, экспорт SRT — всё через 3 curl-запроса.

# 1. Загрузить файл
curl -X POST https://wonderscribe.pro/api/v1/transcribe \
  -H "X-API-Key: ws_..." \
  -F "file=@interview.mp3" \
  -F "language=ru"
# → {"task_id": "abc-123", "status": "pending"}

# 2. Поллить статус (раз в 10-15 секунд)
curl -H "X-API-Key: ws_..." \
  https://wonderscribe.pro/api/v1/tasks/abc-123
# → {"status": "completed", "progress": 100}

# 3. Экспортировать субтитры SRT
curl -H "X-API-Key: ws_..." \
  "https://wonderscribe.pro/api/v1/tasks/abc-123/export?format=srt"
# → {"content": "1\n00:00:00,000 --> 00:00:04,200\n...", "format": "srt"}
Эндпоинты

8 методов для всего флоу

Method Endpoint Назначение
GET /api/v1/account Инфо об аккаунте, план, использовано минут
POST /api/v1/transcribe Загрузить файл + старт транскрибации
GET /api/v1/tasks Список задач (пагинация: limit, offset, status)
GET /api/v1/tasks/{id} Статус задачи + progress %
GET /api/v1/tasks/{id}/result Полный результат: текст, сегменты, саммари
GET /api/v1/tasks/{id}/export?format=… Экспорт: txt · srt · vtt · json
POST /api/v1/tasks/{id}/cancel Отмена pending/processing задачи
POST /api/v1/api-key/generate Ротация ключа (старый — invalidated)
POST /transcribe

Параметры загрузки

Поле Тип Default Описание
file *fileАудио/видео файл (.mp3, .wav, .mp4, .mov, .m4a, .ogg, .flac, .webm и др.)
languagestringruISO-код языка. 99 поддерживаемых
num_speakersintautoКол-во спикеров (1-6). Если известно — точность выше
promptstringИмена, термины, аббревиатуры — для повышения точности
domainstringlegal / medical / tech — для domain-prompts
summary_templatestringgeneral63 шаблона: meeting / lecture / interview / podcast / др.

* — обязательное поле

Python

Полный end-to-end пример

Загрузка → поллинг → результат + субтитры.

import requests, time

API_KEY = "ws_..."
BASE    = "https://wonderscribe.pro/api/v1"
HEADERS = {"X-API-Key": API_KEY}

# 1) Upload
with open("interview.mp3", "rb") as f:
    r = requests.post(
        f"{BASE}/transcribe",
        headers=HEADERS,
        files={"file": f},
        data={"language": "ru", "num_speakers": 2},
    )
task_id = r.json()["task_id"]
print("task_id:", task_id)

# 2) Poll status
while True:
    s = requests.get(f"{BASE}/tasks/{task_id}", headers=HEADERS).json()
    print(s["status"], s.get("progress", 0), "%")
    if s["status"] in ("completed", "failed"): break
    time.sleep(10)

# 3) Get text + SRT
result = requests.get(f"{BASE}/tasks/{task_id}/result", headers=HEADERS).json()
print(result["text"])

srt = requests.get(f"{BASE}/tasks/{task_id}/export?format=srt", headers=HEADERS).json()
with open("out.srt", "w") as f:
    f.write(srt["content"])
Доступ

Только на тарифе Профи

API доступно подписчикам Профи (724 ₽/мес при оплате за год). Безлимит транскрибации + приоритет очереди + до 20 членов команды.