Async transcription
Learn about async transcription for audio files.
Overview
Soniox supports asynchronous transcription for audio files. This allows you to transcribe recordings without maintaining a live connection or streaming pipeline.
You can submit audio from:
- A public URL (
audio_url
) - A local file uploaded via the Soniox Files API (
file_id
)
Once submitted, jobs are processed in the background. You can poll for status/results, or use webhooks to get notified when transcription is complete.
Audio input options
Transcribe from public URL
If your audio is publicly accessible via HTTP, use the audio_url
parameter:
See code example below.
Transcribe from local file
For local files, upload to Soniox using the Files API. Then reference the
returned file_id
when creating the transcription request:
See code example below.
Tracking requests
Optionally, add a client-defined identifier to track requests:
See code example below.
Webhooks
Instead of polling, configure webhooks to receive a notification when a job finishes or fails. This enables fully asynchronous processing.
Limits
File limits
Limit | Default | Notes |
---|---|---|
Total file storage | 10 GB | Across all uploaded files |
Uploaded files | 10,000 | Maximum number of files stored at once |
File duration | 60 minutes | Cannot be increased |
You must manually delete files after obtaining transcription results. Files are not deleted automatically. Limit increases (except file duration) can be requested in the Soniox Console.
Transcription limits
Limit | Default | Notes |
---|---|---|
Pending transcriptions | 100 | Requests created but not yet processing |
Total transcriptions | 2,000 | Includes pending + completed + failed |
File duration | 60 minutes | Cannot be increased |
To keep creating new transcriptions:
- Stay below 100 pending at a time
- Remove completed/failed transcriptions so total stays under 2,000
Limit increases (except file duration) can be requested in the Soniox Console.