WordPress plugin

Automatically create and embed audio versions of WordPress posts and pages.

This guide explains how to connect your WordPress site to SpeechKit using the SpeechKit for WordPress plugin.

This allows you to automatically create and embed audio versions of selected WordPress posts and pages.

1. Set up your SpeechKit project

  1. Sign into your SpeechKit account (don't have one? Start your free trial)

  2. Go to the 'Content (Audios)' section of your project dashboard (don't have one? Create a project)

    Already created audio? You will need to navigate to 'Settings (Integration)' instead

  3. Select 'WordPress' under 'Connect your CMS'

  1. Select the AI voices you would like to use for titles and body content, then select 'Save changes' (please note that this will change the default voices for the API and Text-to-Speech Editor)

  2. Keep the API credentials (Project ID and API key) on hand for later

2. Install the plugin on WordPress

  1. Log into your WP Admin dashboard

  2. From the left-hand menu, select 'Plugins' then 'Add New'

  1. Search for 'SpeechKit' then select 'Install Now'
  1. Once installed, select 'Activate' — you will be redirected to the 'Installed Plugins' page
  1. Select 'Settings' in the SpeechKit plugin
  1. Set your SpeechKit settings:

    1. SpeechKit API Key: Copy and paste the API key from your SpeechKit project

    2. SpeechKit Project ID: Copy and paste the Project ID from your SpeechKit project

    3. Post Types: Enable or disable SpeechKit by post type — it's a good idea to enable all here, then restrict auto-conversion using 'Categories' (see below)

    4. Enable Telemetry: Untick the box if you do not wish to send diagnostic data

    5. Categories: Select which category or categories you would like SpeechKit to automatically import and convert content from

      (A note on custom post types: If you wish to automatically process custom post types, you need to have custom fields in the supports array — see this WordPress resource for guidance)

    6. Prepend Excerpt: Tick if you would like excerpts to be processed into audio

    7. Marfeel Compatibility: Tick to ensure compatibility with the Marfeel plugin

    8. Use WordPress Cron: Disable this if you have set DISABLE_WP_CRON in wp-config.php or if you consistently see 'Error' for the publish status

  1. Select 'Save Settings'

The SpeechKit for WordPress plugin should now be installed, activated, and enabled. SpeechKit will automatically create audio versions of new pages and posts in eligible categories, with each conversion using one audio credit. Once processed (this should take just a few minutes), the audio version will be automatically embedded into the source page (above the body content) via the automatic Player.

WordPress filters


Use the speechkit_post_player_enabled filter to override whether the audio player is enabled/disabled for a specific post. You can find the parameters below.

$enabled boolean

Is the player enabled?

$post_id int

The Post ID

function speechkit_post_player_enabled( $enabled, $post_id ) {
    // Disable the player for a specific Post ID
    if ( $post_id === 42 ) {
      $enabled = false;

    return $enabled;
add_filter( 'speechkit_post_player_enabled', 'speechkit_post_player_enabled', 10, 2 );


Will my old posts be converted into audio?

SpeechKit will not automatically convert pre-existing WordPress posts or pages into audio, but you can manually enable audio on these posts.

You can also trigger audio processing by updating an old post.

Can I manually enable audio on specific posts?

Yes, you can manually enable audio on a specific post or page:

  1. Open or draft your post in the WordPress Editor

  2. Go to the SpeechKit sidebar (you may need to go to 'Options' > 'Plugins' > 'SpeechKit')

  3. Tick 'Generate Audio'

  4. Select 'Publish' or 'Update'

The Player will be embedded into the page as soon as the audio is processed — this usually takes just a few minutes.

Can I disable the audio on specific posts?

Yes, you can manually disable audio on a specific post or page.

To override the default setting while drafting your content in WordPress:

  1. Go to the SpeechKit sidebar (you may need to go to 'Options' > 'Plugins' > 'SpeechKit')

  2. Untick 'Generate Audio'

  3. Publish as usual

SpeechKit will not process audio for this post, and an audio credit will not be used.

To remove the Player from an existing post or page:

  1. Go to the post or page in your WP Admin dashboard

  2. Open the SpeechKit sidebar (you may need to go to 'Options' > 'Plugins' > 'SpeechKit')

  3. Untick 'Display Player'

  4. Select 'Update'

Alternatively, you can delete or disable the corresponding audio in your SpeechKit dashboard.

What happens when I update a page or post?

If you update the text in an audio-enabled post via WordPress, SpeechKit will automatically reprocess the audio. Once available, the new version will be streamed in the Player. Reprocessing usually takes just a few minutes and will not use any additional audio credits.

If you update the text in an old page or post that does not currently have audio, this will trigger audio processing. This will use an audio credit and the Player will be embedded like normal.

You can check the status of any audio in the 'Content' section of your project dashboard.

Where will the Player appear?

Our WordPress plugin prepends the Player before the first part of the_content(), which you should find in your PHP templates. This means it should appear directly above your body content.

The Player will be automatically embedded into posts or pages with processed audio. It will not be rendered on pages or posts where an audio version is unavailable.

Can I customize the Player's appearance?

Yes, you can customize the automatic Player used by the WordPress plugin. See our guide on customizing the automatic Player.

Can I disable the Player?

Yes, you can temporarily or permanently disable the automatic Player used by the WordPress plugin. See the instructions here.

Will the SpeechKit plugin slow down my website?

Our WordPress plugin should not slow down your website. We’ve designed SpeechKit to minimize any effect on latency. The JavaScript player is lightweight and embedded via an iFrame, which means that it only loads after all other page content has loaded. We’re also the only text-to-speech service that transcodes audio for HLS (HTTP Live Streaming), which splits audio into 15-second segments at different bit rates to ensure frictionless listening.

Can I share my audio versions elsewhere?

Yes, there are many other ways to distribute audio versions of your WordPress posts.

All of your audio versions will be available in the 'Content (Audios)' section of your project dashboard, where you can:

You can also distribute your audio content via podcast feed and share a 'latest audio' playlist.