Table of contents

Загрузка файла

Эндпоинт загружает файл на сервер, проверяет валидность API ключа и инициирует обработку файла. Пользователь должен предоставить язык содержимого файла и (опционально) количество спикеров. Если количество спикеров не указано или указано как -1, нейросеть автоматически определит количество спикеров. Если значение превышает 3, также будет применен автоматический алгоритм.

После загрузки файла, создается уникальный код заказа, и файл сохраняется на сервере. Затем инициируется процесс обработки заказа.

  • Метод: POST
  • URL: /file/upload
  • Авторизация: Требуется передача API ключа в заголовке Authorization.

Параметры запроса:

  • Query параметры:
    • speakers_count(int, необязательный): Количество спикеров в файле (от -1 до 50). Значение по умолчанию: -1 (автоматическое определение).
    • language(string, обязательный): Язык содержимого файла ('ru''en').
  • File параметры:
    • file (обязательный): Файл для загрузки.
  • Header параметры:
    • Authorization (обязательный): API-ключ в формате Bearer {api_key}.

Ошибки:

  • APIWebhookNotSet: Вебхук не назначен.
  • APIWebhookNotVerified: Вебхук не прошел проверку.
  • UnknownFileExtension: Неизвестное или неподдерживаемое расширение файла.
{ "status": "uploaded", "order_code": "unique_order_code" }

Успех:

{ "status": "completed", "order_code": "unique_order_code" }

Ошибка:

{ "status": "failure", "order_code": "unique_order_code" }
import httpx import asyncio API_URL = "https://api.teamlogs.ru/api/v1/file/upload" AUTH_TOKEN = "your_api_token_here" # Укажите ваш токен авторизации FILE_PATH = "path_to_your_file" # Укажите путь к файлу LANGUAGE = "ru" # 'ru', 'en' SPEAKERS_COUNT = 1 # от -1 до 50 async def test_upload(): async with httpx.AsyncClient() as client: headers = { "Authorization": f"Bearer {AUTH_TOKEN}" } files = { "file": (FILE_PATH, open(FILE_PATH, "rb"), "application/octet-stream") } data = { "language": LANGUAGE, "speakers_count": SPEAKERS_COUNT } response = await client.post(API_URL, headers=headers, params=data, files=files) print(f"Status Code: {response.status_code}") print(f"Response: {response.json()}") asyncio.run(test_upload())