TTS API · MCP Server

    Text in. Studio-quality audio out.

    Production-ready MP3 narration through a simple REST API—or straight from Claude, Cursor, and any MCP agent. 69 languages, your own cloned voices, and word-level timestamps included.

    From $6 per million characters · pay as you go

    Read the docs

    No SDK to install. No monthly fee. Credit never expires. Demand is high right now, so every request is reviewed—most hear back within a business day.

    curl
    # 1. Create a speech job
    curl -s -X POST "https://api.everlit.audio/v1/speech" \
      -H "Authorization: Bearer api_YOUR_KEY" \
      -H "Content-Type: application/json" \
      -d '{"text": "Hello from Everlit.", "voice": "669"}'
    # => 202 { "id": "spch_01jx...", "status": "queued",
    #          "audio_url": "https://api.everlit.audio/v1/speech/spch_01jx.../audio" }
    
    # 2. Poll until "succeeded" (typically 15-60s), then download.
    curl -sL -o hello.mp3 -H "Authorization: Bearer api_YOUR_KEY" \
      "https://api.everlit.audio/v1/speech/spch_01jx.../audio"
    per million characters
    $6
    languages
    69
    typical job time
    15–60s
    MCP tools
    8
    Two ways in

    Call it from code, or let your agent call it

    The same API key works for both. Send text, get back a job with a stable audio URL, and pick it up when it’s done—by polling, by webhook, or by asking your assistant.

    REST API

    Any language with an HTTP client

    speak.py
    import os, time, requests
    
    BASE = "https://api.everlit.audio"
    H = {"Authorization": f"Bearer {os.environ['EVERLIT_API_KEY']}"}
    
    job = requests.post(f"{BASE}/v1/speech", headers=H,
                        json={"text": "Hello from Everlit.", "voice": "669"}).json()
    
    while job["status"] in ("queued", "processing"):
        time.sleep(3)
        job = requests.get(f"{BASE}/v1/speech/{job['id']}", headers=H).json()
    
    with open("hello.mp3", "wb") as f:
        f.write(requests.get(job["audio_url"], headers=H).content)

    MCP server

    Claude, Cursor, Claude Code, and any MCP client

    mcp.json
    {
      "mcpServers": {
        "everlit-tts": {
          "type": "http",
          "url": "https://api.everlit.audio/v1/mcp",
          "headers": { "Authorization": "Bearer api_YOUR_KEY" }
        }
      }
    }

    Then just ask: “Narrate this article in Penny’s voice and give me the MP3.” The agent picks a voice, submits the job, waits politely, and hands back the link.

    AI-forward by design

    Give your agent a voice

    Everlit is a first-class MCP server. Every REST endpoint is exposed as a tool, so an assistant can browse voices, narrate a draft, check on the job, and pull word timings without you writing a line of glue code.

    • Same key, same bill, same limits

      Tools run the exact code the REST routes run. Nothing is metered or validated differently because an agent asked.

    • Polite polling, built in

      Running jobs return how many seconds to wait. The server tells agents not to spin, so a chatty model can't burn your read budget.

    • Errors an agent can act on

      Tool errors carry the same structured envelope as the REST API, plus the HTTP status and a retry-after hint on 429s.

    • Streamable HTTP, no OAuth dance

      Stateless transport with a bearer header. Paste one config block and you're connected.

    8 tools

    POST https://api.everlit.audio/v1/mcp

    create_speech

    Submit text and a voice; get a job back in milliseconds.

    get_speech

    Check a job. Running jobs tell the agent how long to wait.

    list_speech

    Browse recent jobs, filter by status, search by text.

    get_speech_timings

    Word-level timestamps for a finished job.

    delete_speech

    Remove audio before its 30-day expiry.

    list_voices

    Everlit's catalog plus your own cloned voices.

    list_languages

    All 69 languages with their billing weights.

    get_usage

    Characters, requests, and spend for any date range.

    Pricing

    One number. No plan required.

    Prepaid and independent of any Everlit subscription. Add a card, buy credit, and every successful job is deducted at the published rate—in exact fractions of a cent.

    Pay as you go
    $6/ million characters

    For Latin, Cyrillic, and Greek scripts. Other scripts are weighted so every language costs about the same per finished hour of audio—see below.

    • Word-level timestamps included
    • Cloned voices at the same rate
    • Signed webhooks and idempotency keys
    • Audio hosted for 30 days on a stable URL
    • Failed jobs are never charged
    • Credit never expires

    Top up from $5 to $10,000 once approved. Already a customer? Add credit in Studio.

    What that buys

    English text, ×1 script weight

    • A 1,200-word article

      ~7,000 chars

      $0.04
    • A 10,000-word long read

      ~57,000 chars

      $0.34
    • A 90,000-word audiobook

      ~515,000 chars

      $3.09
    • 1,000 articles a month

      ~7M chars

      $42

    Script-weighted characters

    English speaks about 1,050 characters a minute; Chinese about 300. Weights keep the price per hour of audio level across languages.

    • ×1Latin, Cyrillic & Greek scripts
      $6.00 / M
    • ×1.5Arabic, Hebrew & Indic scripts
      $9.00 / M
    • ×2Hangul & Thai
      $12.00 / M
    • ×2.5Kana (Japanese)
      $15.00 / M
    • ×3Han (Chinese)
      $18.00 / M

    Counted with standard Unicode script ranges, so your bill is reproducible from your own request logs. The optional language hint can never raise it, and weights only ever change in your favor.

    60 / min

    speech jobs created

    300 / min

    reads, polls & MCP messages

    4

    concurrent jobs

    20,000

    characters per request

    Safety rails, not credits. Need more headroom? Limits are set per account—email support@everlit.audio.

    Languages

    69 languages, every official EU language included

    Word-level timestamps ship today in 25 of them, and coverage keeps expanding. Everything is published live on the languages endpoint.

    Word timings availableAudio only, for now

    Latin, Cyrillic & Greek scripts ×1

    47 languages
    • English (word timings available)
    • Spanish (word timings available)
    • Portuguese (word timings available)
    • French (word timings available)
    • German (word timings available)
    • Italian (word timings available)
    • Dutch (word timings available)
    • Polish (word timings available)
    • Russian (word timings available)
    • Ukrainian (word timings available)
    • Czech (word timings available)
    • Slovak (word timings available)
    • Romanian (word timings available)
    • Greek (word timings available)
    • Hungarian (word timings available)
    • Finnish (word timings available)
    • Swedish (word timings available)
    • Danish (word timings available)
    • Bulgarian (word timings available)
    • Croatian (word timings available)
    • Estonian (word timings available)
    • Latvian (word timings available)
    • Lithuanian (word timings available)
    • Maltese (word timings available)
    • Slovenian (word timings available)
    • Irish
    • Norwegian
    • Catalan
    • Galician
    • Turkish
    • Vietnamese
    • Indonesian
    • Serbian
    • Bosnian
    • Belarusian
    • Kazakh
    • Mongolian
    • Uzbek
    • Georgian
    • Icelandic
    • Welsh
    • Basque
    • Esperanto
    • Swahili
    • Kinyarwanda
    • Ganda
    • Kabyle

    Arabic, Hebrew & Indic scripts ×1.5

    17 languages
    • Arabic
    • Hebrew
    • Persian
    • Urdu
    • Uighur
    • Kurdish (Sorani)
    • Bengali
    • Hindi
    • Tamil
    • Telugu
    • Kannada
    • Marathi
    • Gujarati
    • Nepali
    • Malayalam
    • Punjabi
    • Odia

    Hangul & Thai ×2

    2 languages
    • Korean
    • Thai

    Kana (Japanese) ×2.5

    1 language
    • Japanese

    Han (Chinese) ×3

    2 languages
    • Chinese
    • Cantonese
    Word-level timestamps

    Your text, verbatim, with a clock on every word

    Every finished job can return the words you submitted—punctuation and all—each with a start and end time. They come from your text, not from a speech recognizer’s best guess, so “$5” is one entry whose span covers the spoken “five dollars.”

    • Karaoke-style read-along highlighting
    • Captions and subtitles that match the script exactly
    • Seek to any sentence in a long recording
    • Included with every job, at no extra cost
    GET /v1/speech/{id}/timings
    {
      "object": "speech.timings",
      "id": "spch_01jx...",
      "duration_seconds": 58.3,
      "words": [
        { "word": "Hello",    "start": 0.00, "end": 0.31 },
        { "word": "from",     "start": 0.38, "end": 0.55 },
        { "word": "Everlit.", "start": 0.61, "end": 1.12 }
      ]
    }
    Built for production

    The boring parts, done properly

    Everything you’d expect from an API you’re going to put in a nightly pipeline.

    Voice cloning

    Clone your narrators or brand voice in Studio. Cloned voices show up in the catalog and bill at the same rate as ours.

    Word timings, free

    Precise per-word start and end times in 25 languages, taken from your submitted text rather than a transcript guess.

    69 languages

    One catalog spanning Latin, Cyrillic, Greek, Arabic, Hebrew, Indic, Hangul, Thai, kana, and Han scripts. Mixed-script text just works.

    Signed webhooks

    Pass a callback URL and we POST the finished job, HMAC-signed, with retries for 30 minutes. No polling loop required.

    Stable audio URLs

    The download URL is known the instant you submit and stays valid for 30 days. Store it once; no expiring links to refresh.

    Idempotency keys

    Retry a create safely. The same key and body returns the original job with no second charge, for 30 days.

    Hash-only API keys

    Keys are shown once and stored as a SHA-256 digest. Revoke instantly from Studio; every response carries rate-limit headers.

    MCP native

    Eight tools over Streamable HTTP with structured errors and polite polling hints, so agents behave in production.

    OpenAPI spec

    A published OpenAPI 3 document and a Markdown mirror of the docs, ready for code generators and AI assistants alike.

    Asynchronous on purpose

    Jobs finish in about 15 to 60 seconds because every file gets a full render and an automatic quality check. That makes Everlit ideal for articles, archives, audiobooks, courses, and publish-time pipelines—and the wrong choice for live conversational agents or IVR that need speech in milliseconds. If your app can wait half a minute, you get richer audio for less.

    Getting started

    Three steps to your first MP3

    Demand for the API is high right now, so we review every request to keep capacity where our customers expect it. Request a key, and once you’re approved everything else happens in Studio.

    01

    Request access

    Tell us what you're building and roughly how much text you'll send. With current demand we review every request by hand, usually within a business day.

    02

    Add credit, mint a key

    Once approved, open Billing → TTS API in Studio, add a card and starting credit from $5, then create an api_ key under API → Keys.

    03

    Send text

    POST to /v1/speech, or paste the MCP config into Claude or Cursor and ask for a narration. Usage shows up in Studio within minutes.

    Ship audio this afternoon.

    One endpoint, one MCP config, $6 per million characters. Read the reference, request a key, and your first narration is a curl away.

    Read the API docs

    What you’ll get

    • Studio-quality MP3 narration, 44.1 kHz
    • 69 languages and your own cloned voices
    • Word-level timestamps in 25 languages, free
    • REST API plus an 8-tool MCP server
    • Webhooks, idempotency, 30-day stable URLs
    • Pay as you go from $5, at $6 per million characters

    Ready to Get Started with Everlit?

    Enter your email or feel free to email us at
    hello@everlit.audio