Give your visitors a way to listen to a narration of your content in Ghost with a SpeechKit Custom Integration.

SpeechKit is a text-to-audio automation tool that uses natural language processing to make humanlike audio files of your content. Providing additional audio content on your posts and pages gives your readers the option to listen to your stories, instead of reading them.

Integrating SpeechKit with Ghost requires setting up a custom integration and injecting a JavaScript snippet on your Ghost site. Here's how to get started:

Sign up for SpeechKit

Sign up for a SpeechKit account, and create a new project from the dashboard:

Customise your settings

Firstly choose a Language, Title Voice and Paragraph Voice to suit your project:

Next, select Ghost as your connection method:

Create a Custom Integration

SpeechKit requires access to your content, to process the text into audio. To enable this you'll need to add a Ghost Content API key which permits access to public content on your site.

In Ghost Admin, head to the Integrations section and create a new custom integration:

Configure your custom integration and copy the Content API key:

Then head back to SpeechKit and paste your Ghost Content API key into your project:

Once your custom integration is setup, you'll be provided with a code snippet in the SpeechKit dashboard:

Paste the snippet in Code Injection

Copy provided JavaScript code snippet, then head over to the site wide Code Injection settings page within your Ghost admin panel and paste the snippet into the Site Footer section:

That's it - audio versions of your post will now be created and embedded on your site.

The first time a published article is viewed, the script will load and if SpeechKit does not yet have the matching audio, it will process the content. Once processed (no more than a few minutes), you should then see the player on each and every subsequent view of the article.


The player will appear below the header in each article by default. If you would like to change the default position, you can edit your post.hbs template and add an empty div with the class 'speechkit-container' where you would like to see the player.