Skip to main content
The API sends no completion notifications, so you need to poll for the result. The source of truth is the response of GET /api/spaces/{space_id}/audio/{audio_id}/result/.

States

A 500 error comes as an HTML page, not JSON. Check the status code before parsing the body.

How long to wait

A short recording is processed in 1–4 minutes. Long recordings and the queue at peak hours add time. Poll every 10–15 seconds and set an overall timeout of at least an hour.

If processing fails

A failed processing run shows up in one of two ways: 200 with classified: true and success: false, or 500 as an HTML page. If 500 persists for more than 3 minutes in a row, treat processing as failed. The minutes come back on their own. was_classified in info/ becomes true once processing has finished, successfully or not. While it runs, the value is false. Common causes:
  • title has no file extension or the wrong one, see Formats;
  • the file has no duration, see Duration in the file;
  • the file is corrupted or has no sound.
Fix the file or the title and upload the recording again.

Ready-to-use code

Python
Last modified on October 17, 2026