# AWS Transcribe Integration via LowCodeAPI

## Overview

Amazon Transcribe is an automatic speech recognition (ASR) service that makes it easy for developers to add speech-to-text capability to their applications

## Base Endpoint

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

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [https://aws.amazon.com/transcribe/](https://aws.amazon.com/transcribe/)
2. **Get your credentials** from [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)
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 AWS Transcribe API key
- Apply it to each request with `undefined` header

**Auth Type**: API Key

## API Categories

- AWS Services

## Common Endpoints

### Category: Transcription Jobs

#### Start transcription job

**Method**: `POST` | **LowCodeAPI Path**: `/v1/transcriptionjobs`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/transcriptionjobs&api_token={api_token}
```


**Body Parameters**:

| `TranscriptionJobName` | string | Yes | A unique name, chosen by you, for your transcription job |
| `Media` | object | Yes | An object that describes the input media for the transcription job |
| `MediaFormat` | enum | No | The format of the input media file |
| `MediaSampleRateHertz` | number | No | The sample rate, in Hertz, of the audio track in your input media file |
| `OutputBucketName` | string | No | The name of the Amazon S3 bucket you want to store your transcription output in |
| `OutputKey` | string | No | The key prefix you can assign to your transcription output files |
| `OutputEncryptionKMSKeyId` | string | No | The KMS key you want to use to encrypt your transcription output |
| `KMSEncryptionContext` | object | No | A map of plain text, non-secret key:value pairs, known as encryption context pairs |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/awstranscribe/v1/transcriptionjobs?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"TranscriptionJobName":"value","Media":"value","MediaFormat":"value"}'
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html)

---

#### Get transcription job

**Method**: `GET` | **LowCodeAPI Path**: `/v1/transcriptionjobs/job_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/transcriptionjobs/job_name?job_name={job_name}&api_token={api_token}
```


**Path Parameters**:

| `job_name` | string | The name of the job |

**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/awstranscribe/v1/transcriptionjobs/job_name?job_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetTranscriptionJob.html)

---

#### List transcription jobs

**Method**: `GET` | **LowCodeAPI Path**: `/v1/transcriptionjobs`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/transcriptionjobs?...&api_token={api_token}
```


**Query Parameters**:

| `Status` | enum | No | When specified, returns only transcription jobs with the specified status |
| `JobNameContains` | string | No | When specified, the jobs returned in the list are limited to jobs whose name contains the specified string |
| `NextToken` | string | No | If your ListTranscriptionJobs request returns more results than can be displayed, NextToken is displayed in the response with an associated command |
| `MaxResults` | number | No | The maximum number of jobs to return in the response |


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

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListTranscriptionJobs.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListTranscriptionJobs.html)

---

#### Delete transcription job

**Method**: `DELETE` | **LowCodeAPI Path**: `/v1/transcriptionjobs/job_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/transcriptionjobs/job_name?job_name={job_name}&api_token={api_token}
```


**Path Parameters**:

| `job_name` | string | The name of the transcription job to delete |

**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/awstranscribe/v1/transcriptionjobs/job_name?job_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteTranscriptionJob.html)

---

### Category: Medical Transcription

#### Start medical transcription job

**Method**: `POST` | **LowCodeAPI Path**: `/v1/medicaltranscriptionjobs`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/medicaltranscriptionjobs&api_token={api_token}
```


**Body Parameters**:

| `MedicalTranscriptionJobName` | string | Yes | A unique name, chosen by you, for your medical transcription job |
| `LanguageCode` | enum | Yes | The language code for the language used in your input media file |
| `MediaSampleRateHertz` | number | No | The sample rate, in Hertz, of the audio track in your input media file |
| `MediaFormat` | enum | No | The format of the input media file |
| `Media` | object | Yes | Describes the input media file in a transcription request |
| `OutputBucketName` | string | Yes | The name of the Amazon S3 bucket where you want your medical transcription output stored |
| `OutputKey` | string | No | You can specify a location in an Amazon S3 bucket to store the output of your medical transcription job |
| `OutputEncryptionKMSKeyId` | string | No | The KMS key you want to use to encrypt your medical transcription output |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/awstranscribe/v1/medicaltranscriptionjobs?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"MedicalTranscriptionJobName":"value","LanguageCode":"value","MediaSampleRateHertz":"value"}'
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html)

---

#### Get medical transcription job

**Method**: `GET` | **LowCodeAPI Path**: `/v1/medicaltranscriptionjobs/job_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/medicaltranscriptionjobs/job_name?job_name={job_name}&api_token={api_token}
```


**Path Parameters**:

| `job_name` | string | The name of the medical transcription job |

**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/awstranscribe/v1/medicaltranscriptionjobs/job_name?job_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetMedicalTranscriptionJob.html)

---

#### List medical transcription jobs

**Method**: `GET` | **LowCodeAPI Path**: `/v1/medicaltranscriptionjobs`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/medicaltranscriptionjobs?...&api_token={api_token}
```


**Query Parameters**:

| `Status` | enum | No | Filters the medical transcription jobs returned to only jobs with the specified status |
| `JobNameContains` | string | No | Filters the jobs returned based on the name of a custom vocabulary that you've applied to a medical transcription job |
| `NextToken` | string | No | If your ListMedicalTranscriptionJobs request returns more results than can be displayed, NextToken is displayed in the response |
| `MaxResults` | number | No | The maximum number of medical transcription jobs to return in each page of results |


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

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListMedicalTranscriptionJobs.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListMedicalTranscriptionJobs.html)

---

#### Delete medical transcription job

**Method**: `DELETE` | **LowCodeAPI Path**: `/v1/medicaltranscriptionjobs/job_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/medicaltranscriptionjobs/job_name?job_name={job_name}&api_token={api_token}
```


**Path Parameters**:

| `job_name` | string | The name of the medical transcription job you want to delete |

**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/awstranscribe/v1/medicaltranscriptionjobs/job_name?job_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteMedicalTranscriptionJob.html)

---

### Category: Vocabularies

#### Create vocabulary

**Method**: `POST` | **LowCodeAPI Path**: `/v1/vocabularies`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/vocabularies&api_token={api_token}
```


**Body Parameters**:

| `VocabularyName` | string | Yes | A unique name, chosen by you, for your custom vocabulary |
| `LanguageCode` | enum | Yes | The language code of the vocabulary entries |
| `Phrases` | array | No | An array of strings that contains the vocabulary entries |
| `VocabularyFileUri` | string | No | The S3 location of the text file that defines your custom vocabulary |
| `Tags` | array | No | Adds one or more tags, each in the form of a key:value pair, to a new custom vocabulary |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/awstranscribe/v1/vocabularies?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"VocabularyName":"value","LanguageCode":"value","Phrases":"value"}'
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html)

---

#### Get vocabulary

**Method**: `GET` | **LowCodeAPI Path**: `/v1/vocabularies/vocabulary_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/vocabularies/vocabulary_name?vocabulary_name={vocabulary_name}&api_token={api_token}
```


**Path Parameters**:

| `vocabulary_name` | string | The name of the vocabulary to return |

**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/awstranscribe/v1/vocabularies/vocabulary_name?vocabulary_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetVocabulary.html)

---

#### List vocabularies

**Method**: `GET` | **LowCodeAPI Path**: `/v1/vocabularies`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/vocabularies?...&api_token={api_token}
```


**Query Parameters**:

| `NextToken` | string | No | If your ListVocabularies request returns more results than can be displayed, NextToken is displayed in the response |
| `MaxResults` | number | No | The maximum number of vocabularies to return in each page of results |
| `StateEquals` | enum | No | Returns only vocabularies with the specified state |
| `NameContains` | string | No | Returns only vocabularies whose names contain the specified string |


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

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListVocabularies.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListVocabularies.html)

---

#### Update vocabulary

**Method**: `PUT` | **LowCodeAPI Path**: `/v1/vocabularies/vocabulary_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/vocabularies/vocabulary_name?vocabulary_name={vocabulary_name}&api_token={api_token}
```


**Path Parameters**:

| `vocabulary_name` | string | The name of the vocabulary to update |

**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.


**Body Parameters**:

| `LanguageCode` | enum | Yes | The language code of the vocabulary entries |
| `Phrases` | array | No | Use this parameter if you want to update your vocabulary by uploading a new text file |
| `VocabularyFileUri` | string | No | The S3 location of the text file that contains your custom vocabulary |


**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/awstranscribe/v1/vocabularies/vocabulary_name?vocabulary_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"LanguageCode":"value","Phrases":"value","VocabularyFileUri":"value"}'
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_UpdateVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_UpdateVocabulary.html)

---

#### Delete vocabulary

**Method**: `DELETE` | **LowCodeAPI Path**: `/v1/vocabularies/vocabulary_name`

**Full URL**:
```
https://api.lowcodeapi.com/awstranscribe/v1/vocabularies/vocabulary_name?vocabulary_name={vocabulary_name}&api_token={api_token}
```


**Path Parameters**:

| `vocabulary_name` | string | The name of the vocabulary to delete |

**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/awstranscribe/v1/vocabularies/vocabulary_name?vocabulary_name=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteVocabulary.html)

---

## Usage Examples

### Example 1: Basic Usage

Get started with AWS Transcribe API by making your first request.

```bash
# Your example code here
# This demonstrates basic usage
curl -X GET "https://api.lowcodeapi.com/awstranscribe/?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/awstranscribe/?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/awstranscribe/definition`
- **Official Provider Documentation**: [https://docs.aws.amazon.com/transcribe/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/Welcome.html)

## Rate Limits & Best Practices

- Check your AWS Transcribe 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