> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# transcribe

> Transcribe the entire call in the background. Use live_transcribe for real-time transcription.

[statuscallbacks]: #statuscallbacks

Transcribe the entire call in the background. Execution continues to the next instruction while the call proceeds; the transcription covers the whole call and completes when the call ends. To stop it early, use the [`transcribe_stop`](/docs/swml/reference/calling/transcribe-stop) method.

For real-time transcription delivered as the call happens, use [`live_transcribe`](/docs/swml/reference/calling/live-transcribe) instead.

Only one transcription can be active on a call at a time. Starting another while one is already running will fail.

## **Properties**

An object that accepts the following properties.

An HTTP or HTTPS URL that receives the status callback when the transcription finishes. Learn more about [status callbacks][statuscallbacks].

## **Variables**

Whether transcription started successfully.

Identifier assigned to this transcription. `transcribe_stop` uses it to stop the right one.

## **StatusCallbacks**

When you set `status_url`, SignalWire POSTs a transcript event to it when the call's transcription finishes: `calling.transcript.completed` includes the transcribed `text` when speech was captured, or `calling.transcript.failed` if the call could not be transcribed.

See the [Transcript status callback](/docs/apis/rest/calls/webhooks/transcribe-status-callback) webhook page for the full field reference.

***

## **Example**

```yaml
version: 1.0.0
sections:
  main:
    - transcribe:
        status_url: https://example.com/transcribe-status
```

```json
{
  "version": "1.0.0",
  "sections": {
    "main": [
      {
        "transcribe": {
          "status_url": "https://example.com/transcribe-status"
        }
      }
    ]
  }
}
```