# Transcribe — From audio file asynchronously

```
POST 
/transcribe-async
```

Generate a transcript from an audio file. Only `audio/*` mime types are supported. The maximum duration is 60 minutes. The result of the request is posted to the callback URL once available.

## Request[​](#request "Direct link to Request")

* application/json

### Body**required**

* **speech\_locale**speech\_locale (string)required

  The spoken or written locale of the transcript, representing both the language and its specific regional variant.

  **Possible values:** \[`ENGLISH_US`, `ENGLISH_UK`, `SPANISH_ES`, `SPANISH_MX`, `FRENCH_FR`, `ARABIC_EG`, `ARABIC_LB`, `ARABIC_MA`, `ARABIC_SA`, `ARMENIAN_AM`, `BENGALI_IN`, `CANTONESE_CN`, `CROATIAN_HR`, `FILIPINO_PH`, `GERMAN_DE`, `GREEK_GR`, `GUJARATI_IN`, `HEBREW_IL`, `HINDI_IN`, `ITALIAN_IT`, `JAPANESE_JP`, `KHMER_KH`, `KOREAN_KR`, `MANDARIN_CN`, `PERSIAN_IR`, `POLISH_PL`, `PORTUGUESE_PT`, `PUNJABI_IN`, `RUSSIAN_RU`, `SERBIAN_RS`, `TAMIL_IN`, `TELUGU_IN`, `THAI_TH`, `URDU_IN`, `VIETNAMESE_VN`]

  **Example:<!-- -->&#x20;**`ENGLISH_US`

  **file\_url**stringrequired

  The URL of the audio file to download & listen to.

  **split\_by\_sentence**boolean

  Indicates whether to segment transcription results at sentence boundaries. Default is false, meaning that a single transcript item may encompass multiple sentences, provided they are not delineated by pauses (silence) in the audio.

  **Default value:<!-- -->&#x20;**`false`

  **client\_request\_id**copilot\_client\_request\_id (string)

  An optional unique client-made id for this request. When specified, this id is included in the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.

  *Note*: this id must be different for every request. It is recommended to use a randomly generated UUID.

  **Possible values:** `<= 128 characters`

## Responses[​](#responses "Direct link to Responses")

* 200

Request received and processing started.

* application/json

- Schema
- Example (from schema)

**Schema**

* oneOf

  * async\_request\_ongoing
  * async\_request\_failed
  * async\_transcription\_succeeded

  **id**uuidrequired

  The id of the asynchronous request.

  **Example:<!-- -->&#x20;**`98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6`

  **client\_request\_id**copilot\_client\_request\_id (string)

  An optional unique client-made id for this request. When specified, this id is included in the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.

  *Note*: this id must be different for every request. It is recommended to use a randomly generated UUID.

  **Possible values:** `<= 128 characters`

  **status**async\_request\_status (string)required

  **Possible values:** \[`ongoing`, `failed`, `succeeded`]

  **id**uuidrequired

  The id of the asynchronous request.

  **Example:<!-- -->&#x20;**`98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6`

  **client\_request\_id**copilot\_client\_request\_id (string)

  An optional unique client-made id for this request. When specified, this id is included in the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.

  *Note*: this id must be different for every request. It is recommended to use a randomly generated UUID.

  **Possible values:** `<= 128 characters`

  **status**async\_request\_status (string)required

  **Possible values:** \[`ongoing`, `failed`, `succeeded`]

  ******payload**objectrequired

  **error\_code**integerrequired

  **Example:<!-- -->&#x20;**`422`

  **error\_message**string

  **Example:<!-- -->&#x20;**`We can't generate the note when the transcript is too short.`

  **id**uuidrequired

  The id of the asynchronous request.

  **Example:<!-- -->&#x20;**`98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6`

  **client\_request\_id**copilot\_client\_request\_id (string)

  An optional unique client-made id for this request. When specified, this id is included in the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.

  *Note*: this id must be different for every request. It is recommended to use a randomly generated UUID.

  **Possible values:** `<= 128 characters`

  **status**async\_request\_status (string)required

  **Possible values:** \[`ongoing`, `failed`, `succeeded`]

  ******payload**object

  The generated transcript.

  ******transcript**object\[]required

  Array \[

* **text**stringrequired

  The transcribed text.

  **Example:<!-- -->&#x20;**`Also, I’m allergic to peanuts.`

  **speaker**copilot\_speaker (string)required

  Who said the text in this transcript item.

  **Possible values:** \[`doctor`, `patient`, `unspecified`]

  **Example:<!-- -->&#x20;**`doctor`

  **start\_offset\_ms**integerrequired

  Start time of this transcription item as the offset, in milliseconds, from the start of the audio file.

  **Example:<!-- -->&#x20;**`65100`

  **end\_offset\_ms**integerrequired

  End time of this transcription item as the offset, in milliseconds, from the start of the audio file. Equals the `start_time_ms` plus the duration of the related transcribed audio portion.

  **Example:<!-- -->&#x20;**`69300`

  ]

```
{}
```

## Operation spec

```json
{
  "method": "post",
  "path": "/transcribe-async",
  "operationId": "transcribe-async",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "description": "The object containing all the information needed along with the audio file to transcribe.",
          "properties": {
            "speech_locale": {
              "type": "string",
              "description": "The spoken or written locale of the transcript, representing both the language and its specific regional variant.",
              "enum": [
                "ENGLISH_US",
                "ENGLISH_UK",
                "SPANISH_ES",
                "SPANISH_MX",
                "FRENCH_FR",
                "ARABIC_EG",
                "ARABIC_LB",
                "ARABIC_MA",
                "ARABIC_SA",
                "ARMENIAN_AM",
                "BENGALI_IN",
                "CANTONESE_CN",
                "CROATIAN_HR",
                "FILIPINO_PH",
                "GERMAN_DE",
                "GREEK_GR",
                "GUJARATI_IN",
                "HEBREW_IL",
                "HINDI_IN",
                "ITALIAN_IT",
                "JAPANESE_JP",
                "KHMER_KH",
                "KOREAN_KR",
                "MANDARIN_CN",
                "PERSIAN_IR",
                "POLISH_PL",
                "PORTUGUESE_PT",
                "PUNJABI_IN",
                "RUSSIAN_RU",
                "SERBIAN_RS",
                "TAMIL_IN",
                "TELUGU_IN",
                "THAI_TH",
                "URDU_IN",
                "VIETNAMESE_VN"
              ],
              "example": "ENGLISH_US",
              "title": "speech_locale"
            },
            "file_url": {
              "type": "string",
              "description": "The URL of the audio file to download & listen to."
            },
            "split_by_sentence": {
              "type": "boolean",
              "default": false,
              "description": "Indicates whether to segment transcription results at sentence boundaries. Default is false, meaning that a single transcript item may encompass multiple sentences, provided they are not delineated by pauses (silence) in the audio."
            },
            "client_request_id": {
              "type": "string",
              "maxLength": 128,
              "description": "An optional unique client-made id for this request. When specified, this id is included in  the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.\n\n_Note_: this id must be different for every request. It is recommended to use a randomly generated UUID.",
              "title": "copilot_client_request_id"
            }
          },
          "required": [
            "speech_locale",
            "file_url"
          ],
          "title": "transcribe_async_request"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Request received and processing started.",
      "content": {
        "application/json": {
          "schema": {
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "id",
                  "status"
                ],
                "title": "async_request_ongoing"
              },
              {
                "type": "object",
                "required": [
                  "id",
                  "status",
                  "payload"
                ],
                "title": "async_request_failed"
              },
              {
                "type": "object",
                "required": [
                  "id",
                  "status"
                ],
                "title": "async_transcription_succeeded"
              }
            ],
            "discriminator": {
              "propertyName": "status",
              "mapping": {
                "ongoing": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The id of the asynchronous request.",
                      "type": "string",
                      "format": "uuid",
                      "example": "98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6",
                      "title": "uuid"
                    },
                    "client_request_id": {
                      "type": "string",
                      "maxLength": 128,
                      "description": "An optional unique client-made id for this request. When specified, this id is included in  the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.\n\n_Note_: this id must be different for every request. It is recommended to use a randomly generated UUID.",
                      "title": "copilot_client_request_id"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "ongoing",
                        "failed",
                        "succeeded"
                      ],
                      "title": "async_request_status"
                    }
                  },
                  "required": [
                    "id",
                    "status"
                  ],
                  "title": "async_request_ongoing"
                },
                "failed": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The id of the asynchronous request.",
                      "type": "string",
                      "format": "uuid",
                      "example": "98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6",
                      "title": "uuid"
                    },
                    "client_request_id": {
                      "type": "string",
                      "maxLength": 128,
                      "description": "An optional unique client-made id for this request. When specified, this id is included in  the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.\n\n_Note_: this id must be different for every request. It is recommended to use a randomly generated UUID.",
                      "title": "copilot_client_request_id"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "ongoing",
                        "failed",
                        "succeeded"
                      ],
                      "title": "async_request_status"
                    },
                    "payload": {
                      "type": "object",
                      "properties": {
                        "error_code": {
                          "type": "integer",
                          "example": 422
                        },
                        "error_message": {
                          "type": "string",
                          "example": "We can't generate the note when the transcript is too short."
                        }
                      },
                      "required": [
                        "error_code"
                      ],
                      "title": "async_request_failed_payload"
                    }
                  },
                  "required": [
                    "id",
                    "status",
                    "payload"
                  ],
                  "title": "async_request_failed"
                },
                "succeeded": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The id of the asynchronous request.",
                      "type": "string",
                      "format": "uuid",
                      "example": "98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6",
                      "title": "uuid"
                    },
                    "client_request_id": {
                      "type": "string",
                      "maxLength": 128,
                      "description": "An optional unique client-made id for this request. When specified, this id is included in  the Json payload that will be sent asynchronously. This can help clients both guarantee idempotency and correlate asynchronous responses with their requests.\n\n_Note_: this id must be different for every request. It is recommended to use a randomly generated UUID.",
                      "title": "copilot_client_request_id"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "ongoing",
                        "failed",
                        "succeeded"
                      ],
                      "title": "async_request_status"
                    },
                    "payload": {
                      "type": "object",
                      "description": "The generated transcript.",
                      "properties": {
                        "transcript": {
                          "type": "array",
                          "description": "Transcript items from the audio file.",
                          "items": {
                            "type": "object",
                            "description": "A portion of the transcribed consultation.",
                            "properties": {
                              "text": {
                                "type": "string",
                                "description": "The transcribed text.",
                                "example": "Also, I’m allergic to peanuts."
                              },
                              "speaker": {
                                "type": "string",
                                "enum": [
                                  "doctor",
                                  "patient",
                                  "unspecified"
                                ],
                                "description": "Who said the text in this transcript item.",
                                "example": "doctor",
                                "title": "copilot_speaker"
                              },
                              "start_offset_ms": {
                                "type": "integer",
                                "description": "Start time of this transcription item as the offset, in milliseconds, from the start of the audio file.",
                                "example": 65100
                              },
                              "end_offset_ms": {
                                "type": "integer",
                                "description": "End time of this transcription item as the offset, in milliseconds, from the start of the audio file. Equals the `start_time_ms` plus the duration of the related transcribed audio portion.",
                                "example": 69300
                              }
                            },
                            "required": [
                              "text",
                              "speaker",
                              "start_offset_ms",
                              "end_offset_ms"
                            ],
                            "title": "copilot_transcript_item"
                          },
                          "title": "copilot_transcript"
                        }
                      },
                      "required": [
                        "transcript"
                      ],
                      "title": "async_transcription_succeeded_payload"
                    }
                  },
                  "required": [
                    "id",
                    "status"
                  ],
                  "title": "async_transcription_succeeded"
                }
              }
            },
            "title": "async_transcription"
          }
        }
      }
    }
  }
}
```
