# AssemblyAI Integration via LowCodeAPI

## Overview

Speech-to-text transcription and audio intelligence platform with speaker diarization and sentiment analysis

## Base Endpoint

```
https://api.lowcodeapi.com/assemblyai/
```

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [https://www.assemblyai.com](https://www.assemblyai.com)
2. **Get your credentials** from [https://www.assemblyai.com/app/account](https://www.assemblyai.com/app/account)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your AssemblyAI API key
- Apply it to each request with `Authorization` header

**Auth Type**: API Key (Authorization header)

## API Categories

- Speech to Text AI

## Common Endpoints

### Category: Transcript

#### Deleting transcript

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/transcript/id`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | The unique identifier of your transcription |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/assemblyai/v2/transcript/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/delete](https://www.assemblyai.com/docs/api-reference/transcripts/delete)

---

#### Transcribe audio

**Method**: `POST` | **LowCodeAPI Path**: `/v2/transcript`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript&api_token={api_token}
```


**Body Parameters**:

| `topics` | array | No | The list of custom topics. |
| `audio_url` | string | Yes | The URL of the audio or video file to transcribe. |
| `punctuate` | boolean | No | Enable Automatic Punctuation, can be true or false. |
| `redact_pii` | boolean | No | Redact PII from the transcribed text using the Redact PII model, can be true or false. |
| `word_boost` | array | No | The list of custom vocabulary to boost transcription probability for. |
| `boost_param` | string | No | Boost Param |
| `format_text` | boolean | No | Enable Text Formatting, can be true or false |
| `webhook_url` | string | No | The URL to which we send webhook requests. We sends two different types of webhook requests. One request when a transcript is completed or failed, and one request when the redacted audio is ready if redact_pii_audio is enabled. |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/v2/transcript?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"topics":"value","audio_url":"value","punctuate":"value"}'
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/submit](https://www.assemblyai.com/docs/api-reference/transcripts/submit)

---

#### Get transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id?transcript_id={transcript_id}&api_token={api_token}
```


**Path Parameters**:

| `transcript_id` | string | ID of the transcript |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id?transcript_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get](https://www.assemblyai.com/docs/api-reference/transcripts/get)

---

#### List transcripts

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript?...&api_token={api_token}
```


**Query Parameters**:

| `limit` | number | No | Maximum amount of transcripts to retrieve. |
| `status` | object | No | Filter by transcript status. |
| `after_id` | string | No | Get transcripts that were created after this transcript ID. |
| `before_id` | string | No | Get transcripts that were created before this transcript ID. |
| `created_on` | string | No | Only get transcripts created on this date. |
| `throttled_only` | boolean | No | Only get throttled transcripts, overrides the status filter. |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/list](https://www.assemblyai.com/docs/api-reference/transcripts/list)

---

#### Get sentences in transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/sentences`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/sentences?transcript_id={transcript_id}&api_token={api_token}
```


**Path Parameters**:

| `transcript_id` | string | ID of the transcript |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/sentences?transcript_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get-sentences](https://www.assemblyai.com/docs/api-reference/transcripts/get-sentences)

---

#### Get subtitles for transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/subtitle_format`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/subtitle_format?id={id}&subtitle_format={subtitle_format}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | The unique identifier of your transcription |
| `subtitle_format` | string |  |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/subtitle_format?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get-subtitles](https://www.assemblyai.com/docs/api-reference/transcripts/get-subtitles)

---

#### Get redacted audio

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/redacted-audio`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/redacted-audio?transcript_id={transcript_id}&api_token={api_token}
```


**Path Parameters**:

| `transcript_id` | string | transcript_id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/redacted-audio?transcript_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get-redacted-audio](https://www.assemblyai.com/docs/api-reference/transcripts/get-redacted-audio)

---

#### Get paragraphs in transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/paragraphs`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/paragraphs?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | The unique identifier of your transcription |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/paragraphs?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get-paragraphs](https://www.assemblyai.com/docs/api-reference/transcripts/get-paragraphs)

---

#### Get word timestamps in transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/words`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/words?transcript_id={transcript_id}&api_token={api_token}
```


**Path Parameters**:

| `transcript_id` | string | ID of the transcript |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/words?transcript_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get-words](https://www.assemblyai.com/docs/api-reference/transcripts/get-words)

---

#### Get chapters in transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/chapters`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/chapters?transcript_id={transcript_id}&api_token={api_token}
```


**Path Parameters**:

| `transcript_id` | string | ID of the transcript |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/chapters?transcript_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/get-chapters](https://www.assemblyai.com/docs/api-reference/transcripts/get-chapters)

---

#### Search words in transcript

**Method**: `GET` | **LowCodeAPI Path**: `/v2/transcript/transcript_id/word-search`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/word-search?transcript_id={transcript_id}&...&api_token={api_token}
```


**Query Parameters**:

| `words` | string | Yes | Keywords to search for |


**Path Parameters**:

| `transcript_id` | string | ID of the transcript. |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/transcript/transcript_id/word-search?transcript_id=VALUE&...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/transcripts/word-search](https://www.assemblyai.com/docs/api-reference/transcripts/word-search)

---

### Category: Files

#### Upload a media file

**Method**: `POST` | **LowCodeAPI Path**: `/v2/upload`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/upload&api_token={api_token}
```


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/v2/upload&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/files/upload](https://www.assemblyai.com/docs/api-reference/files/upload)

---

### Category: LeMUR

#### Run a task using LeMUR

**Method**: `POST` | **LowCodeAPI Path**: `/lemur/v3/generate/task`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/task&api_token={api_token}
```


**Body Parameters**:

| `prompt` | string | No | Your text to prompt the model to produce a desired output, including any context you want to pass into the model. |
| `context` | string | No | Context to provide the model. |
| `input_text` | string | No | Custom formatted transcript data. Maximum size is the context limit of the selected model, which defaults to 100000. |
| `final_model` | object | No | The model that is used for the final prompt after compression is performed. |
| `temperature` | number | No | The temperature to use for the model. Higher values result in answers that are more creative, lower values are more conservative. |
| `transcript_ids` | array | No | A list of completed transcripts with text. Up to a maximum of 100 files or 100 hours, whichever is lower. |
| `max_output_size` | number | No | Defaults to 2000. Max output size in tokens. |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/task?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"value","context":"value","input_text":"value"}'
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/lemur/task](https://www.assemblyai.com/docs/api-reference/lemur/task)

---

#### Summarize a transcript using LeMUR

**Method**: `POST` | **LowCodeAPI Path**: `/lemur/v3/generate/summary`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/summary&api_token={api_token}
```


**Body Parameters**:

| `context` | string | No | Context to provide the model. |
| `input_text` | string | No | Custom formatted transcript data. Maximum size is the context limit of the selected model |
| `final_model` | object | No | The model that is used for the final prompt after compression is performed. |
| `temperature` | number | No | The temperature to use for the model. Higher values result in answers that are more creative, lower values are more conservative. |
| `answer_format` | string | No | This can be any text. |
| `transcript_ids` | array | No | A list of completed transcripts with text. |
| `max_output_size` | number | No | Defaults to 2000. Max output size in tokens. |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/summary?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"context":"value","input_text":"value","final_model":"value"}'
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/lemur/summary](https://www.assemblyai.com/docs/api-reference/lemur/summary)

---

#### Ask questions using LeMUR

**Method**: `POST` | **LowCodeAPI Path**: `/lemur/v3/generate/question-answer`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/question-answer&api_token={api_token}
```


**Body Parameters**:

| `context` | string | No | Context to provide the model. |
| `questions` | array | No | A list of questions to ask |
| `input_text` | string | No | Custom formatted transcript data. Maximum size is the context limit of the selected model |
| `final_model` | object | No | The model that is used for the final prompt after compression is performed. |
| `temperature` | number | No | The temperature to use for the model. Higher values result in answers that are more creative, lower values are more conservative. |
| `transcript_ids` | array | No | A list of completed transcripts with text. |
| `max_output_size` | number | No | Defaults to 2000. Max output size in tokens. |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/question-answer?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"context":"value","questions":"value","input_text":"value"}'
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/lemur/question-answer](https://www.assemblyai.com/docs/api-reference/lemur/question-answer)

---

#### Extract action items

**Method**: `POST` | **LowCodeAPI Path**: `/lemur/v3/generate/action-items`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/action-items&api_token={api_token}
```


**Body Parameters**:

| `context` | string | No | Context to provide the model. |
| `input_text` | string | No | Custom formatted transcript data. Maximum size is the context limit of the selected model |
| `final_model` | object | No | The model that is used for the final prompt after compression is performed. |
| `temperature` | number | No | The temperature to use for the model. Higher values result in answers that are more creative, lower values are more conservative. |
| `answer_format` | array | No | How you want the action items to be returned. This can be any text. Defaults to “Bullet Points”. |
| `transcript_ids` | array | No | A list of completed transcripts with text. |
| `max_output_size` | number | No | Defaults to 2000. Max output size in tokens. |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/lemur/v3/generate/action-items?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"context":"value","input_text":"value","final_model":"value"}'
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/lemur/action-items](https://www.assemblyai.com/docs/api-reference/lemur/action-items)

---

#### Retrieve LeMUR response

**Method**: `GET` | **LowCodeAPI Path**: `/lemur/v3/request_id`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/lemur/v3/request_id?request_id={request_id}&api_token={api_token}
```


**Path Parameters**:

| `request_id` | string | The ID of the LeMUR request you previously made. This would be found in the response of the original request. |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/lemur/v3/request_id?request_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/lemur/get-response](https://www.assemblyai.com/docs/api-reference/lemur/get-response)

---

#### Purge LeMUR request data

**Method**: `DELETE` | **LowCodeAPI Path**: `/lemur/v3/request_id`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/lemur/v3/request_id?request_id={request_id}&api_token={api_token}
```


**Path Parameters**:

| `request_id` | string | The ID of the LeMUR request you previously made. This would be found in the response of the original request. |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/assemblyai/lemur/v3/request_id?request_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/lemur/purge-request-data](https://www.assemblyai.com/docs/api-reference/lemur/purge-request-data)

---

### Category: Streaming

#### Create temporary authentication token for Streaming STT

**Method**: `POST` | **LowCodeAPI Path**: `/v2/realtime/token`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/realtime/token&api_token={api_token}
```


**Body Parameters**:

| `expires_in` | number | Yes | The amount of time until the token expires in seconds |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/assemblyai/v2/realtime/token?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expires_in":"value"}'
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/streaming/create-temporary-token](https://www.assemblyai.com/docs/api-reference/streaming/create-temporary-token)

---

#### Streaming Speech-to-Text

**Method**: `GET` | **LowCodeAPI Path**: `/v2/realtime/ws`

**Full URL**:
```
https://api.lowcodeapi.com/assemblyai/v2/realtime/ws?...&api_token={api_token}
```


**Query Parameters**:

| `token` | string | No | Authenticate using a generated temporary token. |
| `encoding` | object | No | The encoding of the audio data. Defaults to pcm_s16le. |
| `word_boost` | string | No | Add up to 2500 characters of custom vocabulary. |
| `sample_rate` | number | No | The sample rate of the streamed audio. |
| `disable_partial_transcripts` | boolean | No | Set to true to not receive partial transcripts. Defaults to false. |
| `enable_extra_session_information` | boolean | No | Set to true to receive the SessionInformation message before the session ends. Defaults to false. |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/assemblyai/v2/realtime/ws?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://www.assemblyai.com/docs/api-reference/streaming/realtime](https://www.assemblyai.com/docs/api-reference/streaming/realtime)

---

## Usage Examples

### Example 1: Basic Usage

Get started with AssemblyAI API by making your first request.

```bash
# Your example code here
# This demonstrates basic usage
curl -X GET "https://api.lowcodeapi.com/assemblyai/?api_token=YOUR_API_TOKEN"
```

### Example 2: Advanced Usage

Explore more advanced features and parameters.

```bash
# Your example code here
# This demonstrates advanced usage
curl -X GET "https://api.lowcodeapi.com/assemblyai/?api_token=YOUR_API_TOKEN"
```

## Complete Endpoint Reference

For a complete list of all endpoints and their parameters, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/assemblyai/definition`
- **Official Provider Documentation**: [https://www.assemblyai.com/docs/api-reference/overview](https://www.assemblyai.com/docs/api-reference/overview)

## Rate Limits & Best Practices

- Check your AssemblyAI account for specific rate limits
- Use appropriate error handling and retry logic
- Cache responses when appropriate to reduce API calls

## Error Handling

Standard HTTP status codes apply:
- `400` - Invalid request parameters
- `401` - Unauthorized (check your API key)
- `429` - Rate limit exceeded
- `500` - Internal server error