Загрузите файл, выберите формат и получите ссылку на результат. Обработка в очереди.
Лимиты: 10 запросов в минуту на конвертацию, 30/мин на скачивание. Максимальный размер файла — 50 МБ.
GET /api/formats
Поле всегда: file и format. По Content-Type сервер решает, откуда брать данные.
multipart/form-data — загрузка файла:
curl -X POST "{{ base }}/api/convert" \\
-F "file=@/path/to/audio.mp3" \\
-F "format=mp3"
application/json — URL или base64 в поле file:
POST "{{ base }}/api/convert"
Content-Type: application/json
{"file": "https://api.telegram.org/file/bot.../путь", "format": "mp3"}
Если file начинается с http(s) — сервер скачает файл по URL. Иначе ожидается base64. Ответ: {"job_id": "uuid", "status": "queued"}
GET /api/jobs/{job_id}
Ответ: {"job_id": "...", "status": "queued|processing|done|failed", "error": null}
GET /api/jobs/{job_id}/download
Когда status === "done", по этому URL вернётся файл.