A podcast intro line in 5 languages: localized sting for 8 cents

Speak a 120-character intro in five languages and concat each ahead of an episode: 600 characters of TTS plus five $0.01 concats is $0.08 on Sume.

5 min readSume
All posts

Speaking a 120-character show intro in five languages and concatenating each ahead of an episode costs $0.079 on Sume per episode: $0.0285 of TTS and five audio concat jobs at $0.01. Index-Translate's listed free API translates the line.

Assumptions: a 120-character intro, five languages, and an episode of 30 minutes or less, since concat output is capped at 1,800 seconds. Rates are from the pricing page and Timeline audio docs, read 2026-10-05.

What it costs

The speech is cheap and the concat is a flat fee per output.

Cost of a localized intro by languages, per episode, at list rates (read 2026-10-05)
LanguagesTTS charactersTTS costConcat jobsTotal
1120$0.0057$0.01$0.016
3360$0.0171$0.03$0.047
5600$0.0285$0.05$0.079
101,200$0.0570$0.10$0.157

Match the channel layout

All concat parts must share a channel layout, or the job fails with audio_parts_channel_mismatch. If your intro is mono and the episode is stereo, make the episode mono with channels: "mono" on the audio detach, or pick a matching output for the speech.

Concat the intro and the episode

This joins the localized intro and the episode audio, both already on media.sume.com.

import os, time, requests
API = "https://api.sume.com"
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}

def run(path, body, key):
    r = requests.post(API + path, headers={**H, "Idempotency-Key": key}, json=body, timeout=60)
    r.raise_for_status()
    job = r.json()["data"]
    while not requests.get(job["status_url"], headers=H, timeout=30).json()["data"]["terminal"]:
        time.sleep(2)
    res = requests.get(job["result_url"], headers=H, timeout=30)
    res.raise_for_status()
    return res.json()["data"]["result"]

STING, EPISODE = os.environ["STING_URL"], os.environ["EPISODE_AUDIO_URL"]
out = run("/v1/timeline-1.0/audio",
          {"operation": "concat", "parts": [{"url": STING}, {"url": EPISODE}]}, "ep-212-es-intro")
print(out["audio_url"], round(out["duration_seconds"], 1))

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume