Title: AI Text-to-Speech using AWS Polly
Author: iTRON
Published: <strong>September 7, 2026</strong>
Last modified: September 8, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/ai-text-to-speech-using-aws-polly.svg)

# AI Text-to-Speech using AWS Polly

 By [iTRON](https://profiles.wordpress.org/hokku/)

[Download](https://downloads.wordpress.org/plugin/ai-text-to-speech-using-aws-polly.1.0.9.zip)

 * [Details](https://wordpress.org/plugins/ai-text-to-speech-using-aws-polly/#description)
 * [Reviews](https://wordpress.org/plugins/ai-text-to-speech-using-aws-polly/#reviews)
 *  [Installation](https://wordpress.org/plugins/ai-text-to-speech-using-aws-polly/#installation)
 * [Development](https://wordpress.org/plugins/ai-text-to-speech-using-aws-polly/#developers)

 [Support](https://wordpress.org/support/plugin/ai-text-to-speech-using-aws-polly/)

## Description

AI Text-to-Speech using AWS Polly creates audio versions of WordPress posts with
AWS Polly voices.

This is an independent plugin by iTRON. It is not affiliated with or endorsed by
Amazon, AWS, or Amazon Polly.

Development and source code: [GitHub repository](https://github.com/hokoo/aws-polly)

Key features:

 * Generate audio for supported post types.
 * Queue audio generation in the background with WP-Cron.
 * Store audio locally or in Amazon S3.
 * Optionally use Amazon CloudFront for delivery.
 * Control voice, sample rate, autoplay, player label, and download availability.

### Configuration

The complete setup instructions are maintained in the [configuration guide on GitHub](https://github.com/hokoo/aws-polly#configuration).
Please follow that guide to configure AWS credentials, Amazon Polly, and optional
Amazon S3 or CloudFront delivery.

### External services

This plugin connects to services provided by Amazon Web Services, Inc. (AWS) to 
generate, store, and optionally deliver audio files after an administrator configures
the corresponding functionality. AWS charges may apply. Previously generated S3 
objects may also require deletion requests after generation is disabled or storage
settings change.

#### Amazon Polly

Amazon Polly is used to convert post content into audio files.

Data sent when audio is generated: the enabled portions of the post title, excerpt,
and content prepared as text or SSML for speech synthesis, plus the selected voice,
engine, sample rate, output format, configured lexicon names, and AWS region. The
configured AWS credentials are used on the server to authenticate and sign requests;
the secret access key is not sent as content.

Generation can be queued by saving an audio-enabled post or by the Generate Audio
bulk action, and runs through WP-Cron. While generation is enabled and credentials
are configured, settings, editor, and generation flows may request the available
voice catalog from Polly. Catalog requests include the region and pagination parameters,
not post content; results are cached.

Service information: https://aws.amazon.com/polly/
 Terms of service: https://aws.
amazon.com/service-terms/ (AWS Service Terms, including the AWS Machine Learning
and Artificial Intelligence Services section that covers Amazon Polly) Privacy policy:
https://aws.amazon.com/privacy/ Additional AWS data privacy information: https://
aws.amazon.com/compliance/data-privacy-faq/

#### Amazon S3

Amazon Simple Storage Service (Amazon S3) stores generated audio when S3 storage
is enabled. Existing S3 audio can still need cleanup after switching to another 
storage location or disabling generation.

Data sent on upload: the resulting MP3 audio file, its object key, content type,
selected bucket, and AWS region. Access validation may check the configured bucket.
Replacing or deleting audio sends its recorded bucket, region, and object key in
a deletion request. The configured AWS credentials are used on the server to authenticate
and sign requests; the secret access key is not sent as content. Requests are sent
to Amazon S3 endpoints for the relevant region, such as `s3.us-east-1.amazonaws.
com`.

When S3 storage is enabled and CloudFront is not configured, visitors also download
the generated audio files directly from your Amazon S3 bucket when they load a page
with audio. Those requests include the audio file URL and standard browser request
data such as the visitor IP address and user agent.

Before displaying a remote audio player, the WordPress server may send a cached 
availability check (HTTP HEAD) to the recorded audio URL. This discloses the audio
URL and server request information, not visitor IP addresses or post text.

Service information: https://aws.amazon.com/s3/
 Terms of service: https://aws.amazon.
com/service-terms/ (AWS Service Terms for AWS services) Privacy policy: https://
aws.amazon.com/privacy/ Additional AWS data privacy information: https://aws.amazon.
com/compliance/data-privacy-faq/

#### Amazon CloudFront

Amazon CloudFront is used only when you configure a CloudFront domain for audio 
delivery.

Data sent when visitors load a page with audio: requests for the generated audio
files are served through your configured CloudFront distribution. Those requests
include the audio file URL and standard browser request data such as the visitor
IP address and user agent.

WordPress may also check that the audio URL is available using a cached HTTP HEAD
request from the server, as described above for S3.

Service information: https://aws.amazon.com/cloudfront/
 Terms of service: https://
aws.amazon.com/service-terms/ (AWS Service Terms, including the Amazon CloudFront
section) Privacy policy: https://aws.amazon.com/privacy/ Additional AWS data privacy
information: https://aws.amazon.com/compliance/data-privacy-faq/

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/ai-text-to-speech-using-aws-
    polly/` directory, or install the plugin through the WordPress plugins screen.
 2. Activate the plugin through the `Plugins` screen in WordPress.
 3. Open the plugin settings and enter valid AWS credentials and region details.
 4. Configure the Polly voice and player settings that fit your site.

## FAQ

### Do I need an AWS account?

Yes. You need AWS credentials with access to the AWS Polly APIs that the plugin 
uses.

### Can I store audio outside the local server?

Yes. The plugin supports storing generated audio in Amazon S3 and serving it through
Amazon CloudFront.

### Does it work per post?

Yes. You can enable audio generation for individual posts and the plugin will keep
track of queued, running, and ready states.

### Can I reuse AWS access for multiple WordPress sites?

Yes. See [Reuse AWS access for multiple WordPress sites](https://github.com/hokoo/aws-polly#reuse-aws-access-for-multiple-wordpress-sites)
in the GitHub configuration guide. It explains separate buckets, shared IAM users
and access keys, reusable customer managed policies, and isolation options.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AI Text-to-Speech using AWS Polly” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ iTRON ](https://profiles.wordpress.org/hokku/)
 *   [ igortron ](https://profiles.wordpress.org/igortron/)

[Translate “AI Text-to-Speech using AWS Polly” into your language.](https://translate.wordpress.org/projects/wp-plugins/ai-text-to-speech-using-aws-polly)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/ai-text-to-speech-using-aws-polly/),
check out the [SVN repository](https://plugins.svn.wordpress.org/ai-text-to-speech-using-aws-polly/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/ai-text-to-speech-using-aws-polly/)
by [RSS](https://plugins.trac.wordpress.org/log/ai-text-to-speech-using-aws-polly/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.9

 * Reduced the release archive by removing unused AWS SDK services while retaining
   the required Amazon Polly and Amazon S3 clients.
 * Added validated, recoverable WordPress.org SVN publishing with immutable release
   tags.
 * Clarified the standard single-site AWS setup and optional IAM user, access key,
   and managed-policy reuse across multiple sites.
 * Corrected the public-read bucket policy formatting and explained that the policy
   must be saved separately on each S3 bucket.

#### 1.0.8

 * Removed the obsolete disabled bulk-update interface and unused legacy capability
   gates and assets.
 * Updated supported Polly regions and languages, and removed obsolete Conversational
   SSML and inherited AWS project request identifiers.
 * Added public-audio confirmation for password-protected, private, and unpublished
   posts and strengthened metadata, bulk-action, and player security.
 * Fixed speech-change detection, normal-speed generation, and stale-audio cleanup
   while generation is disabled.
 * Preserved original audio storage locations for safe cleanup, added failure notices,
   and removed forced S3 object ACLs.
 * Fixed logging opt-out and settings availability; updated bundled runtime dependencies
   and AWS service disclosures.

#### 1.0.7

 * Removed unreachable legacy translation code left over from an earlier plugin 
   version.
 * Updated the bundled AWS SDK for PHP to the latest stable release.
 * Clarified the existing Amazon Polly, Amazon S3, and Amazon CloudFront service
   disclosures.

#### 1.0.6

 * Confirmed compatibility with WordPress 7.1.
 * Included `composer.json` in the release package for dependency transparency.
 * Added nonce and capability validation for admin audio filter and bulk action 
   notice requests.
 * Removed direct request input reads from Polly voice option sanitization.

#### 1.0.5

 * Synchronized the plugin bootstrap version with the namespace refactor.
 * Moved the plugin name and version to global bootstrap constants.
 * Added `@uses` documentation for registered action callbacks in the main plugin
   loader.

#### 1.0.4

 * Updated the bundled AWS SDK for PHP to the latest stable 3.379.x release.
 * Added dedicated AWS secret key sanitization that preserves valid secret key characters.
 * Removed an unused admin-post background task endpoint in favor of the WordPress
   cron queue.
 * Added distribution exclusions for non-runtime vendor development files.

#### 1.0.3

 * Updated the bundled psr/log dependency to the latest stable 3.x release.
 * Removed an unused settings helper that was not part of the plugin runtime.

#### 1.0.2

 * Improved settings registration to use explicit sanitize_callback handling for
   registered options.
 * Added PHP code style checks for local development and GitHub Actions pull request
   validation.
 * Applied code style cleanup to the plugin codebase.

#### 1.0.1

 * Renamed the plugin for WordPress.org review compliance.
 * Removed trademark-branded bundled assets and legacy AWS project metadata.
 * Documented external AWS services in the readme.
 * Switched admin inline markup to WordPress enqueue APIs.
 * Replaced bundled getID3 usage with the WordPress core media metadata API.
 * Resolved Plugin Check warnings for the review package.

#### 1.0.0

 * Prepared the plugin for WordPress.org review.
 * Added stricter sanitization for settings.
 * Tightened escaping and request handling in admin flows.
 * Removed disallowed offloaded assets from bundled functionality.

## Meta

 *  Version **1.0.9**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [audio](https://wordpress.org/plugins/tags/audio/)[podcast](https://wordpress.org/plugins/tags/podcast/)
   [speech synthesis](https://wordpress.org/plugins/tags/speech-synthesis/)[text to speech](https://wordpress.org/plugins/tags/text-to-speech/)
 *  [Advanced View](https://wordpress.org/plugins/ai-text-to-speech-using-aws-polly/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ai-text-to-speech-using-aws-polly/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ai-text-to-speech-using-aws-polly/reviews/)

## Contributors

 *   [ iTRON ](https://profiles.wordpress.org/hokku/)
 *   [ igortron ](https://profiles.wordpress.org/igortron/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ai-text-to-speech-using-aws-polly/)