Asynchronous Transcription

Asynchronous transcription is a good starting point for generating meeting transcripts if you know you don't need this data in real-time time.

Quickstart

To run asynchronous transcription on a bot's recording, you can use the Analyze Bot Media endpoint once a bot has reached the done state.

In addition to transcription, this endpoint can be used to run AI analysis on recordings such as summarization, if this supported by the provider.

When an analysis job is done, you'll receive an analysis_done webhook event, at which point you can:


Handling Errors

If an analysis job fails, you will receive an analysis_failed Status Change Webhook event.

You will also receive a bot.output_log event with an error log and the job_id that failed:

{
  "event": "bot.output_log",
  "data": {
    "job_id": "ce898b0c-4726-4bf4-b07b-97d9aa06845b",
    "log": {
      "created_at": "2024-05-17T02:27:09.490720",
      "level": "error",
      "message": "Error processing transcription.  Use the Retrieve Job endpoint to see details (https://docs.recall.ai/reference/analysis_job_retrieve)"
    }
  }
}

Upon receiving this event, you should call the Retrieve Job endpoint to fetch details about why the job failed.

The errors field in the response will contain an error passed from the transcription provider, and you can use this to conditionally trigger a retry depending on the error message.

📘

When should I retry a transcription job?

Sometimes transcription jobs will fail due to server errors (5xx) from the transcription provider. In this case, we recommend retrying the job with an exponential backoff.

FAQ


Can I get the AI provider's transcript ID?

The original transcript ID for certain AI providers can be found by calling Get Intelligence Results.

Below are the providers this is currently supported in.

ProviderGet Intelligence Results field
AssemblyAIassembly_ai.id

What are the parameters in the Analyze Bot Media endpoint?

These parameters are exactly the same parameters accepted by the transcription provider.

For example the assemblyai_async_transcription.language_code controls the AssemblyAI parameter documented here: https://www.assemblyai.com/docs/walkthroughs#specifying-a-language

For detailed information on each parameter, we recommend viewing the corresponding transcription provider's own API documentation.