# ElevenLabs AI Text-to-Speech (Multilingual v2 & v3) (`dev00/elevenlabs-tts-actor`) Actor

Enterprise AI voice synthesis & text-to-speech Actor powered by ElevenLabs Multilingual v2, ElevenLabs v3, and Turbo v2.5 engines.

- **URL**: https://apify.com/dev00/elevenlabs-tts-actor.md
- **Developed by:** [dev00](https://apify.com/dev00) (community)
- **Categories:** AI, Agents, MCP servers
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 elevenlabs speech syntheses

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## ElevenLabs AI Text-to-Speech (Multilingual v2, v3 & Turbo) - Apify Actor

Enterprise AI voice synthesis & text-to-speech Actor powered by **ElevenLabs Multilingual v2**, **ElevenLabs v3 Expressive**, and **ElevenLabs Turbo v2.5** engines. Converts plain text, webpage article URLs, and document files into human-like audio in structured JSON format.

***

### 🎙️ Supported AI Voice Personas Matrix

| Voice Key (`voice`) | Persona Name | Style / Tone | Best Used For |
| :--- | :--- | :--- | :--- |
| **`christopher`** *(Default)* | Christopher | Warm, Conversational American Male | Casual dialogue, podcasts, AI voice assistants |
| **`david`** | David Castlemore | Authoritative, Broadcast Newsreader Male | News broadcasts, articles, formal presentations |
| **`rachel`** | Rachel | Calm, Soothing Professional Female | Audiobooks, meditation, corporate narration |
| **`adam`** | Adam | Deep, Resonant American Male | Documentaries, dramatic narration, trailers |
| **`george`** | George | Captivating British Storyteller Male | Audiobooks, storytelling, historical documentaries |
| **`bella`** | Bella | Soft, Emotional & Expressive Female | Story narration, intimate dialogue, character voices |
| **`antoni`** | Antoni | Energetic, Crisp Narration Male | Commercials, YouTube shorts, social media ads |
| **`domi`** | Domi | Friendly, Empathic Female | Customer service agents, conversational chatbots |
| **`josh`** | Josh | Deep, Engaging & Confident Male | Marketing videos, product explainers, keynotes |
| **`elli`** | Elli | Young, Dynamic & Cheerful Female | Gaming voiceover, animations, lively shorts |

***

### 🤖 Supported Model Engines & Architecture Matrix

| Model Key (`model`) | Model Engine Name | Languages & Characteristics | Best Used For |
| :--- | :--- | :--- | :--- |
| **`eleven_multilingual_v2`** *(Default)* | ElevenLabs Multilingual v2 | 29+ Languages, emotional accuracy, accent consistency | Global multilingual content, podcasts & narration |
| **`eleven_v3`** | ElevenLabs v3 Expressive | Ultra-expressive emotional nuance & dynamic pacing | Dramatic audiobooks, gaming, character acting |
| **`eleven_turbo_v2_5`** | ElevenLabs Turbo v2.5 | Low-latency synthesis (~150ms turnaround) | Real-time conversational AI & voice bots |
| **`eleven_monolingual_v1`** | ElevenLabs Monolingual v1 | Legacy English synthesis architecture | Legacy compatibility |

***

### 🚀 Key Features

- **3 Flexible Input Modalities**: Convert direct text strings, automatically scrape & narrate webpage article URLs, or process document text files.
- **10 Premium Voice Personas**: Professional male & female voices tuned for news broadcasting, storytelling, marketing, gaming, and meditation.
- **Audio Binary & Base64 Output**: Saves full Base64 payload in dataset/output, and automatically writes the raw `.mp3` audio binary buffer to Key-Value Store (`AUDIO.mp3`).
- **Playback Speed Control**: Multiplier from `0.5x` (slow) to `2.0x` (fast playback).

***

### 🎯 What People Use It For

- **Audiobook & Content Publishers**: Automate narration for blog posts, news articles, and ebooks.
- **Video Creators & Animators**: Generate professional voiceovers for YouTube shorts, TikToks, and commercials.
- **AI Voice Assistants & Chatbots**: Integrated with low-latency `eleven_turbo_v2_5` for real-time speech responses.
- **Accessibility & Screen Readers**: Convert web articles into natural-sounding speech for visually impaired users.

***

### 📌 Decision Rule & Usage Recommendation

Check if `status === "success"` AND `audio.byte_length > 0`. Extract `audio.audio_base64` or download `AUDIO.mp3` from the Key-Value Store.

***

### 💡 What Problem Does This Solve?

- *"Official ElevenLabs subscription pricing ($22 - $330/mo) is expensive for automated workflows."*
- *"Basic robotic text-to-speech models sound artificial and lack human emotion."*
- *"Manual audio recording and voiceover hiring takes days of coordination."*

ElevenLabs AI Text-to-Speech delivers studio-grade human voice synthesis in a single API or Actor run.

***

### 🔍 Queries This Actor Answers

- *How do I synthesize ElevenLabs voice audio programmatically in Python, Node.js, or Apify Actors?*
- *How do I automatically convert news webpage URLs into narrated audio files?*
- *What is an accurate API alternative to ElevenLabs, Play.ht, and Amazon Polly?*
- *How do I get Base64 MP3 voice audio using ElevenLabs Multilingual v2?*

***

### 📥 Input JSON Schema

Pass text, URL, or document file content with voice options:

```json
{
  "text": "Hello world, this is ElevenLabs AI text-to-speech synthesis.",
  "voice": "christopher",
  "model": "eleven_multilingual_v2",
  "speed": 1.0
}
```

***

### 📤 Dataset Output Format

Each run outputs a clean structured item to the default dataset and key-value store (`OUTPUT`):

```json
{
  "status": "success",
  "success": true,
  "service": "ElevenLabs AI Text-to-Speech Engine",
  "input_type": "text",
  "text": "Hello world this is ElevenLabs speech synthesis",
  "character_count": 47,
  "parameters": {
    "voice": "Christopher",
    "voice_id": "G17SuINrv2H9FC6nvetn",
    "model": "Eleven Multilingual v2 (29+ Languages)",
    "model_id": "eleven_multilingual_v2",
    "speed": 1
  },
  "audio": {
    "format": "mp3",
    "byte_length": 23184,
    "audio_base64": "//NkxAAAAANIAAAAAExBTUVVVVX..."
  }
}
```

***

### ⚠️ Failure Context & Error Handling

If no text, URL, or file input is provided:

```json
{
  "success": false,
  "error": "Missing required parameter: exactly one of 'text', 'url', or 'file' must be provided."
}
```

***

### 🏷️ Keywords

`elevenlabs api`, `elevenlabs text to speech`, `text to speech api`, `ai voice generator`, `elevenlabs voice cloning`, `elevenlabs multilingual v2`, `elevenlabs v3`, `voice synthesis api`, `article to audio api`, `mp3 voice generator`, `ai narration api`, `apify actor`.

# Actor input Schema

## `text` (type: `string`):

Plain text phrase or narration script to convert to speech.

## `url` (type: `string`):

Public HTTP/HTTPS URL of a webpage article to scrape and narrate.

## `file` (type: `string`):

Text extracted from an uploaded document file to narrate.

## `voice` (type: `string`):

Select AI Voice Persona: 'christopher', 'david', 'rachel', 'adam', 'george', 'bella', 'antoni', 'domi', 'josh', 'elli'.

## `model` (type: `string`):

Select AI Model: 'eleven\_multilingual\_v2' (default 29+ languages), 'eleven\_v3' (expressive), 'eleven\_turbo\_v2\_5' (fastest), or 'eleven\_monolingual\_v1'.

## `speed` (type: `number`):

Speech playback speed multiplier between 0.5 and 2.0 (default: 1.0).

## Actor input object example

```json
{
  "text": "Hello world, this is ElevenLabs AI text-to-speech synthesis.",
  "voice": "christopher",
  "model": "eleven_multilingual_v2",
  "speed": 1
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `keyValueStoreResult` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "text": "Hello world, this is ElevenLabs AI text-to-speech synthesis."
};

// Run the Actor and wait for it to finish
const run = await client.actor("dev00/elevenlabs-tts-actor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "text": "Hello world, this is ElevenLabs AI text-to-speech synthesis." }

# Run the Actor and wait for it to finish
run = client.actor("dev00/elevenlabs-tts-actor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "text": "Hello world, this is ElevenLabs AI text-to-speech synthesis."
}' |
apify call dev00/elevenlabs-tts-actor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dev00/elevenlabs-tts-actor"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5VpcU9e2AI8qtDctP/builds/JWk7kVJkm5gzQ0RRb/openapi.json
