ElevenLabs - kompletny przewodnik po platformie głosowej AI
Czym jest ElevenLabs?
ElevenLabs to platforma AI specjalizująca się w generowaniu realistycznej mowy, klonowaniu głosu i budowaniu konwersacyjnych agentów głosowych. Założona w 2022 roku przez Piotra Dąbkowskiego (ex-Google ML) i Matiego Staniszewskiego (ex-Palantir), firma szybko stała się liderem rynku syntazy mowy.
W lutym 2026 ElevenLabs ogłosiło rundę finansowania $500 milionów przy wycenie $11 miliardów, przymierzając się do potencjalnego IPO. Platforma oferuje ponad 3000 głosów w 70+ językach, klonowanie głosu z kilku minut nagrania i Conversational AI do budowania interaktywnych agentów głosowych.
To, co wyróżnia ElevenLabs na tle konkurencji, to jakość generowanej mowy - głosy brzmią naturalnie, z właściwą intonacją, emocjami i tempem. Model Eleven v3 potrafi interpretować kontekst emocjonalny tekstu i odpowiednio modulować głos.
Dlaczego ElevenLabs?
Kluczowe zalety
- Najwyższa jakość głosu - Najbardziej realistyczne głosy AI na rynku
- 70+ języków - W tym polski, z kulturowo właściwą wymową i intonacją
- Voice cloning - Klonowanie głosu z kilku minut nagrania
- Conversational AI - Platforma do budowania głosowych agentów w czasie rzeczywistym
- Audio tags (v3) - Kontrola emocji i stylu mówienia bezpośrednio w tekście
- Multi-speaker dialogue - Naturalne dialogi wielu osób w jednym pliku audio
- Ultra-niska latencja - Flash v2.5 osiąga 75ms, idealne do zastosowań real-time
ElevenLabs vs Amazon Polly vs Google Cloud TTS vs OpenAI TTS
| Cecha | ElevenLabs | Amazon Polly | Google Cloud TTS | OpenAI TTS |
|---|---|---|---|---|
| Jakość głosu | Najlepsza | Dobra | Bardzo dobra | Bardzo dobra |
| Języki | 70+ | 30+ | 40+ | 57 |
| Voice cloning | Tak | Nie | Nie | Nie |
| Audio tags (emocje) | Tak (v3) | Nie | Nie | Nie |
| Multi-speaker | Tak (v3) | Nie | Nie | Nie |
| Conversational AI | Tak | Nie | Dialogflow | Realtime API |
| Darmowy plan | 10 min/mies. | 5M znaków/mies. (12 mies.) | 1M znaków/mies. | Brak |
| Koszt (TTS) | Od $0.12/1K znaków | $4/1M znaków | $4-$16/1M znaków | $15/1M znaków |
| Latencja | 75ms (Flash) | ~200ms | ~200ms | ~300ms |
Modele TTS
ElevenLabs oferuje kilka modeli dopasowanych do różnych zastosowań:
Eleven v3
Najnowszy i najpotężniejszy model, wydany w czerwcu 2025.
- Języki: 70+
- Limit znaków: 5,000 na request
- Funkcje: Audio tags, multi-speaker dialogue, naturalny kontekst emocjonalny
- Zastosowania: Audiobooki, podcasty, dubbing, content premium
Multilingual v2
Flagowy model do wysokojakościowej syntezy mowy.
- Języki: 29
- Limit znaków: 10,000 na request
- Funkcje: Najbardziej niuansowa ekspresja, doskonała intonacja
- Zastosowania: Profesjonalne voiceovery, reklamy, e-learning
Flash v2.5
Model zoptymalizowany pod kątem niskiej latencji.
- Języki: 32
- Limit znaków: 40,000 na request
- Latencja: ~75ms
- Zastosowania: Conversational AI, asystenci głosowi, real-time aplikacje
Turbo v2.5
Szybki model o niższym koszcie.
- Języki: 32
- Limit znaków: 40,000 na request
- Latencja: 250-300ms
- Zastosowania: Masowa produkcja audio, automatyzacja content
Audio tags (Eleven v3)
Audio tags to przełomowa funkcja Eleven v3, która pozwala kontrolować emocje, styl i sposób mówienia bezpośrednio w tekście.
[excited] I can't believe we won the championship!
[whispers] Don't tell anyone, but I have a secret.
[sighs] Another Monday morning...
[laughs] That's the funniest thing I've heard all week!
[sad] I'm going to miss this place.Możesz też łączyć tagi z naturalnym kontekstem:
"I'm so proud of you," she said [tearfully]. "You've come so far."Model interpretuje zarówno tagi, jak i kontekst tekstowy (znaki interpunkcyjne, przymiotniki opisujące emocje), co daje bardzo naturalny rezultat.
Pierwsze kroki z API
Instalacja SDK
pip install elevenlabs
npm install elevenlabsKonfiguracja klucza API
Wygeneruj klucz API w dashboardzie ElevenLabs i ustaw go jako zmienną środowiskową:
export ELEVENLABS_API_KEY="your-api-key"Podstawowy text-to-speech (Python)
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
elevenlabs = ElevenLabs()
audio = elevenlabs.text_to_speech.convert(
text="The first move is what sets everything in motion.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_v3",
output_format="mp3_44100_128",
)
play(audio)Podstawowy text-to-speech (TypeScript)
import { ElevenLabsClient } from "elevenlabs";
import { createWriteStream } from "fs";
const elevenlabs = new ElevenLabsClient({
apiKey: process.env.ELEVENLABS_API_KEY,
});
const audio = await elevenlabs.textToSpeech.convert("JBFqnCBsd6RMkjVDRZzb", {
text: "The first move is what sets everything in motion.",
model_id: "eleven_v3",
output_format: "mp3_44100_128",
});
const writeStream = createWriteStream("output.mp3");
audio.pipe(writeStream);Streaming audio
from elevenlabs import stream
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs()
audio_stream = elevenlabs.text_to_speech.stream(
text="This is a streaming example. The audio plays as it generates.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_multilingual_v2",
)
stream(audio_stream)Możesz też przetworzyć chunki ręcznie:
for chunk in audio_stream:
if isinstance(chunk, bytes):
process_audio_chunk(chunk)Async client
import asyncio
from elevenlabs.client import AsyncElevenLabs
elevenlabs = AsyncElevenLabs()
async def generate_speech():
audio = await elevenlabs.text_to_speech.convert(
text="Async speech generation is great for web servers.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_v3",
)
return audio
asyncio.run(generate_speech())Wyszukiwanie głosów
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs()
response = elevenlabs.voices.search()
for voice in response.voices:
print(f"{voice.name} ({voice.voice_id})")Voice cloning
ElevenLabs oferuje dwa rodzaje klonowania głosu:
Instant voice cloning
Szybkie klonowanie z krótkich próbek audio (30 sekund - kilka minut). Dostępne od planu Starter.
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs()
voice = elevenlabs.voices.ivc.create(
name="Alex",
description="An old American male voice with a slight hoarseness in his throat. Perfect for news",
files=["./sample_0.mp3", "./sample_1.mp3", "./sample_2.mp3"],
)
audio = elevenlabs.text_to_speech.convert(
text="This is my cloned voice speaking.",
voice_id=voice.voice_id,
model_id="eleven_v3",
)Professional voice cloning
Zaawansowane klonowanie z dłuższych nagrań (30+ minut), dające najwyższą jakość odwzorowania. Wymaga planu Creator lub wyższego. Proces obejmuje weryfikację tożsamości i zgodę na klonowanie.
Conversational AI
Conversational AI to platforma ElevenLabs do budowania interaktywnych agentów głosowych w czasie rzeczywistym. Łączy STT, LLM i TTS w jeden pipeline z monitoringiem i analityką.
Architektura
- Speech-to-text - Scribe (własny model ElevenLabs) zamienia mowę na tekst
- LLM - Twój wybór modelu (GPT-4o, Claude, Gemini) przetwarza tekst i generuje odpowiedź
- Text-to-speech - ElevenLabs TTS zamienia odpowiedź na naturalną mowę
- Knowledge base - Opcjonalna baza wiedzy (dokumenty, FAQ) dostępna dla agenta
Tworzenie agenta konwersacyjnego
from elevenlabs.client import ElevenLabs
from elevenlabs.conversational_ai.conversation import Conversation
from elevenlabs.conversational_ai.default_audio_interface import DefaultAudioInterface
elevenlabs = ElevenLabs()
audio_interface = DefaultAudioInterface()
conversation = Conversation(
client=elevenlabs,
agent_id="your-agent-id",
requires_auth=True,
audio_interface=audio_interface,
)
conversation.start_session()
conversation.end_session()Agent z tool calling
import asyncio
from elevenlabs.client import ElevenLabs
from elevenlabs.conversational_ai.conversation import ClientTools, Conversation
from elevenlabs.conversational_ai.default_audio_interface import DefaultAudioInterface
elevenlabs = ElevenLabs()
async def main():
custom_loop = asyncio.get_running_loop()
client_tools = ClientTools(loop=custom_loop)
async def get_weather(params):
location = params.get("location", "Unknown")
return f"Weather in {location}: Sunny, 72°F"
async def check_order(params):
order_id = params.get("order_id", "")
return f"Order {order_id}: Shipped, arriving tomorrow."
client_tools.register("get_weather", get_weather, is_async=True)
client_tools.register("check_order", check_order, is_async=True)
conversation = Conversation(
client=elevenlabs,
agent_id="your-agent-id",
requires_auth=True,
audio_interface=DefaultAudioInterface(),
client_tools=client_tools,
)
conversation.start_session()
asyncio.run(main())Rejestracja narzędzi
from elevenlabs.conversational_ai.conversation import ClientTools
client_tools = ClientTools()
def calculate_sum(params):
numbers = params.get("numbers", [])
return sum(numbers)
async def fetch_data(params):
url = params.get("url")
return {"data": "fetched"}
client_tools.register("calculate_sum", calculate_sum, is_async=False)
client_tools.register("fetch_data", fetch_data, is_async=True)Dodatkowe produkty
Scribe (Speech-to-Text)
Własny model STT od ElevenLabs. Transkrybuje audio z dokładnością na poziomie znaków, timestampami i rozpoznawaniem mówców (speaker diarization).
Eleven Music
Generator muzyki AI uruchomiony w sierpniu 2025. Tworzy muzykę studyjnej jakości z promptów w języku naturalnym. Opracowany we współpracy z wytwórniami muzycznymi i artystami - wygenerowana muzyka jest legalna do użytku komercyjnego.
Dubbing i lokalizacja wideo
Lokalizacja filmów i wideo do 70+ języków z zachowaniem oryginalnego głosu, emocji i timingu mówcy.
Reader App
Aplikacja mobilna (iOS/Android) pozwalająca słuchać artykułów, PDF-ów i ePubów z głosami AI.
Audiobook publishing
Platforma do tworzenia i publikowania audiobooków generowanych przez AI, uruchomiona w lutym 2025.
Cennik
Plany
| Plan | Cena/mies. | Minuty TTS | Conversational AI | Voice cloning |
|---|---|---|---|---|
| Free | $0 | ~10 min | - | - |
| Starter | $5 | ~30 min | - | Instant |
| Creator | $22 | ~100 min | - | Professional |
| Pro | $99 | ~500 min | Tak | Professional |
| Scale | $330 | ~2,000 min | Tak | Professional |
| Business | $1,320 | 11,000 min | 13,750 min | Professional |
| Enterprise | Custom | Custom | Custom | Custom |
Koszty per-character (TTS, Multilingual v2)
| Plan | Koszt za 1K znaków |
|---|---|
| Creator | $0.30 |
| Pro | $0.24 |
| Scale | $0.18 |
| Business | $0.12 |
Conversational AI
Koszt Conversational AI na planie Business wynosi $0.08/min. Nieopłacone minuty resetują się co miesiąc.
Porównanie z konkurencją
| Platforma | Koszt TTS | Conversational AI | Voice cloning |
|---|---|---|---|
| ElevenLabs | Od $0.12/1K znaków | $0.08/min | Tak |
| Amazon Polly | $4/1M znaków | Nie | Nie |
| Google Cloud TTS | $4-$16/1M znaków | Przez Dialogflow | Nie |
| OpenAI TTS | $15/1M znaków | Realtime API | Nie |
| Play.ht | Od $0.10/1K znaków | Nie | Tak |
Oszczędności
Roczne plany oferują 2 miesiące gratis. Niewykorzystane kredyty przenoszą się na następny miesiąc po upgrade planu.
Bezpieczeństwo i zgodność
- Szyfrowanie - Dane szyfrowane w tranzycie i w spoczynku
- SOC 2 - Zgodność z SOC 2
- HIPAA - Wsparcie dla HIPAA compliance
- GDPR - Zgodność z GDPR
- EU Data Residency - Opcja przechowywania danych w UE
- Zero Retention - Tryb bez przechowywania danych dla wrażliwych zastosowań
- Consent verification - Weryfikacja zgody przy klonowaniu głosu
Formaty audio
| Format | Sample rate | Opis |
|---|---|---|
| MP3 | 22.05-44.1 kHz | Domyślny, uniwersalny |
| PCM | 16-44.1 kHz | Surowy audio, najniższa latencja |
| μ-law | 8 kHz | Telefonia |
| A-law | 8 kHz | Telefonia (Europa) |
| Opus | 48 kHz | WebRTC, streaming |
Praktyczne zastosowania
Podcast z wieloma głosami (v3)
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs()
script = """
[Speaker: Host] Welcome to Tech Talk! Today we're discussing the future of AI.
[Speaker: Guest] Thanks for having me. I think 2026 is going to be a breakthrough year.
[Speaker: Host] [excited] Absolutely! Let's dive right in.
"""
audio = elevenlabs.text_to_speech.convert(
text=script,
voice_id="multi_speaker_v3",
model_id="eleven_v3",
)Audiobook generator
from elevenlabs.client import ElevenLabs
from elevenlabs import stream
elevenlabs = ElevenLabs()
chapters = [
"Chapter 1: The Beginning. It was a dark and stormy night...",
"Chapter 2: The Journey. The next morning brought clear skies...",
"Chapter 3: The Discovery. Deep in the forest, she found...",
]
for i, chapter in enumerate(chapters):
audio = elevenlabs.text_to_speech.convert(
text=chapter,
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_multilingual_v2",
output_format="mp3_44100_128",
)
with open(f"chapter_{i+1}.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)Real-time voice assistant (Next.js)
import { ElevenLabsClient } from "elevenlabs";
import { NextResponse } from "next/server";
const elevenlabs = new ElevenLabsClient({
apiKey: process.env.ELEVENLABS_API_KEY,
});
export async function POST(request: Request) {
const { text, voiceId } = await request.json();
const audio = await elevenlabs.textToSpeech.convert(voiceId, {
text,
model_id: "eleven_flash_v2_5",
output_format: "mp3_22050_32",
});
return new NextResponse(audio as unknown as ReadableStream, {
headers: {
"Content-Type": "audio/mpeg",
},
});
}Integracja z React
import { useState, useRef } from "react";
export function TextToSpeechPlayer() {
const [text, setText] = useState("");
const [isLoading, setIsLoading] = useState(false);
const audioRef = useRef<HTMLAudioElement>(null);
const generateSpeech = async () => {
setIsLoading(true);
const response = await fetch("/api/tts", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
text,
voiceId: "JBFqnCBsd6RMkjVDRZzb",
}),
});
const blob = await response.blob();
const url = URL.createObjectURL(blob);
if (audioRef.current) {
audioRef.current.src = url;
audioRef.current.play();
}
setIsLoading(false);
};
return (
<div className="flex flex-col gap-4 p-6 max-w-md">
<textarea
value={text}
onChange={(e) => setText(e.target.value)}
placeholder="Enter text to convert to speech..."
className="w-full p-3 border rounded-lg dark:bg-gray-800 dark:border-gray-600"
rows={4}
/>
<button
onClick={generateSpeech}
disabled={isLoading || !text}
className="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg disabled:opacity-50"
>
{isLoading ? "Generating..." : "Generate Speech"}
</button>
<audio ref={audioRef} controls className="w-full" />
</div>
);
}Ograniczenia i wyzwania
- Koszt przy skali - Przy dużych wolumenach audio koszty rosną szybko, szczególnie z modelami premium
- Limit znaków - V3 ma limit 5,000 znaków na request (vs 40,000 dla Flash)
- Darmowy plan - Tylko 10 minut miesięcznie, brak użytku komercyjnego, wymaga atrybucji
- Voice cloning ethics - Wymaga weryfikacji zgody, co spowalnia proces
- Brak self-hostingu - Modele dostępne tylko przez API, brak opcji on-premise
- Jakość w mniejszych językach - Niektóre języki mają niższą jakość niż angielski
FAQ
Czy ElevenLabs obsługuje polski?
Tak, polski jest jednym z 70+ obsługiwanych języków. Model v3 oferuje najlepszą jakość polskiego z kulturowo właściwą intonacją. Dla real-time zastosowań Flash v2.5 też obsługuje polski.
Ile kosztuje klonowanie głosu?
Instant voice cloning jest dostępne od planu Starter ($5/mies.). Professional voice cloning wymaga planu Creator ($22/mies.) lub wyższego. Sam proces klonowania nie ma dodatkowej opłaty - płacisz za generowanie audio jak zwykle.
Czy mogę użyć ElevenLabs do komercyjnego audiobooka?
Tak, od planu Starter masz prawa do komercyjnego użytku. ElevenLabs oferuje też dedykowaną platformę do publikowania audiobooków w aplikacji Reader.
Jak ElevenLabs porównuje się z OpenAI TTS?
ElevenLabs oferuje wyższą jakość głosu, voice cloning, audio tags, multi-speaker dialogue i niższą latencję (75ms vs ~300ms). OpenAI TTS jest prostszy w użyciu i ma Realtime API do konwersacji, ale nie obsługuje klonowania głosu ani tak zaawansowanej kontroli emocji.
Czy mogę zbudować voice agenta z ElevenLabs?
Tak, Conversational AI łączy STT (Scribe), LLM (twój wybór) i TTS w jeden pipeline. Obsługuje tool calling, knowledge base i monitoring. SDK dostępne dla Python, TypeScript, Flutter, Swift i Kotlin.
Czy audio tags działają we wszystkich modelach?
Nie, audio tags ([excited], [whispers], itp.) to funkcja wyłącznie modelu Eleven v3. Starsze modele (Multilingual v2, Flash v2.5) interpretują emocje z kontekstu tekstu, ale nie obsługują tagów.
Podsumowanie
ElevenLabs to bezsprzeczny lider jakości syntazy mowy AI w 2026 roku. Model v3 z audio tags, multi-speaker dialogue i 70+ językami wyznacza nowy standard branżowy. Conversational AI pozwala budować głosowych agentów porównywalnych z Vapi, ale z przewagą najlepszej jakości głosu na rynku.
Dla programistów ElevenLabs oferuje dobrze udokumentowane SDK (Python, TypeScript), streaming API, voice cloning i elastyczną architekturę łączącą się z dowolnym LLM. Główne kompromisy to koszt przy skali i brak opcji self-hostingu - ale jeśli jakość głosu jest priorytetem, ElevenLabs jest trudny do pokonania.