Документация 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»
}