Skip to main content
POST
/
batch
Submit batch transcription
curl --request POST \
  --url https://api.soket.ai/transcribe/batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "batch_upload_id": "<string>",
  "file_ids": [
    "<string>"
  ],
  "sources": [
    {
      "gcs_key": "<string>",
      "url": "<string>",
      "filename": "<string>"
    }
  ]
}
'
{
  "batch_id": "<string>",
  "total_jobs": 123,
  "estimated_audio_seconds": 123,
  "estimated_completion_seconds": 123,
  "jobs": [
    {
      "file_id": "<string>",
      "filename": "<string>",
      "batch_id": "<string>",
      "status": "<string>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.tensorstudio.ai/llms.txt

Use this file to discover all available pages before exploring further.

Submit a batch of audio for transcription. Accepts a JSON body with:
  • batch_upload_id (optional): include all completed files from one upload request
  • file_ids (optional): list of specific file_id strings from prior POST /files/upload responses
  • sources (optional): explicit list of GCS keys or URLs
At least one of batch_upload_id, file_ids, or sources must resolve to at least one file. All fields can be combined in a single request. Each source item must include either gcs_key or url, and may include an optional filename. Uploaded files referenced by batch_upload_id or file_ids must have upload_status: "completed". If uploads are still in progress, the API returns 409. When a file is selected via file_ids, the same file_id from the upload response is reused for transcription results.

Example (from completed upload)

curl -X POST "https://api.soket.ai/transcribe/batch" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "batch_upload_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }'

Example (specific file_ids)

curl -X POST "https://api.soket.ai/transcribe/batch" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "file_ids": [
      "1374132b-b5db-4ec3-9cf1-f61f982e89b0",
      "2485243c-c6ec-5fd4-0dg2-g72g093f90c1"
    ]
  }'

Example (upload batch + specific files + URLs)

curl -X POST "https://api.soket.ai/transcribe/batch" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "batch_upload_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "file_ids": ["3596354d-d7fd-6ge5-1eh3-h83h104g01d2"],
    "sources": [
      {"url": "https://example.com/audio3.wav", "filename": "audio3.wav"}
    ]
  }'

Typical response

{
  "batch_id": "0f8fad5b-d9cb-469f-a165-70867728950e",
  "total_jobs": 3,
  "estimated_audio_seconds": 290.0,
  "estimated_completion_seconds": 21.7,
  "jobs": [
    {
      "file_id": "1374132b-b5db-4ec3-9cf1-f61f982e89b0",
      "filename": "audio1.wav",
      "batch_id": "0f8fad5b-d9cb-469f-a165-70867728950e",
      "status": "queued"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
batch_upload_id
string

Include all completed files from this POST /files/upload response

file_ids
string[]

Specific file_id values from POST /files/upload; can span multiple upload batches

sources
object[]

Explicit GCS keys or URLs; each item must have gcs_key or url

Response

Batch accepted and enqueued

batch_id
string
total_jobs
integer
estimated_audio_seconds
number
estimated_completion_seconds
number
jobs
object[]