You don't need a recording booth, a microphone, or a consistent daily schedule to make a podcast anymore.
With a TTS API and a decent script, you can generate a 20-minute episode in under 60 seconds for about $0.05.
The use case
- Solo narration podcasts — news roundups, book summaries, tech explainers, daily briefings
- Multi-host formats — interview-style shows with two or more distinct voices
- Branded audio content — consistent voice across hundreds of episodes
- Translated episodes — same script, different language, same production cost
Picking a voice
LeanVox ships with 238+ pro voices organized by use case:
- Podcast hosts — warm, conversational, sounds like someone you'd listen to for an hour
- Narrators — authoritative, measured, great for explainer content
- News anchors — crisp, professional, high credibility
Or clone your own voice. Record 30 seconds, upload it, and every episode sounds like you.
Single-host episode
from leanvox import Leanvox
client = Leanvox(api_key="lv_live_...")
result = client.generate(
text=episode_script,
model="pro",
voice="podcast_conversational_female",
speed=1.0,
)
print(result.audio_url)
Long episodes: use async jobs
For episodes longer than 10,000 characters, use the CLI with async jobs — no manual chunking needed:
# Generate from a script file — handles any length automatically
lvox generate --use-async \
--model pro \
--voice podcast_conversational_female \
--file episode_script.txt \
--output episode_042.mp3
Or via Python SDK:
import requests
job = client.generate_async(
text=long_episode_script,
model="pro",
voice="podcast_conversational_female",
)
result = job.wait() # polls until complete
audio = requests.get(result.audio_url).content
with open("episode_042.mp3", "wb") as f:
f.write(audio)
Two-host conversation format
episode = client.dialogue(
model="pro",
gap_ms=500,
lines=[
{"text": "Welcome back to Syntax Error. Today we're talking about LLM inference costs.", "voice": "podcast_conversational_female", "language": "en"},
{"text": "GPU costs have dropped 70% in two years and nobody's passing that on to developers.", "voice": "podcast_casual_male", "language": "en", "exaggeration": 0.6},
{"text": "Strong take. Let's break down the numbers.", "voice": "podcast_conversational_female", "language": "en"},
],
)
print(episode.audio_url)
One call, one MP3, both voices.
Clone your voice for brand consistency
with open("my_voice_sample.wav", "rb") as f:
voice = client.voices.clone(name="My Podcast Voice", audio=f)
client.voices.unlock(voice.voice_id)
job = client.generate_async(text=episode_script, model="pro", voice=voice.voice_id)
result = job.wait()
Automate the full pipeline
import anthropic
from leanvox import Leanvox
claude = anthropic.Anthropic()
leanvox = Leanvox(api_key="lv_live_...")
def generate_daily_briefing(topic: str) -> str:
response = claude.messages.create(
model="claude-opus-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": f"Write a 2-minute podcast script about: {topic}. Professional, conversational tone."}]
)
script = response.content[0].text
job = leanvox.generate_async(text=script, model="pro", voice="podcast_conversational_female")
result = job.wait()
return result.audio_url
url = generate_daily_briefing("The latest in open-source AI models")
What does it cost?
For a 10-minute episode (~40,000 characters):
| Tier | Rate | Episode cost | 100 episodes/mo |
|---|---|---|---|
| Standard | $0.005/1K chars | $0.20 | $20 |
| Pro (with cloning) | $0.01/1K chars | $0.40 | $40 |
A voice actor charges $200–$500/hr. A 10-minute episode = 30–60 min studio time.
Try it
Browse the voice library · Get your API key · Docs
Originally published at leanvox.com/blog
Top comments (0)