← All posts
· 4 min read

Introducing Max: Describe Any Voice in Plain English

LeanVox Max lets you create any voice with natural language instructions. No presets, no samples — just describe what you want and generate.

ttsaivoicedeveloper-tools

What if you could describe a voice the way you'd describe it to a friend?

"A warm British narrator in his 50s, slightly raspy, like he's telling a story by the fireplace."

That's a real voice instruction. And it works.

from leanvox import Leanvox

client = Leanvox()
result = client.generate(
    text="The kingdom had stood for a thousand years. Tonight, it would fall.",
    model="max",
    voice_instructions="A warm British narrator in his 50s, slightly raspy, like he's telling a story by the fireplace"
)
print(result.audio_url)

No voice IDs. No uploading samples. Just words.

Three Tiers, One API

LeanVox now has three models, each designed for different needs:

TierModelPrice/1K charsBest for
StandardKokoro$0.005High volume, low cost
ProChatterbox$0.01Voice cloning, emotion control, 40 curated voices
MaxQwen3-TTS$0.03Instruction-based voice design, creative control

All three work with the same API, same SDKs, same MCP server. Just change model.

How It Works

Instead of picking from a preset voice catalog, you write a description:

{
  "text": "Welcome back to the show!",
  "model": "max",
  "voice_instructions": "Energetic female podcast host, mid-30s, American accent, upbeat and conversational"
}

The model interprets your instructions and generates a unique voice. Every generation returns a generated_voice_id you can reuse for consistency across multiple calls.

Voice Instructions That Work

Be specific. The more detail you give, the better the result:

  • Gender & age: "Young woman in her 20s" or "Elderly man, 70s"
  • Accent: "British RP", "Southern American", "Australian"
  • Tone: "Warm and reassuring", "Cold and clinical", "Excited and breathless"
  • Character: "Like a nature documentary narrator", "Like a bedtime story reader"
  • Quality: "Slightly raspy", "Crystal clear", "Deep and resonant"

Multi-Speaker Dialogue

Max works with the dialogue endpoint too. Each speaker gets their own instructions:

episode = client.dialogue(
    model="max",
    lines=[
        {
            "text": "So what actually happened in production last night?",
            "voice_instructions": "Calm female tech lead, direct and analytical"
        },
        {
            "text": "Honestly? A config typo took down the whole cluster.",
            "voice_instructions": "Sheepish junior engineer, male, nervous laugh energy"
        }
    ],
    gap_ms=500
)

Two distinct voices, one API call, no presets needed.

Works Everywhere

Python:

pip install leanvox

Node.js/TypeScript:

npm install leanvox

MCP (Claude, Cursor, VS Code):

npx leanvox-mcp

Same instruction-based voice design across every integration.

Pricing

$0.03 per 1,000 characters. No subscription. Credits never expire.

A 500-word narration costs ~$0.09. A 5-minute podcast episode costs ~$0.15. Still cheaper than every competitor's base tier.

$1.00 free on signup — enough for ~33,000 characters of Max, or roughly 50 generations to experiment with.

When to Use Each Tier

  • Standard ($0.005) — Bulk narration, IVR, notifications. Pick a voice ID, go.
  • Pro ($0.01) — Podcasts, audiobooks, apps. Clone your voice, use emotion tags, 40 curated voices.
  • Max ($0.03) — Creative projects, prototyping, dynamic characters. Describe any voice you can imagine.

Get your API key · Docs · Python SDK · Node SDK


Try LeanVox free

$0.50 in free credits. No credit card required. Start generating speech in 30 seconds.

Get started free →