Skip to main content
POST
Create Job

Overview

Create a new batch transcription job within your organization. The job is created in CREATED status with your audio accepted — it does not start transcription yet. You can then start processing via the Start Job endpoint. Authenticated private bucket access is not supported.

Authentication

Request Body

Multipart upload

string
required
JSON string with STT configuration. Required fields: model, language_code. Optional: mode, with_diarization, num_speakers, is_multi_channel, bias_list, bias_score (see Word boosting).
file
required
Audio file or ZIP archive. Repeat this field for multiple files. Max 100 files per job, 10 MB per file. ZIP up to 50 MB compressed.
string
Optional HTTPS webhook URL. When set, Gnani POSTs terminal job results (including full_transcript) to this URL.

Public URL (JSON)

Word boosting (bias_list)

Optionally bias recognition towards words the model tends to get wrong — brand names, product names, Roman-script tokens. Both fields are optional and go inside config, for the multipart config string and the JSON body alike.
  • The same list and score apply to every segment of every file in the job.
  • Boosting takes effect only for languages served by the v2 model (hi-IN, en-IN, ta-IN, bn-IN, kn-IN, te-IN, ml-IN, mr-IN). For anything else it is ignored, not rejected.
  • An invalid list or score is rejected when the job is created (see the 400 INVALID_CONFIG error below), unlike the synchronous POST /stt/v3, which skips boosting silently.
  • Boosted words are not echoed in the transcript; Get Job Status shows them in config.

Example cURL

Example cURL with word boosting

Response

Success (201)

Save job_id. Always start with /stt/v3/batch/jobs/{job_id}/start (even if the message mentions /v1/jobs/...).

Error responses

400 Unsupported language
400 Invalid bias_list / bias_score
Other reasons: bias_list entries must be letters only (no digits, punctuation, or symbols), bias_list holds N words; the maximum is 100, bias_score must be one of [0.0, 0.5, 1.0, 1.5, 2.0]. 401 Missing API key

Use Cases

  • Uploading one or many call recordings for offline transcription
  • Sending a ZIP of customer audio for batch processing
  • Pointing to public HTTPS / S3 presigned URLs without re-uploading files
Use the Try it playground to run this request with your API key. Then call Start Job.

Authorizations

X-API-Key-ID
string
header
required

Your Gnani API key

Body

application/json
config
object
required
source
object
required
callback_url
string<uri>

Optional HTTPS webhook URL for terminal job results

Response

Job created

job_id
string<uuid>
status
string
Example:

"CREATED"

created_at
string<date-time>
message
string
total_files_accepted
integer | null