Skip to content

Text-to-speech API

Generate speech in 200+ languages from your own code, with 260+ ready-made voices, your cloned voices and voices you design. One REST endpoint, Bearer-key auth, MP3 out (WAV, OGG and FLAC on Pro and Max), and SRT captions for every clip.

Last updated: October 2026

At a glance

Base URLhttps://api.vocallab.ai/api/v1
AuthAuthorization: Bearer vl_live_… (create a key on the API keys page)
Plans with API accessAll of them, Free included (60 free points to start); AppSumo lifetime licences from Tier 3
Price1 point per 15 characters; 1 point ≈ 1 second of audio; about $0.12 per minute
Languages200+ (v-studio, v-flash)
Voices260+ ready-made, plus your clones and designed voices
OutputMP3 on every plan; WAV, OGG Opus and FLAC on Pro and Max. SRT captions by phrase or by word
Limits2,000 characters per request; 60 requests/min per key (120 on Max)
MCP serverhttps://mcp.vocallab.ai/mcp (setup)

Quick start

  1. Sign up free and create an API key on the API keys page. No card needed.
  2. Pick a voice: GET /voices returns the catalog and your own clones, each with an id.
  3. Send the text to POST /tts.
curl -X POST https://api.vocallab.ai/api/v1/tts \
  -H "Authorization: Bearer vl_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello from VocalLab.",
    "voice": "VOICE_ID_FROM_GET_VOICES",
    "model": "v-studio",
    "format": "MP3"
  }'

The response carries the audio inline as audio_base64, plus a stream_url you can play straight away and a captions_url for SRT subtitles:

{
  "id": "6720c1…",
  "status": "pending",
  "audio_base64": "SUQzBAAAAA…",
  "audio_url": null,
  "stream_url": "https://api.vocallab.ai/api/v1/tts/6720c1…/audio",
  "captions_url": "https://api.vocallab.ai/api/v1/tts/6720c1…/captions",
  "format": "MP3",
  "model": "v-studio",
  "points_used": 2
}

Endpoints

Method and pathWhat it does
POST /ttsText to speech. Body: text, voice, optional model, format, speed, delivery_mode (v-studio), enhance_generation, captions ("phrase" or "word").
GET /tts/:idStatus and download links for a generation.
GET /tts/:id/audioThe audio bytes, with Range support for seeking.
GET /tts/:id/captionsSRT captions for the clip.
DELETE /tts/:idDelete a generation and its audio file.
GET /voicesVoices you can use: the public catalog and your own.
GET /voices/languagesLanguages and sample rules for cloning.
POST /voices/clonesClone a voice from a 15–30 second sample (30 seconds recommended).
POST /voices/designs/previews, POST /voices/designsDesign a voice from a text description, then save the preview you like.
GET /modelsThe speech models and their capabilities.
GET /ping, GET /meCheck the key and read your points balance.

Models

ModelLanguagesPointsNotes
v-studio200+1×The flagship. Follows expression directions such as [whispering]; delivery_mode STABLE, BALANCED or CREATIVE.
v-flash200+0.75×About 5× faster than v-studio, without steering.
v-proMajor languages1×The API default, so existing integrations keep their sound.
v-liteMajor languages0.5×Fastest and cheapest.

Errors

Errors come back as { "error": { "code": "…", "message": "…" } }. The common ones: 401 missing_api_key, 403 not_entitled (the key belongs to an account that can't use the API), 402 (not enough points), 413 text_too_long, 404 voice_not_found and 429 rate_limited.

Related

FAQ

API questions

How much does the VocalLab API cost?

API access is free on every plan; you only pay for the points you spend. Speech is billed at one point per 15 characters of input text, and one point is about one second of audio, so a minute of speech costs about $0.12. v-lite costs half as many points and v-flash three quarters. Extra points come in top-ups that never expire.

Is there a free tier for the API?

Yes. Every account, Free included, can create an API key. The Free plan's 60 points (about a minute of audio) and one voice clone work through the API exactly as in the app. When you need more, Lite ($9/month) adds 3,000 points, Pro ($24/month) 12,000 and Max ($299/month) 150,000 with higher rate limits. There is no separate per-call fee.

How many languages and voices does the API support?

200+ languages on the v-studio and v-flash models, and 260+ ready-made voices, plus any voice you clone (from a 15–30 second sample) or design from a text description.

What are the rate limits?

60 requests per minute per API key on Pro and 120 on Max, with up to 2,000 characters per request. Split longer scripts into several calls. Voice cloning and voice design have their own hourly limits.

Can I use the API from Claude, ChatGPT or Cursor?

Yes. The hosted MCP server exposes the same API as tools for AI assistants. See the MCP server page for the URL and setup.

Can I use the generated audio commercially?

Yes, on any paid plan: every paid plan comes with a commercial-use license, and audio generated through the API is covered the same way as audio made in the app.