Tutorial 7 June 2026

How to Narrate a Podcast Script With an API

NarrateAI 4 min read

How to Narrate a Podcast Script With an API

Writing the script is the creative part. Recording it shouldn't be the bottleneck. If you produce episodic content — a daily news brief, a solo show, a documentary narration, or a localised version of an existing podcast — a text-to-speech API lets you go from a finished script to a finished audio track without a microphone, a booth, or an editing pass to fix mouth clicks. This guide shows how to do it with NarrateAI.

When API narration makes sense

AI narration won't replace every podcast, and it shouldn't try to. Where it earns its place is in formats where consistency and turnaround matter more than a signature human voice: scripted explainers, audio versions of written articles, language localisations of an existing show, high-frequency briefs, and draft reads you want to hear before committing a voice actor's time. For those, generating the track programmatically is faster, cheaper, and repeatable.

Step 1 — Prepare the script

A few habits make the output noticeably better:

Welcome back to the show. <breath> Today we're talking about
something a little unusual. <laugh> Trust me, it's worth it.

Step 2 — Choose a voice

NarrateAI offers ten voice styles. Pick one that fits the tone of your show and stay consistent across episodes so your audience hears a recognisable host:

Name ID Character
michael m1 Male, natural (default)
jake m2 Male, natural
christian m3 Male, warm
alex m4 Male, expressive
richard m5 Male, British accent
emily f1 Female, natural
hannah f2 Female, warm
jessica f3 Female, expressive
alexis f4 Female, assertive
cassandra f5 Female, British accent

For a warm, conversational show, christian or hannah work well; for something punchier, the expressive styles (alex, jessica) carry more energy. You can also nudge the delivery with the optional speed parameter (default 1.05).

Step 3 — Submit the script as a job

Podcast scripts are long, so use the async endpoint. It accepts up to 100,000 characters per job — enough for a full episode — and splits the text into chunks rendered in parallel, then stitched into one continuous file:

curl -X POST https://api.narrateai.mossforge.dev/v1/tts/async \
  -H "Authorization: Bearer nai_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Welcome back to the show...",
    "lang": "en",
    "voice": "hannah",
    "speed": 1.0
  }'

You get a job ID back immediately, with an estimate of how long it'll take:

{
  "job_id": "888d45c5-1234-...",
  "status": "processing",
  "total_chunks": 12,
  "total_chars": 9800,
  "estimated_seconds": 40
}

Step 4 — Poll, then download

Check the job until it's complete:

curl https://api.narrateai.mossforge.dev/v1/tts/async/888d45c5-1234-... \
  -H "Authorization: Bearer nai_your_key"

When it finishes, you get a download URL and the track's duration:

{
  "status": "complete",
  "progress_percent": 100.0,
  "url": "https://s3.amazonaws.com/...",
  "duration_seconds": 612.4
}

Download the stitched WAV and it's ready to drop into your editor for an intro, outro, and music bed:

curl -o episode-042.wav "https://s3.amazonaws.com/..."

Files are kept for seven days, so pull anything you want to keep into your own storage.

Scaling to a series

The real payoff is repeatability. Once the call works for one episode, the same script-to-audio pipeline runs every episode — and the same approach localises your show into any of NarrateAI's 31 supported languages by changing the lang parameter and re-running with a translated script. Per-character pricing keeps the cost of a regular publishing schedule predictable: roughly 1,000 characters per minute of audio, so a typical 20-minute episode is straightforward to budget.

A note on disclosure and consent

If you publish AI-narrated audio, be straightforward with your audience about it, and only narrate scripts you have the rights to. Synthetic narration is a production tool — using it transparently keeps trust intact.

Try it on your next script

You can have a finished narration track from a written script in the time it takes to poll a job. NarrateAI's free tier includes 125,000 characters on signup — enough for several full episodes — so you can test it on real material before deciding. Grab a free key and narrate your next episode.

Get started

Try NarrateAI free

125,000 characters on signup. No credit card required.

Get your API key →