Skip to content
Use case

Text to Speech for Newsletters and Email Content

Give subscribers an audio edition of every issue. Paste the URL, get an MP3 — or automate it via the API on each send.

Why it matters

Subscribers read less but listen more

Newsletter open rates are 30–40%; audio podcast consumption runs closer to 80% episode completion. Adding an audio edition increases total content consumption without requiring you to actually record anything.

Manual recording per issue is not repeatable at scale

Recording a 10-minute audio edition manually takes 30–60 minutes of production time per issue. Automating with the Audexum API reduces that to a single POST request triggered by your email platform's publish webhook.

Paywalled audio needs to stay behind authentication

Generate the MP3 server-side, store it in your protected file store, and serve it via a signed URL. The Audexum API call happens on your server — no subscriber-facing keys, no CORS issues, no external audio player dependency.

The Article-to-Audio tool handles non-technical newsletters

If you use Substack, Beehiiv, or a standard CMS and don't want to write code, paste your article URL into the Article-to-Audio tool. It scrapes the content, renders audio in your chosen voice, and gives you a downloadable MP3 in under 30 seconds.

Integration

First audio in 60 seconds.

No SDK — one POST request, binary audio in the response body.

Node.js — newsletter audio on Beehiiv publish webhook
// webhook.js — Express route called by Beehiiv (or any newsletter platform)
// on each new post publication. Generates an MP3 and uploads to S3.
import express from "express";
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";

const app = express();
app.use(express.json());

const s3 = new S3Client({ region: "eu-central-1" });

app.post("/hooks/newsletter-publish", async (req, res) => {
  const { slug, body_text, lang = "en" } = req.body;

  // Generate audio edition
  const ttsRes = await fetch("https://audexum.com/api/synthesize", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.AUDEXUM_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ text: body_text, voice: "F1", lang, format: "mp3" }),
  });

  if (!ttsRes.ok) {
    return res.status(502).json({ error: await ttsRes.text() });
  }

  const audioBuffer = Buffer.from(await ttsRes.arrayBuffer());

  // Upload to S3 — serve via signed URL or CDN
  await s3.send(new PutObjectCommand({
    Bucket: process.env.AUDIO_BUCKET,
    Key: `newsletters/${slug}.mp3`,
    Body: audioBuffer,
    ContentType: "audio/mpeg",
  }));

  res.json({ ok: true, key: `newsletters/${slug}.mp3` });
});

app.listen(3000);

Full parameter reference: audexum.com/docs. Supported formats: wav, mp3, ogg. Supported voices: F1–F5, M1–M5 (43 voices total). Supported languages: 33.

Pricing

Transparent, no per-use-case surcharge.

Every plan covers every use case at the same character rate. PAYG credits never expire.

PlanChars/moPrice
Free10,000€0 / mo
Starter100,000€4 / mo
Pro500,000€12 / mo
Scale2,000,000€30 / mo
Pay-as-you-goUnlimited€8 / 1M chars

All plans include STT (speech-to-text dictation) at no extra cost. Full pricing details →

FAQ
Can I use the Article-to-Audio tool without an API key?+

Yes. The free tool at /tools/article-to-audio works with a free account (10,000 chars/month, no credit card). Paste a URL or plain text, pick a voice, download the MP3.

How do I automate audio generation on each newsletter send?+

Most newsletter platforms (Beehiiv, ConvertKit, Ghost) support publish webhooks. Your server receives the webhook, extracts the body text, calls the Audexum API, stores the MP3, and updates the post with an audio link. The code snippet on this page shows the pattern.

What is the character cost for a typical newsletter issue?+

A 1,000-word newsletter issue is roughly 6,000 characters. At PAYG (€8/1M chars) that is €0.048 per issue. The Starter plan (€4/month, 100K chars) covers roughly 16 full issues per month.

Can I offer audio in multiple languages for a translated newsletter?+

Yes. Send the translated text with the appropriate lang parameter. French, German, Spanish, and 30 more languages are available at no price premium. One API integration handles every language edition.

Other use cases

Same API, every use case.

One endpoint handles Discord bots, podcast narration, e-learning courses, accessibility audio, and newsletter editions.

Start free. Ship fast.

10,000 characters per month, no credit card required. First audio in your terminal in 60 seconds.

Questions? [email protected]