***

title: liveTranscribe
slug: /reference/typescript/relay/call/live-transcribe
description: Start or stop live transcription on a call.
max-toc-depth: 3
---------------------

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

[transcribe]: /docs/server-sdks/reference/typescript/relay/call/transcribe

[live-translate]: /docs/server-sdks/reference/typescript/relay/call/live-translate

Start or stop live transcription on the call. Unlike
[`transcribe()`][transcribe] which
provides a post-call result, live transcription delivers text in real-time.

<Info>
  See also [`liveTranslate()`][live-translate] for real-time translation.
</Info>

## **Parameters**

<ParamField path="action" type="Record<string, unknown>" required={true} toc={true}>
  Action configuration for the live transcription.
</ParamField>

<Indent>
  <ParamField path="action.action" type="string" required={true} toc={true}>
    The action to perform.

    * `"start"` -- begin live transcription
    * `"stop"` -- end live transcription
  </ParamField>

  <ParamField path="action.language" type="string" toc={true}>
    Transcription language code (e.g., `"en-US"`).
  </ParamField>

  <ParamField path="action.status_url" type="string" toc={true}>
    URL to receive transcription results via webhook.
  </ParamField>
</Indent>

## **Returns**

`Promise<Record<string, unknown>>` -- Server response confirming the operation.

## **Example**

```typescript {13}
import { RelayClient } from '@signalwire/sdk';

const client = new RelayClient({
  project: process.env.SIGNALWIRE_PROJECT_ID!,
  token: process.env.SIGNALWIRE_TOKEN!,
  contexts: ['default']
});

client.onCall(async (call) => {
  await call.answer();

  // Start live transcription
  const result = await call.liveTranscribe({
    action: 'start',
    language: 'en-US',
    status_url: 'https://example.com/transcription-results',
  });
  console.log('Live transcription started:', result);

  // Let the call proceed...
  await call.waitForEnded();
});

await client.run();
```