Яндекс.Метрика

Публичное API

Документация для разработчиков и примеры запросов.

Базовый URL

Используйте базовый URL для всех запросов API.

https://polyglotvoice.ru/api/v1

Авторизация

Все запросы требуют API ключ в заголовке Authorization.

Authorization: Bearer sk_...

Ключ действует 30 дней и работает только для transcriptions/*.

Как получить API ключ

  1. Войдите в личный кабинет.
  2. Откройте профиль → «API ключи».
  3. Создайте ключ и сохраните его (показывается один раз).
  4. Используйте ключ в запросах.

Эндпоинты

Основные эндпоинты для работы с транскрибациями.

POST /api/v1/transcriptions/upload

Загрузка файла для транскрибации.

POST /api/v1/transcriptions/from-url

Транскрибация по ссылке на медиа.

POST /api/v1/transcriptions/validate-url

Проверка ссылки на медиа перед запуском.

GET /api/v1/transcriptions

Список задач транскрибации.

GET /api/v1/transcriptions/{task_id}

Информация о задаче.

GET /api/v1/transcriptions/{task_id}/result

Результат транскрибации.

GET /api/v1/transcriptions/{task_id}/downloads/{kind}

Скачать файл результата (srt/txt/json и т.д.).

GET /api/v1/transcriptions/{task_id}/source

Стрим исходного медиа (Range).

POST /api/v1/transcriptions/convert-audio

Конвертация аудио и скачивание результата.

Примеры запросов

Ниже базовые примеры для начала.

curl

curl -X POST "https://polyglotvoice.ru/api/v1/transcriptions/upload" \
  -H "Authorization: Bearer sk_..." \
  -F "file=@audio.mp3"

Python

import requests

url = "https://polyglotvoice.ru/api/v1/transcriptions/upload"
headers = {"Authorization": "Bearer sk_..."}
files = {"file": open("audio.mp3", "rb")}

response = requests.post(url, headers=headers, files=files)
print(response.json())

JavaScript

const formData = new FormData();
formData.append("file", file);

fetch("https://polyglotvoice.ru/api/v1/transcriptions/upload", {
  method: "POST",
  headers: { Authorization: "Bearer sk_..." },
  body: formData
})
  .then((res) => res.json())
  .then(console.log);

Форматы файлов

Поддерживаются популярные аудио и видео форматы.

Например: mp3, wav, m4a, ogg, mp4, webm.

Ответы и ошибки

Пример ответа на создание задачи и ошибки авторизации.

{ "task_id": "9b9c1b9a-....", "status": "queued" }
{ "detail": "Invalid token." }

Лимиты

Ниже — фактические значения, которые применяет API. Кратковременные (burst) лимиты считаются на пользователя: один и тот же аккаунт и с JWT сессии, и с любого sk_. Суточные и месячные счётчики учитывают все запросы, выполненные с любым вашим ключом sk_ (календарные сутки и месяц по UTC). При превышении лимита ответ — HTTP 429.

Актуальный блок rate_limits в JSON возвращает метод:

GET https://polyglotvoice.ru/api/v1/developer/documentation

Загрузка текущих лимитов…

Отдельно от этих счётчиков действуют ограничения тарифа: максимальная длительность файла, размер загрузки, число параллельных задач и (на сайте) дневной лимит загрузок. См. свой план в личном кабинете.