# 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