Документация REST API Audiosector

Введение

Инструкция представляет возможности REST API для системы преобразования аудиозаписей в текст с использованием запросов через интернет. Она поможет подключиться к API AudioSector и автоматически расшифровывать аудиофайлы в текстовый формат. Это руководство ориентировано на разработчиков, интеграторов, создателей CRM-систем, маркетплейсов и других сервисных платформ.

Порядок работы

Получение токена авторизации

Для начала работы необходимо зарегистрироваться на сайте https://audiosector.ru Затем в личном кабинете (ЛК) зайти в профиль и получить API-токен для авторизации запросов. Токен необходимо скопировать и сохранить. Просмотреть повторно его невозможно, с целью безопасности он не сохраняется в системе, можно только повторно сгенерировать новый.

Авторизация при запросах

Токен должен быть указан в каждом запросе в виде заголовка «api_key:».

Пополнение баланса

Пополнить баланс вы можете в ЛК. Списание по заказам происходит с лицевого счета аккаунта.

Ограничения

Максимальный размер файла для обработки: 5000 МБ.

Базовый URL — https://rest.audiosector.ru/v1

Эндпоинты

Общие коды возвращаемых ошибок

HTTP_422 – Ошибка валидации параметров (некорректные значения или не полный набор)

HTTP_401 – Ошибка авторизации

HTTP_402 – Ошибка: недостаточная сумма на лицевом счету

HTTP_500 – Внутренняя ошибка сервера

Передать файл на обработку

POST /task/file

Пример

Скопировать код
curl — X 'POST' \
'https://rest.audiosector.ru/v1/task/file' \
  -H 'accept: application/json' \
  -H 'api_key: токен_авторизации' \
  -H 'Content-Type: multipart/form-data' \
  -F 'uploaded_file=@test_file.mp3;type=audio/mpeg'

Пример на python

Скопировать код
import requests

import json


api_url = "https://rest.audiosector.ru/v1"

file_path = "test_file.mp3"

token = "токен_авторизации"

headers = {"accept": "application/json", "api_key": token}

with open(file_path, 'rb') as f:

    files = {'file': (file_path, f)}

    response = requests.post(f"{api_url}/task/file", headers=headers, files=files)

    res = response.json()

    print(res)

Ответы

HTTP_200 - Возвращается id принятой задачи в очереди на обработку

{
    
 "task_id": "01JRF7CTHEFMF5ERH3PQYFTPC0"
 "account_balance": 360
 
}

Передать URL на обработку

POST /task/url

Предварительная настройка

Перед использованием данного типа запросов сайт-источник должен быть подтверждён в личном кабинете. Только для подтверждённого сайта можно указывать URL для скачивания файлов на обработку.

Пример

Скопировать код
curl — X 'POST' \

'https://rest.audiosector.ru/v1/task/file' \

  -H 'accept: application/json' \

  -H 'api_key: токен_авторизации' \

  -d '{
«url»: «https://example.com/collection/test.file.mp3»
}'

Пример на python

Скопировать код
import requests


import json

api_url = «https://rest.audiosector.ru/v1»

file_url = «https://example.com/collection/test_file.mp3»

payload = {«url»: file_url}

token ='токен_авторизации'

headers = {«accept»: «application/json», «api_key»: token}

response = requests.post(f“{api_url}/task/url“,headers=headers,json=payload)

res = response.json()

print(res)

Ответы

HTTP_200 - Возвращается id принятой задачи в очереди на обработку

{
    
  "task_id": "01JRF7CTHEFMF5ERH3PQYFTPC0"
  "account_balance": 360
 
}

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

GET /task/result/{task_id}

Пример

curl — X 'GET' \

'https://rest.audiosector.ru/v1/task/result/01JRF7CTHEFMF5ERH3PQYFTPC0' \

  -H 'accept: application/json' \

Ответы

HTTP_204 - Результат еще не готов

HTTP_200 - Возвращается json с результатом расшифровки следующего вида.

{

«segments»: [{

«start»: 0.983,

«end»: 1.731,

«text»: « Раз, два, три».,

«words»: [{
«word»: «Раз,», «start»: 0.983, «end»: 1.165, «score»: 0.916

},

{

«word»: «два,», «start»: 1.185, «end»: 1.307, «score»: 0.537

},

{

«word»: «три»., «start»: 1.367, «end»: 1.731, «score»: 0.734

}]

},

{

«start»: 1.772,

«end»: 2.56,

«text»: «Проверка связи».,

«words»: [{

«word»: «Проверка», «start»: 1.772, «end»: 2.237, «score»: 0.927

},

{

«word»: «связи»., «start»: 2.277, «end»: 2.56, «score»: 0.454

}]

}],

«language»: «ru»

}