## [​](https://docs.upliftai.org/sdk/nodejs/speech-to-text#client-stt-transcribe-request)  `client.stt.transcribe(request)`

Transcribe audio to text. Accepts a file path, `Buffer`, or readable stream.

### [​](https://docs.upliftai.org/sdk/nodejs/speech-to-text#from-file-path)  From File Path

```
import UpliftAI from '@upliftai/sdk-js';

const client = new UpliftAI({
  apiKey: 'your-api-key',
});

const { transcript } = await client.stt.transcribe({
  file: './recording.mp3',
  model: 'scribe',
  language: 'ur',
});

console.log(transcript);
```

### [​](https://docs.upliftai.org/sdk/nodejs/speech-to-text#from-buffer)  From Buffer

```
import UpliftAI from '@upliftai/sdk-js';
import { readFileSync } from 'fs';

const client = new UpliftAI({
  apiKey: 'your-api-key',
});

const buffer = readFileSync('./recording.mp3');

const { transcript } = await client.stt.transcribe({
  file: buffer,
  fileName: 'recording.mp3', // required for format detection
  model: 'scribe',
  language: 'ur',
});
```

### [​](https://docs.upliftai.org/sdk/nodejs/speech-to-text#request-parameters)  Request Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `file` | `string · Buffer · ReadableStream` | Yes | Audio input — file path, buffer, or stream |
| `fileName` | `string` | When using Buffer/Stream | File name for format detection |
| `model` | `'scribe' · 'scribe-mini'` | No | Transcription model (default: `scribe`) |
| `language` | `string` | No | Language code (e.g. `ur` for Urdu) |
| `domain` | `'phone-commerce' · 'farming'` | No | Domain-specific model for better accuracy |

### [​](https://docs.upliftai.org/sdk/nodejs/speech-to-text#response)  Response

| Field | Type | Description |
| --- | --- | --- |
| `transcript` | `string` | The transcribed text |
