BeyondWords
Text-to-speech audio
Table of Contents
What is BeyondWords?
BeyondWords is an AI text-to-speech audio provider which we communicate with via API in order to stream the same audio URL that customers are using on their website.
How does Pugpig Bolt integrate with BeyondWords?
Pugpig Bolt (via the Text-to-Speech plugin in Express) supports BeyondWords by:
- Adding a
narration_url
to thecontent.html
page. - Adding
audio_meta_data
(title and image URL) to the atom feed.
We call the BeyondWords API every time a post is created or updated. If audio is available, it's included in the feed.
Example response from BW:
{
"language": "en_GB",
"content": [
{
"id": "456789e-08f0-4fc3-7898-4c2da269a561",
"title": "This is the diet to adopt if you want to save the planet",
"type": "manual_segment",
"source_id": "b2838600",
"source_url": "https://www.pugpig.co.uk/article-1627393.html",
"author": "Jane Jenkins",
"image_url": "https://www.pugpig.co.uk/2025/10/02/23/abcdegfhijkl",
"audio": [
{
"id": 85133537,
"content_type": "application/x-mpegURL",
"url": "https://cdn.beyondwords.io/audio/projects/xxxxx/podcasts/xxxxxxx/versions/xxxxxx/media/audiofile.m3u8",
"duration": 59833,
"base64_file": "XXXXXXXXXXXXXXXXX",
"variant": "article",
"orientation": "horizontal"
},
{
"id": 85133532,
"content_type": "audio/mpeg",
"url": "https://cdn.beyondwords.io/audio/projects/xxxxx/podcasts/xxxxxx/versions/xxxxxxx/media/audiofile.mp3",
"duration": 59847,
"base64_file": null,
"variant": "article",
"orientation": "horizontal"
}
],
Note: We only use the audio with content_type = audio/mpeg
(the .mp3
version), and ignore the .m3u8
stream.
What do we need from you to get set up?
We need the Project ID and the Source Meta Key from BeyondWords to set this up.

Known issues
If audio hasn't generated yet by BeyondWords, there will be an empty array in the response. if the article is subsequently updated, we can then fetch the audio file.