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.

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.
| Languages | TTS characters | TTS cost | Concat jobs | Total |
|---|---|---|---|---|
| 1 | 120 | $0.0057 | $0.01 | $0.016 |
| 3 | 360 | $0.0171 | $0.03 | $0.047 |
| 5 | 600 | $0.0285 | $0.05 | $0.079 |
| 10 | 1,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
- Post-call sales recap video: three-scene AI avatar summary, next step
After a sales call, send a 30-second avatar recap in three scenes: thanks, agreed points, next step. Sume request body, shared-scene rule, cost per prospect.
- Same AI video on TikTok and YouTube Shorts: reach risk?
YouTube's Oct 2026 update targets re-uploads from other creators. Is your own AI video on TikTok and Shorts affected? What is stated, what is not, what to do.
- Pre-render top 20 support answers as avatar clips; agent for the rest
Render the 20 most common answers as Sume avatar clips, serve them by intent, and send the rest to a person. Tavus Griffin is not open to customers.
- Press release to 30-second video: Wan 3.0 prompt and cost on Sume
Turn a press release into a 30 second video on Sume: write three beats, send one Wan 3.0 request, and pay $3.75 at 720p. A prompt template and what to check.
Written by Sume