Wróć do artykułów
5 min czytania

ElevenLabs API po polsku - lektor do filmów bez klikania

ElevenLabs API po polsku: jak wygenerować lektora z tekstu, które parametry ustawić, jak zamienić scenariusz na nagrania akapit po akapicie i ile to kosztuje.

ElevenLabs lektor AI Claude Code automatyzacja
ElevenLabs API po polsku - lektor do filmów bez klikania

ElevenLabs API pozwala wygenerować lektora z tekstu jednym poleceniem, zamiast klikać każdy akapit w panelu. Dla kogoś, kto produkuje filmy regularnie, to różnica między ręczną robotą a procesem: zmieniasz jedno zdanie w scenariuszu i odtwarzasz tylko ten fragment. Pokazuję podstawowe wywołanie, parametry ważne przy polskim tekście i prosty skrypt, który zamienia scenariusz na nagrania.

Stan na 6 listopada 2026. Nazwy modeli i ceny się zmieniają. Parametry w przykładach pochodzą z wywołań, których użyłem do testów własnego klonu.

Kiedy API ma sens, a kiedy wystarczy panel?

Panel wystarczy do pojedynczych nagrań. API opłaca się, gdy:

  • masz wiele akapitów i poprawiasz tylko niektóre
  • chcesz, żeby ten sam scenariusz zawsze dawał ten sam układ plików
  • lektor jest jednym z kroków większej produkcji
  • chcesz, żeby wszystko zrobił za Ciebie agent AI

Nie musisz być programistą. Przykłady niżej możesz wkleić do Claude Code i poprosić o dopasowanie do swojego folderu. Tak właśnie pracuję: agent pisze i uruchamia kod, a ja słucham wyniku. Tak powstał też mój klon, co opisałem w historii od starych filmów do klonu.

Czego potrzebujesz do ElevenLabs API?

Trzech rzeczy:

  1. Płatnego planu, jeśli chcesz używać głosów z biblioteki. Darmowe konto dostanie błąd paid_plan_required, działają na nim tylko głosy wbudowane
  2. Klucza API z ustawień konta
  3. Identyfikatora głosu (voice_id) z karty głosu w panelu

Klucz trzymaj w zmiennej środowiskowej, nigdy w pliku, który trafia do repozytorium ani na stronę. Każde jego użycie zużywa Twoje kredyty.

export ELEVENLABS_API_KEY="tu-twoj-klucz"
export VOICE_ID="tu-identyfikator-glosu"

Jak wygenerować lektora jednym poleceniem?

Najprostsze wywołanie zapisuje nagranie do pliku lektor.mp3:

curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/$VOICE_ID?output_format=mp3_44100_192" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -o lektor.mp3 \
  -d '{
    "text": "[calm, warm narration] Dzień dobry, to jest próbka z API.",
    "model_id": "eleven_v4",
    "language_code": "pl",
    "voice_settings": { "stability": 0.5, "similarity_boost": 0.75 }
  }'

Co tu jest ważne:

  • model_id: eleven_v4 daje najwyższą jakość i kosztuje 1 kredyt za znak. eleven_v4_turbo i eleven_flash_v2_5 kosztują 0,5 kredytu
  • language_code: pl mówi modelowi wprost, w jakim języku jest tekst
  • stability: niżej znaczy bardziej ekspresyjnie, wyżej bardziej równo. Zaczynam od 0,5
  • similarity_boost: jak blisko oryginału ma brzmieć głos
  • output_format: 192 kb/s wystarcza do filmu

Tag w nawiasach kwadratowych opisuje sposób czytania. W v4 to główne narzędzie reżyserskie: [calm, warm narration], [confident, clear], [intimate storytelling, slower]. Piszę je po angielsku, także przy polskim tekście.

Jak wygenerować cały scenariusz?

Podziel scenariusz na akapity przedzielone pustą linią i zapisz jako scenariusz.txt. Skrypt w Pythonie zrobi po jednym pliku na akapit i pominie te, które już istnieją:

import json, os, pathlib, urllib.request

KLUCZ = os.environ["ELEVENLABS_API_KEY"]
GLOS = os.environ["VOICE_ID"]
URL = f"https://api.elevenlabs.io/v1/text-to-speech/{GLOS}?output_format=mp3_44100_192"

for numer, tekst in enumerate(pathlib.Path("scenariusz.txt").read_text().split("\n\n"), 1):
    plik = pathlib.Path(f"akapit-{numer:02}.mp3")
    if plik.exists():
        continue
    dane = {
        "text": tekst,
        "model_id": "eleven_v4",
        "language_code": "pl",
        "voice_settings": {"stability": 0.5, "similarity_boost": 0.75},
    }
    zapytanie = urllib.request.Request(
        URL,
        data=json.dumps(dane).encode(),
        headers={"xi-api-key": KLUCZ, "Content-Type": "application/json"},
    )
    with urllib.request.urlopen(zapytanie, timeout=180) as odpowiedz:
        plik.write_bytes(odpowiedz.read())
    print("gotowe:", plik)

To pomijanie gotowych plików jest najważniejszą linijką. Gdy poprawisz jeden akapit, skasuj tylko jego plik i uruchom skrypt ponownie. Pozostałe nie zużyją ani jednego kredytu.

Na co uważać przy polskim tekście?

Większość problemów nie leży w API, tylko w tekście:

Skróty i obce słowa. Sprawdź je krótką próbką, zanim wygenerujesz całość. Zapis fonetyczny nie zawsze wystarcza. Czasem pomaga zapis IPA między ukośnikami, ale sprawdź go na swoim głosie: przy jednym z głosów, których używałem, model przeczytał IPA razem z ukośnikami. Czasem najszybciej jest zmienić zdanie.

Dwa teksty zamiast jednego. Tekst do napisów i tekst do czytania to nie to samo. W wersji do syntezy rozpisz liczby i skróty tak, jak mają zabrzmieć.

Model v4 nie ma parametru tempa. Przekazanie speed nie zmienia długości nagrania, a znaczniki SSML takie jak <break> nie działają. Pauzy i tempo reguluj tagami. Jeśli nagranie musi być krótsze, przyspiesz je po wygenerowaniu.

Długie teksty dziel. Eleven v4 ma limit około 10 tysięcy znaków na zapytanie, a przy poprawkach i tak chcesz regenerować pojedyncze akapity.

Sprawdzaj wynik automatycznie. U siebie po generowaniu transkrybuję nagranie i porównuję z tekstem. Wyłapuje to przekręcone słowa bez odsłuchiwania wszystkiego, choć cyfry i skróty dają fałszywe alarmy.

Ile kosztuje lektor przez API?

Tyle samo co w panelu: kredyty według modelu. Własny klon nie ma osobnej stawki. Plan Creator daje 121 tysięcy kredytów miesięcznie, czyli około 121 tysięcy znaków w eleven_v4. Do tego doliczaj poprawki: każde ponowne wygenerowanie akapitu kosztuje tyle samo co pierwsze.

Pełne zasady planów opisałem w tekście ElevenLabs: co to jest i ile kosztuje.

Jak dobrać głos do tego procesu?

Automatyzacja nie naprawi złego doboru głosu. Najpierw porównaj głosy na prawdziwym fragmencie, a dopiero potem buduj proces. Tu przyda się analiza polskich głosów, a jeśli chcesz użyć własnego, przepis na klon krok po kroku.

Identyfikator każdego głosu z biblioteki działa w tym samym kodzie, więc zmiana lektora to jedna linijka. Możesz sprawdzić mój głos, który opisałem na stronie Polski lektor AI. A jeśli chcesz takie procesy zbudować w zespole, zobacz szkolenia albo konsultacje.

Zajmuję się tym zawodowo

Szkolenia i konsultacje z AI, strategii i myślenia krytycznego dla firm i organizacji.