DEV Community

Leanvox
Leanvox

Posted on

Self-Publishing an Audiobook with AI Voice: A Developer's Guide

ACX pays narrators $200–$400 per finished hour. A 10-hour audiobook costs $2,000–$4,000 with a professional narrator.

The same audiobook with AI narration: about $5.40.

A 10-hour audiobook is roughly 90,000 words — ~540,000 characters. At $0.01/1K chars (Pro tier), that's $5.40 total.

What works well with AI narration

  • Non-fiction — business books, self-help, technical guides
  • Educational content — courses, explainers, reference material
  • Newsletters and blogs — audio versions of written content
  • Short fiction — stories where a consistent narrator voice works

Choosing a narrator voice

LeanVox's narrator category has voices tuned for long-form listening. Preview before committing — there's a big difference between voices that sound great in a 10-second demo and ones that hold up over an hour.

For fiction with multiple characters, Max tier lets you describe specific voices:

CHARACTERS = {
    "detective_sarah": {
        "model": "max",
        "instructions": "Confident female detective, mid-30s. Direct speech. Occasionally dry humor. American accent."
    },
    "villain": {
        "model": "max",
        "instructions": "Cultured male villain, 50s. Smooth, controlled. Never raises voice. British accent."
    }
}
Enter fullscreen mode Exit fullscreen mode

Processing a full book

You don't need to split your manuscript manually. LeanVox supports async jobs that accept full text files — the server handles chunking, processing, and reassembly automatically:

# Install the CLI
npm install -g leanvox

# Authenticate
lvox auth login

# Generate a full book from a .txt file — handles any length
lvox generate --use-async \
  --model pro \
  --voice narrator_warm_male \
  --file my_book.txt \
  --output audiobook.mp3

# Also works directly with .epub files
lvox generate --use-async \
  --model pro \
  --voice narrator_warm_male \
  --file my_book.epub \
  --output audiobook.mp3
Enter fullscreen mode Exit fullscreen mode

The CLI submits an async job, polls for completion, and downloads the final file. A 90,000-word book typically completes in 10–20 minutes.

# Check job status
lvox jobs get <job-id>

# List all recent jobs
lvox jobs list
Enter fullscreen mode Exit fullscreen mode

Via Python SDK

from leanvox import Leanvox
import requests

client = Leanvox(api_key="lv_live_...")

with open("my_book.txt") as f:
    manuscript = f.read()

# Submit async job — no chunking needed
job = client.generate_async(
    text=manuscript,
    model="pro",
    voice="narrator_warm_male",
)

result = job.wait()  # polls until complete, handles retries

audio = requests.get(result.audio_url).content
with open("audiobook.mp3", "wb") as f:
    f.write(audio)

print("📚 Audiobook complete!")
Enter fullscreen mode Exit fullscreen mode

Normalize audio for distribution

ACX requires -16 LUFS:

ffmpeg -i audiobook.mp3 -af "loudnorm=I=-16:TP=-1.5:LRA=11" audiobook_normalized.mp3
Enter fullscreen mode Exit fullscreen mode

What it costs

Book length Word count Chars Pro tier cost
Novella (2h) ~20,000 ~120K $1.20
Short non-fiction (4h) ~40,000 ~240K $2.40
Full book (10h) ~90,000 ~540K $5.40

Your $1.00 signup credit produces a complete novella.

Distribution options

  • ACX / Audible — accepts MP3 at 192kbps+. AI-narrated books must be disclosed.
  • Findaway Voices — Apple Books, Kobo, libraries
  • Direct sale — Gumroad, Payhip, no disclosure requirement
  • Spotify / podcast RSS — publish chapter by chapter

Try it

Browse narrator voices · Get your API key · Docs


Originally published at leanvox.com/blog

Top comments (0)