Narrate a whole book for less than the price of a coffee.

Turn books, articles, lessons and newsletters into steady, natural narration at $0.45 an hour of audio. Use a stock voice, or clone the author’s own.

Hear it

  • $4.00 for an 80,000-word novel
  • 24 kHz mono 16-bit WAV or PCM
  • 5,000 characters per request

How it works

  1. 01

    Split the text

    Send a paragraph or a few at a time, up to 5,000 characters per request.

  2. 02

    Generate each part

    Ask for raw PCM and append each part as it arrives.

  3. 03

    Publish

    Wrap it as WAV, then encode for your player or store.

import os, requests, wave

def narrate(paragraphs, voice="sophie", out="chapter-1.wav"):
    with wave.open(out, "wb") as w:
        w.setnchannels(1); w.setsampwidth(2); w.setframerate(24000)
        for p in paragraphs:  # each up to 5,000 characters
            r = requests.post(
                "https://api.iodine.dev/v1/tts",
                headers={"Authorization": f"Bearer {os.environ['IODINE_API_KEY']}"},
                json={"text": p, "voice": voice, "format": "pcm", "stream": False},
            )
            r.raise_for_status()
            w.writeframes(r.content)

What it costs

An 80,000-word novel, read at about 150 words a minute: roughly 8.9 hours of audio.

533 minutes of speech on Iodine $4.00

The same at ElevenLabs v4 Turbo's published price $21.33

At Iodine’s pay-as-you-go prices. Other providers at their published pay-as-you-go rates; see the price comparison.

Questions

Up to 5,000 characters, roughly five minutes of speech. Split longer text at paragraph boundaries and join the audio, as in the example above.

For the length of audio you get back, at $0.0075 a minute, to the millionth of a dollar. Requests that fail on our side cost nothing.

Write it the way it should sound and regenerate that paragraph. You pay only for the audio of the paragraph you redo.

Start building with Iodine.

Top up from $5. No plan, seats or minimums.

Get an API key   ›
iodine