AtlasVoice 2.4 beta is here: natural voices, now free. Try the beta → (opens in a new tab)

AtlasVoice (opens in a new tab)

Announcing the AtlasVoice Text to Speech API

By · · 5 min read

Listen to this article7:24 · natural voice by AtlasVoice
Announcing the AtlasVoice Text to Speech API — AtlasVoice blog

The AtlasVoice text to speech API turns text into natural MP3 audio with a single HTTP request. You send text and a language, and you get back an MP3 you can store and play on Shopify, Wix, Webflow, Squarespace or your own app. The free plan includes 100,000 characters a month with no card needed.

It is the same service that powers AtlasVoice for WordPress, now open to any platform. This post covers what the API does, a first request you can copy, how to handle long articles, and what the Free and Premium plans include. The full reference lives on the AtlasVoice API page (opens in a new tab).

What the AtlasVoice API does

It is a plain REST API. You call it from your server in any language, and it returns speech as MP3 audio. The essentials:

  • Send text, get an MP3. One endpoint, POST /v1/synthesize, takes your text and a lang such as en-US.
  • 81 languages and accents on the free plan, with the AtlasVoice TTS voice.
  • Streaming, so a player can start before the whole file is finished.
  • A dashboard at app.atlasvoice.cloud that shows your usage, keys and any failed requests.
  • Fair billing. You pay per character of text, and failed requests are never counted.

Who it is for

If your site runs on WordPress, the free AtlasVoice plugin (opens in a new tab) does all of this for you. The API is for everything else:

  • Store and site builders such as Shopify, Wix, Webflow and Squarespace, where you want a listen option on articles or product descriptions.
  • Custom apps and websites built on any framework or language.
  • Content pipelines that should produce an audio version every time something is published.

There is no ready-made app for those platforms yet, so today the pattern is: a small server script or serverless function calls the API, saves the MP3, and your page plays it. The steps below show exactly that.

Your first MP3 in one request

First, sign up at app.atlasvoice.cloud (opens in a new tab), add a project for your site or app, and copy the API key. It is shown only once, so store it somewhere safe, such as an environment variable called ATLASVOICE_API_KEY. Then run:

curl -X POST "https://api.atlasvoice.cloud/v1/synthesize?raw=1" \
  -H "Authorization: Bearer $ATLASVOICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from AtlasVoice.", "lang": "en-US"}' \
  -o hello.mp3

That saves hello.mp3 in your current folder. Here is what each part does:

  • Authorization: Bearer ... sends your key. Keys start with av_live_.
  • text is what should be spoken, and lang is the language, for example en-US.
  • ?raw=1 asks for the MP3 file itself.

The file itself, or a link

Without ?raw=1, the API answers with JSON that contains a link to the MP3 plus your current usage. That link works for 10 minutes only, because generated files are deleted from AtlasVoice servers shortly after they are made. Either way, save the MP3 with your content and serve it from your own site or storage. Then every later play costs nothing, and you are not depending on a temporary link.

Long articles: send them in parts

Each request accepts up to 5,000 characters. For a longer article, split the text into parts (ideally at the end of a sentence), send each part, and join the MP3s in order.

One useful detail: add the article's full length as total_chars on the first part. If the whole article will not fit in what is left of your monthly allowance, the API refuses it up front, before anything is charged, instead of stopping halfway through.

Stream audio while it is being made

Add stream=1 together with raw=1 (?raw=1&stream=1) and the MP3 starts arriving with the first sentences. That lets a player begin almost at once instead of waiting for the finished file. An unfinished stream is never billed.

Check usage, voices and errors

RequestWhat it does
POST /v1/synthesizeTurns text into speech. Returns JSON with a 10-minute MP3 link, or the MP3 itself with ?raw=1.
GET /v1/usageYour plan, characters used this month, what is left, and when it resets.
GET /v1/voicesEvery language and voice you can use. No key needed.

Every error comes back in the same shape, {"error": {"code", "message"}}, with a stable code and a plain-English message. For example, quota_exceeded means the monthly allowance is used up. When you should wait before trying again, the response includes a Retry-After header.

Free and Premium plans

FreePremium
Price$0, no card neededFrom $59 a year, with an AtlasVoice Pro license
Characters100,000 a monthNo monthly character limit
Voices81 languages and accents with the AtlasVoice TTS voice380 AtlasVoice Cloud voices in 47 languages
Requests30 a minute120 a minute
IncludedStreaming, usage dashboard, failed-request logsEverything in Free

Premium comes with an AtlasVoice Pro license, which covers both the WordPress plugin and the API, so there is nothing extra to buy for your other sites. To switch a project to Premium, paste your license key into the project's "Premium licence" box in the dashboard. Each site uses one seat of the license. The natural AtlasVoice Cloud voices are served from voice.atlasvoice.cloud with the same key.

Need a plan just for the API, or more requests per minute? Tell the team what you need (opens in a new tab).

Keys, privacy and good habits

  • Keep your key on the server. API keys are secret. Call the API from your backend, never from JavaScript in the browser, where anyone could copy the key.
  • Your text is not stored. AtlasVoice never stores the text you send, and the generated MP3 is deleted from its servers within minutes.
  • Store the audio yourself. Save each MP3 next to the content it belongs to, so it plays fast and never needs to be generated twice.
  • Watch your usage. Check GET /v1/usage or the dashboard before large batch jobs.

What is coming next

A JavaScript SDK is on the way, with browser keys locked to your domain, so front-end projects can use the API without exposing a secret key.

Get started

  1. Create a free account at app.atlasvoice.cloud (opens in a new tab) and add a project.
  2. Copy your API key and keep it on your server.
  3. Send your first request with the curl example above, then read the API page (opens in a new tab) for Node.js, PHP and Python versions.

If you are adding audio so more people can use your content, our guide on audio articles and the European Accessibility Act (opens in a new tab) explains where audio helps and where it is not enough on its own. Your first 100,000 characters are on us.

announcementdeveloperstext to speech api