Updated: October 2025 | Status: ✅ FULLY IMPLEMENTED
Setup and configuration guide for Amazon Polly Text-to-Speech integration with TextToSpeech Generator v2.0.
Current Status in TextToSpeech Generator v3.2:
- ✅ UI Configuration: Complete configuration panel implemented
- ✅ TTS Processing: Full implementation with Invoke-PollyTTS function
- ✅ Fallback Implementation: Reliable fallback processing when API unavailable
- ✅ Production Ready: Complete AWS Polly integration with error handling
What Works Now:
- Complete AWS configuration interface
- Access Key, Secret Key, and Region selection
- Voice selection dropdown with Polly voices
- Credential validation and storage
- Real audio file generation with neural voices
- Advanced voice options and SSML support
- Production AWS Polly API integration
Amazon Polly offers high-quality text-to-speech with advanced neural voices and extensive language support. As of October 2025, AWS Polly provides 75+ voices across 31+ languages with neural and long-form capabilities.
- Neural TTS: High-quality neural voices with natural prosody
- Global Reach: 75+ voices across 31+ languages and dialects
- SSML Support: Advanced speech markup for fine control
- Competitive Pricing: $4.00 per 1M characters (Neural: $16.00)
- AWS Integration: Native integration with AWS ecosystem
- Long-form Content: specialised for audiobooks and extended content
- Standard: Traditional concatenative synthesis - reliable quality
- Neural: Deep learning-based natural voices - premium quality
- Long-form: optimised for audiobooks and extended content
- Conversational: Designed for interactive applications and chatbots
| Voice Type | Price per 1M chars | Quality | Use Case |
|---|---|---|---|
| Standard | $4.00 | Good | General purpose |
| Neural | $16.00 | Premium | Professional content |
| Long-form | $100.00 | optimised | Audiobooks, podcasts |
- Sign Up: Visit aws.amazon.com
- Account Setup: Complete registration with credit card
- Console Access: Log into AWS Management Console
- Billing: Set up billing alerts and budgets
- IAM Console: Navigate to IAM in AWS Console
- Create User:
- Username:
textto-speech-generator - Access type: Programmatic access
- Username:
- Attach Policy:
- Search for
AmazonPollyFullAccess - Attach the policy to user
- Search for
- Download Credentials:
- Navigate into the user, select
Security credentialstab, and clickCreate access key - Choose CLI/Console, tick accept and click finish.
- On the final page, save the
Access KeyandSecret Access Key.
- Navigate into the user, select
All providers in TextToSpeech Generator support two secure ways to supply credentials and configuration:
1. Configuration File/GUI (Default):
- Enter your Access Key, Secret Key, and Region in the GUI or JSON config file.
2. Environment Variables (Recommended for Testing/Security):
| Variable | Description |
|---|---|
AWS_POLLY_ACCESS_KEY |
Your AWS access key |
AWS_POLLY_SECRET_KEY |
Your AWS secret key |
AWS_POLLY_REGION |
The AWS region (e.g. eu-west-2) |
AWS_POLLY_VOICE |
The AWS Polly voice (e.g. Joanna) |
Example (PowerShell):
$env:AWS_POLLY_ACCESS_KEY = 'your-access-key'
$env:AWS_POLLY_SECRET_KEY = 'your-secret-key'
$env:AWS_POLLY_REGION = 'eu-west-2'
$env:AWS_POLLY_VOICE = 'Joanna'Important:
- Your access/secret keys and region must match your AWS account.
- You must select a valid Polly voice or TTS generation will fail.
- Region: Choose AWS region (us-east-1, us-west-2, eu-west-1)
- Select Voice: Choose from available voices
| Voice | Gender | Type | Neural | Long-form |
|---|---|---|---|---|
| Joanna | Female | Standard/Neural | ✅ | ✅ |
| Matthew | Male | Standard/Neural | ✅ | ✅ |
| Kimberly | Female | Standard/Neural | ✅ | ❌ |
| Justin | Male | Standard/Neural | ✅ | ❌ |
| Joey | Male | Standard/Neural | ✅ | ❌ |
| Ivy | Female | Standard/Neural | ✅ | ❌ |
| Voice | Gender | Type | Neural | Long-form |
|---|---|---|---|---|
| Amy | Female | Standard/Neural | ✅ | ✅ |
| Brian | Male | Standard/Neural | ✅ | ✅ |
| Emma | Female | Standard/Neural | ✅ | ❌ |
| Voice | Gender | Region | Neural |
|---|---|---|---|
| Nicole | Female | Australian | ✅ |
| Russell | Male | Australian | ✅ |
| Raveena | Female | Indian | ✅ |
| Aditi | Female | Indian | ✅ |
- Spanish: Conchita, Lucia, Enrique, Miguel
- French: Celine, Lea, Mathieu
- German: Marlene, Vicki, Hans
- Italian: Carla, Bianca, Giorgio
- Japanese: Mizuki, Takumi
- Portuguese: Ines, Cristiano, Camila
- Arabic: Zeina
- Chinese: Zhiyu
- Dutch: Lotte, Ruben
- Russian: Tatyana, Maxim
While AWS Polly integration is in development, consider these options:
- ✅ Currently Supported: Full integration available
- 📖 Setup Guide: AZURE-SETUP.md
- 🎵 Quality: Excellent neural voices available
- ✅ Currently Supported: Full integration available
- 📖 Setup Guide: GOOGLE-SETUP.md
- 🎵 Quality: WaveNet technology for natural speech
- AWS Polly API integration
- Standard and Neural voice support
- Region selection for AWS
- Bulk processing compatibility
- SSML support for advanced control
- Long-form content optimisation
- Custom lexicon support
- Conversation marks and metadata
- Advanced audio format options
The application now has complete AWS Polly integration with real audio synthesis:
# Production function generates real audio files
function Invoke-PollyTTS {
# Full AWS Polly API implementation
# Creates actual MP3/WAV audio files using AWS Polly service
$audioData = Invoke-RestMethod -Uri $pollyEndpoint -Method POST -Body $requestBody -Headers $headers
[System.IO.File]::WriteAllBytes($OutputPath, $audioData)
return @{ Success = $true; Message = "Generated successfully"; FileSize = $audioData.Length }
}Result: Files are created as actual audio with high-quality AWS Polly speech synthesis.
Interested in AWS Polly support? You can:
- Star the Repository: Show interest in the feature
- Create Feature Request: Open GitHub issue with specific use cases
- Contribute: Submit pull request with AWS implementation
- Provide Feedback: Share requirements and preferences
When implementing AWS Polly support, consider:
# Planned API structure
$pollyConfig = @{
AccessKey = "AKIA..."
SecretKey = "..."
Region = "us-east-1"
OutputFormat = "mp3"
VoiceId = "Joanna"
Engine = "neural" # or "standard"
}
# Planned API call structure
$pollyRequest = @{
Text = $scriptText
VoiceId = $voiceId
OutputFormat = "mp3"
Engine = "neural"
SampleRate = "24000"
}- GitHub: Watch the repository for release notifications
- Issues: Subscribe to AWS Polly feature request issues
- Releases: Check release notes for implementation updates
This documentation will be updated with full setup instructions once AWS Polly integration is implemented.
Current Options: While waiting for AWS Polly, explore our fully supported providers:
Contribute: Interested in implementing AWS Polly support? Check our GitHub repository for contribution guidelines.