Skip to main content
This guide covers the three ways to submit audio for batch transcription. For endpoint details and schemas, see the Batch API reference.
The Batch API is served from https://api.batch.slng.ai, not https://api.slng.ai, and uses the same bearer SLNG key.
Prerequisites:
  • An SLNG key
  • Audio in a supported format: wav, mp3, flac, aac, ogg, m4a, mp4, amr, mpeg

Placeholders

The snippets below use these placeholders. Replace them before running the code.

Input Methods

Method 1: File Upload

Upload the audio file directly using multipart/form-data.

Method 2: URL Input

Provide a publicly accessible HTTPS URL. The system downloads the file (max 1 GB). Supports presigned S3/GCS URLs for private files.

Method 3: Presigned Upload

Use this method for large files or when you need upload progress tracking. Three steps: request a presigned URL, upload the file directly to S3, then create the job referencing the upload.
1

Request a presigned S3 upload URL

Returns 200 OK (no job is created yet). The response carries the job_id, the validated transcription_config (and any other config you sent, echoed back), the future S3 locations, and an upload object with the presigned PUT URL plus the headers your upload must send:
Carry the returned transcription_config (and any echoed tracking / output_config) verbatim into step 3.
2

Upload the file to the presigned URL

Send the bytes with the exact headers from upload.headers (typically Content-Type: application/octet-stream):
3

Create the job

Reference the job_id and s3_key from step 1.

Job Lifecycle

After submission, a job moves through these statuses: QUEUEDIN_PROGRESSDECODINGPOST_PROCESSINGDONE / FAILED A successfully deleted job moves to DELETED (terminal). Poll GET /v1/batch/jobs/{jobId} until the status reaches DONE or FAILED. The response includes the full job record (config, timestamps, error_message on failures); see the API reference for the schema.
Once DONE, retrieve the transcript:
This returns signed download URLs for the input audio and the output transcripts. Each output entry carries a format field: json, txt, or srt. Signed URLs expire after roughly one hour. To list jobs instead of polling a single one, use GET /v1/batch/jobs. It supports pagination (page, page_size) plus filtering by status, model_code, and submission date range, and sorting by submitted_at, status, or model_code. See the API reference for the full parameter list.

Transcription Config

Example with diarization and enhanced accuracy:

Limits


Next Steps

Batch API reference

Endpoint details, request schemas, and response formats

Getting started

Set up your SLNG key and make your first request