# AWS Polly Integration via LowCodeAPI
## Overview
Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk
## Base Endpoint
```
https://api.lowcodeapi.com/awspolly/
```
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [https://aws.amazon.com/polly/](https://aws.amazon.com/polly/)
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 Polly API key
- Apply it to each request with `undefined` header
**Auth Type**: API Key
## API Categories
- AWS Services
## Common Endpoints
### Category: Synthesis
#### Synthesize speech
**Method**: `POST` | **LowCodeAPI Path**: `/v1/speech`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/speech&api_token={api_token}
```
**Body Parameters**:
| `Text` | string | Yes | Input text to synthesize |
| `OutputFormat` | enum | Yes | Format in which the returned output will be encoded |
| `VoiceId` | enum | Yes | Voice ID to use for synthesis |
| `TextType` | enum | No | Specifies whether the input text is plain text or SSML |
| `LanguageCode` | string | No | Language code for the Synthesize Speech request |
| `SampleRate` | string | No | The audio frequency specified in Hz |
| `SpeechMarkTypes` | array | No | The type of speech marks returned for the input text |
| `Engine` | enum | No | Specifies the engine (standard or neural) for Amazon Polly to use when processing input speech for synthesis |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/awspolly/v1/speech?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Text":"value","OutputFormat":"value","VoiceId":"value"}'
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html)
---
### Category: Voices
#### Describe voices
**Method**: `GET` | **LowCodeAPI Path**: `/v1/voices`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/voices?...&api_token={api_token}
```
**Query Parameters**:
| `LanguageCode` | string | No | The language identification tag (ISO 639 code for the language name-ISO 3166 country code) |
| `IncludeAdditionalLanguageCodes` | boolean | No | Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language |
| `NextToken` | string | No | An opaque pagination token returned from the previous DescribeVoices operation |
| `Engine` | enum | No | Specifies which engine to use |
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/awspolly/v1/voices?...&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html](https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html)
---
#### Get voice
**Method**: `GET` | **LowCodeAPI Path**: `/v1/voices/voice_id`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/voices/voice_id?voice_id={voice_id}&api_token={api_token}
```
**Path Parameters**:
| `voice_id` | string | Voice 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/awspolly/v1/voices/voice_id?voice_id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html](https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html)
---
### Category: Lexicons
#### List lexicons
**Method**: `GET` | **LowCodeAPI Path**: `/v1/lexicons`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/lexicons?...&api_token={api_token}
```
**Query Parameters**:
| `NextToken` | string | No | An opaque pagination token returned from the previous ListLexicons operation |
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/awspolly/v1/lexicons?...&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_ListLexicons.html](https://docs.aws.amazon.com/polly/latest/dg/API_ListLexicons.html)
---
#### Get lexicon
**Method**: `GET` | **LowCodeAPI Path**: `/v1/lexicons/lexicon_name`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/lexicons/lexicon_name?lexicon_name={lexicon_name}&api_token={api_token}
```
**Path Parameters**:
| `lexicon_name` | string | Name of the lexicon |
**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/awspolly/v1/lexicons/lexicon_name?lexicon_name=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_GetLexicon.html](https://docs.aws.amazon.com/polly/latest/dg/API_GetLexicon.html)
---
#### Put lexicon
**Method**: `PUT` | **LowCodeAPI Path**: `/v1/lexicons/lexicon_name`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/lexicons/lexicon_name?lexicon_name={lexicon_name}&api_token={api_token}
```
**Path Parameters**:
| `lexicon_name` | string | Name of the lexicon |
**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**:
| `Content` | string | Yes | Pls lexicon content in PLS format |
**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/awspolly/v1/lexicons/lexicon_name?lexicon_name=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Content":"value"}'
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_PutLexicon.html](https://docs.aws.amazon.com/polly/latest/dg/API_PutLexicon.html)
---
#### Delete lexicon
**Method**: `DELETE` | **LowCodeAPI Path**: `/v1/lexicons/lexicon_name`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/lexicons/lexicon_name?lexicon_name={lexicon_name}&api_token={api_token}
```
**Path Parameters**:
| `lexicon_name` | string | Name of the lexicon 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/awspolly/v1/lexicons/lexicon_name?lexicon_name=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_DeleteLexicon.html](https://docs.aws.amazon.com/polly/latest/dg/API_DeleteLexicon.html)
---
#### Get lexicon entries
**Method**: `GET` | **LowCodeAPI Path**: `/v1/lexicons/lexicon_name/lexemes`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/lexicons/lexicon_name/lexemes?lexicon_name={lexicon_name}&...&api_token={api_token}
```
**Query Parameters**:
| `Alphabet` | string | No | Specifies the alphabet desired for the lexicon |
| `LanguageCode` | string | No | Language code of the lexicon |
| `MaxItems` | number | No | Maximum number of entries to return |
| `NextToken` | string | No | Pagination token |
**Path Parameters**:
| `lexicon_name` | string | Name of the lexicon |
**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/awspolly/v1/lexicons/lexicon_name/lexemes?lexicon_name=VALUE&...&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_GetLexicon.html](https://docs.aws.amazon.com/polly/latest/dg/API_GetLexicon.html)
---
### Category: Synthesis Tasks
#### Start speech synthesis task
**Method**: `POST` | **LowCodeAPI Path**: `/v1/synthesis-tasks`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/synthesis-tasks&api_token={api_token}
```
**Body Parameters**:
| `Text` | string | Yes | Specifies the text input to synthesize |
| `OutputFormat` | enum | Yes | The format in which the returned output will be encoded |
| `OutputS3BucketName` | string | Yes | Amazon S3 bucket name to which the output file will be saved |
| `OutputS3KeyPrefix` | string | No | The Amazon S3 key prefix for the output speech file |
| `VoiceId` | enum | Yes | Voice ID to use for the synthesis |
| `TextType` | enum | No | Specifies whether the input text is plain text or SSML |
| `LanguageCode` | string | No | Optional language code for the Synthesize Speech request |
| `SampleRate` | string | No | The audio frequency specified in Hz |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/awspolly/v1/synthesis-tasks?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Text":"value","OutputFormat":"value","OutputS3BucketName":"value"}'
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_StartSpeechSynthesisTask.html](https://docs.aws.amazon.com/polly/latest/dg/API_StartSpeechSynthesisTask.html)
---
#### Get speech synthesis task
**Method**: `GET` | **LowCodeAPI Path**: `/v1/synthesis-tasks/task_id`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/synthesis-tasks/task_id?task_id={task_id}&api_token={api_token}
```
**Path Parameters**:
| `task_id` | string | The Amazon Polly generated identifier for a speech synthesis task |
**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/awspolly/v1/synthesis-tasks/task_id?task_id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_GetSpeechSynthesisTask.html](https://docs.aws.amazon.com/polly/latest/dg/API_GetSpeechSynthesisTask.html)
---
#### List speech synthesis tasks
**Method**: `GET` | **LowCodeAPI Path**: `/v1/synthesis-tasks`
**Full URL**:
```
https://api.lowcodeapi.com/awspolly/v1/synthesis-tasks?...&api_token={api_token}
```
**Query Parameters**:
| `MaxResults` | number | No | Maximum number of speech synthesis tasks returned in a List operation |
| `NextToken` | string | No | The pagination token to use in the next request to continue the listing of speech synthesis tasks |
| `Status` | enum | No | Status of the speech synthesis tasks returned in a List operation |
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/awspolly/v1/synthesis-tasks?...&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_ListSpeechSynthesisTasks.html](https://docs.aws.amazon.com/polly/latest/dg/API_ListSpeechSynthesisTasks.html)
---
## Usage Examples
### Example 1: Basic Usage
Get started with AWS Polly API by making your first request.
```bash
# Your example code here
# This demonstrates basic usage
curl -X GET "https://api.lowcodeapi.com/awspolly/?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/awspolly/?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/awspolly/definition`
- **Official Provider Documentation**: [https://docs.aws.amazon.com/polly/latest/dg/API_Reference.html](https://docs.aws.amazon.com/polly/latest/dg/API_Reference.html)
## Rate Limits & Best Practices
- Check your AWS Polly 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