Transcripts

Transcribe (one request)

Send the audio and get the finished transcript back in one request: the upload, Create a transcript and the wait in one call. The body is the raw audio (any audio or video format) with the options as query parameters, or a multipart/form-data form whose file field is the audio and whose other fields are the options. Options are those of Create a transcript except audio_url and file_id; keyterms may repeat, metadata and speaker_identification are JSON. If the transcript is not finished within wait, the answer is 202 with the transcript so far: fetch it with Get a transcript, optionally with wait.

post/v1/transcribe

Request

  • Base URL
    https://api.aircaps.com
  • URL
    https://api.aircaps.com/v1/transcribe
  • Auth
    HTTP bearer

Query parameters

modelstring required
Example:a5s-async-v1
language_codestring

Language of the audio. English only today: en or a regional English code (en-US, en-GB, en-IN, ...); for best results use the one that matches the speakers' locale or accent. The transcript reports en. Any other value returns 400 unsupported_language. Multilingual support is planned.

waitnumber

Seconds to wait for the transcript (0 to 120).

Headers

Idempotency-Keystring

Up to 255 characters. Makes retries safe: the same key and options return the original job.

Request body multipart/form-data

filestring binary required
modelstring
language_codestring

Response

The finished transcript (as Get a transcript).

idstring required

Transcript ID.

object'transcript' required
status'queued' | 'processing' | 'completed' | 'error' required

queued: waiting for a processing slot. processing: being transcribed. completed: result fields present. error: see error.

created_atstring date-time required

When the transcript was created (UTC).

started_atstring date-time nullable required

When processing started.

completed_atstring date-time nullable required

When the job finished (completed or error).

audio_urlstring nullable required

The submitted audio_url, if any.

file_idstring nullable required

The submitted file_id, if any.

language_code'en' required

Language of the transcript (normalised).

model'a5s-async-v1' required
audio_durationnumber nullable required

Audio duration in seconds, once known.

metadataobject nullable required

Your metadata, echoed back.

webhook_urlstring nullable required

Webhook target, if any.

webhook_status'pending' | 'delivered' | 'failed' | 'null' nullable required

Webhook delivery state, if webhook_url was set.

webhook_status_codeinteger nullable required

HTTP status of the last webhook delivery.

textstring

Completed only. Full transcript: verbatim, lowercase, no punctuation.

timing_mode'phrase' | 'region'

The timing_mode used.

keytermsstring[]

Only when the transcript was created with keyterms: the list used (duplicates removed).

large_meetingboolean

Only when the transcript was created with large_meeting: true.

Example response

{
  "id": "tr_01k6z3m4q8w7e5r2t1y0u9i8o7",
  "object": "transcript",
  "audio_duration": 3600.512,
  "speakers": [
    {
      "id": "speaker_0",
      "speaking_time": 1402.11,
      "speaker_id": "spk_01k73a9x8w7v6u5t4s3r2q1p0n",
      "name": "Ana García",
      "score": 0.781,
      "matches": [
        {
          "speaker_id": "spk_01k73a9x8w7v6u5t4s3r2q1p0n",
          "name": "Ana García",
          "score": 0.781
        }
      ],
      "compared_duration": 60
    }
  ],
  "utterances": [
    {
      "speaker": "speaker_0",
      "speaker_name": "Ana García",
      "start": 0.48,
      "end": 6.12,
      "text": "hey good afternoon everybody",
      "words": [
        {
          "text": "hey",
          "start": 0.48,
          "end": 0.71,
          "speaker": "speaker_0"
        }
      ]
    }
  ],
  "words": [
    {
      "text": "hey",
      "start": 0.48,
      "end": 0.71,
      "speaker": "speaker_0"
    }
  ],
  "speaker_identification": {
    "threshold": 0.6,
    "speakers_compared": 12,
    "speakers_identified": 2
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.