> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # 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** **`transcribe`** `object` — required An object that accepts the following properties. --- **`transcribe.status_url`** `string` An HTTP or HTTPS URL that receives the status callback when the transcription finishes. Learn more about [status callbacks][statuscallbacks]. --- ## **Variables** **`transcribe_result`** `success | failed` Whether transcription started successfully. --- **`transcribe_control_id`** `string` Identifier assigned to this transcription. `transcribe_stop` uses it to stop the right one. --- ## **StatusCallbacks** > **Status callbacks are advisory** > > Status callbacks are asynchronous, best-effort HTTP notifications: delivery can be delayed or fail silently — if your server is unreachable, the callback simply never arrives. Don't gate time-critical or business-critical actions solely on receiving one. Confirm state via the REST API before acting, or use a transport with visible failure modes — see [Status callback reliability](/docs/platform/webhooks#status-callback-reliability). 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/webhooks/transcribe-status-callback) webhook page for the full field reference. --- ## **Example** #### YAML ```yaml version: 1.0.0 sections: main: - transcribe: status_url: https://example.com/transcribe-status ``` #### JSON ```json { "version": "1.0.0", "sections": { "main": [ { "transcribe": { "status_url": "https://example.com/transcribe-status" } } ] } } ``` > Transcribe the entire call in the background. Use live_transcribe for real-time transcription.