Poznaj Eleven v4Poznaj Eleven v4, nasz najbardziej emocjonalny model.

Przejdź do treści

Jak zintegrować Text to Speech z aplikacjami

Opublikowano

PosłuchajPosłuchaj tego artykułu

Aby zintegrować Text to Speech z aplikacjami, utwórz klucz API, zainstaluj SDK ElevenLabs, wyślij tekst do endpointu TTS wraz z głosem i modelem, a następnie odtwórz otrzymane audio.

Ten przewodnik omawia każdy z tych kroków w Pythonie i TypeScripcie, pokazuje, jak wybrać najlepszą metodę integracji TTS, i podaje rozwiązania częstych błędów.

How to integrate TTS into your application with ElevenLabs

Czym jest API Text to Speech?

API Text to Speech pozwala deweloperom programowo zamieniać tekst pisany w naturalnie brzmiące audio, bez hostowania własnego modelu TTS. Po zintegrowaniu API TTS z aplikacją wystarczy wysłać żądanie do API i odebrać audio, aby łatwo dodać do aplikacji warstwę głosową.

Najlepsze API Text to Speech, takie jak ElevenAPI, zapewniają szczegółową kontrolę nad brzmieniem końcowego audio — od wyboru głosu, który wypowiada fragment tekstu, po emocje, które przekazuje. W zależności od zastosowania aplikacji możesz też wybrać przetwarzanie wsadowe lub strumieniowe do tworzenia próbek audio.

Jak działa żądanie do API Text to Speech

Gdy wywołujesz API TTS, w tle zachodzi kilka kroków, które dostarczają audio.

Tak działa żądanie do API Text to Speech:

  1. Twoja aplikacja wysyła tekst do endpointu Text to Speech wraz z wybranym głosem i modelem. 
  2. API generuje mowę i zwraca audio w wybranym formacie wyjściowym, na przykład MP3.
  3. Twoja aplikacja odtwarza audio lub zapisuje je jako plik. 

Warto też pamiętać, że jeśli aplikacja działa w przeglądarce, żądanie należy wysyłać przez własny serwer, aby klucz API nigdy nie pojawił się w kodzie po stronie klienta.

TTS API flow: app sends text, receives audio, then plays or stores it; browser requests use a server.

Lista rzeczy potrzebnych przed integracją TTS z aplikacjami

Zanim zintegrujesz Text to Speech z aplikacjami, upewnij się, że masz:

  • Konto ElevenLabs. Możesz się zarejestrować w kilka minut. 
  • Terminal i edytor kodu.
  • Python 3 lub Node.js zainstalowane na komputerze, z którego pracujesz.
  • Sposób na odtworzenie otrzymanego audio.

Gdy masz to wszystko, możesz dodać TTS do aplikacji.

Before first request: ElevenLabs account, terminal/editor, Python or Node.js, and audio playback.

Jak zintegrować Text to Speech z aplikacją

Z ElevenAPI integracja API TTS z aplikacją powinna zająć tylko kilka minut. Jeśli masz już konto, możesz od razu przejść do kroków poniżej. Jeśli nie, pamiętaj, aby się zarejestrować i zacząć.

Kroki są następujące:

  1. Utwórz klucz API
  2. Zainstaluj SDK
  3. Wyślij pierwsze żądanie
  4. Uruchom je
Four-step guide to integrating ElevenLabs text-to-speech, with a CLI setup option.

Omówmy je bardziej szczegółowo.

Utwórz klucz API

Pobierz klucz API z panelu API ElevenLabs. Po kliknięciu „Create Key” możesz skonfigurować typ API, który chcesz utworzyć. W tym przypadku upewnij się, że TTS ma włączony dostęp („Access”).

Skopiuj klucz API i wklej go jako zmienną środowiskową w .env (lub bezpośrednio do konfiguracji aplikacji, zależnie od jej architektury). Przechowywanie go w pliku .env skutecznie chroni klucz, a skrypt może go wczytać w czasie działania.

ELEVENLABS_API_KEY=<your_api_key_here>

Wolisz, by konfiguracją zajął się agent kodujący? Wklej do niego: npx -y @elevenlabs/cli@latest onboard init. CLI ElevenLabs otworzy przeglądarkę, aby umożliwić logowanie, zapisze klucz w pliku env projektu i przeprowadzi agenta przez kolejne kroki. Do użycia npx potrzebny jest Node.js. Zobacz szybki start po szczegóły.

Zainstaluj SDK

Podczas konfiguracji API Text to Speech musisz zainstalować dwa główne pakiety. Pierwszy to SDK ElevenLabs, które obsłuży wywołanie API. Drugi to dotenv, który wczyta klucz API z pliku .env skonfigurowanego w kroku 1.

Jeśli pracujesz w CLI, zobacz naszą dokumentację API TTS, gdzie znajdziesz dokładniejsze instrukcje i dostępne opcje. 

Tak zainstalujesz SDK i dotenv dla API TTS w Pythonie i TypeScripcie.

Python

pip install elevenlabs
pip install python-dotenv

TypeScript

npm install @elevenlabs/elevenlabs-js
npm install dotenv
Comparison of Python and TypeScript SDK setup, with an HTTP endpoint for other languages.

Wyślij pierwsze żądanie

Następnie utwórz klienta. Klient to obiekt opakowujący ElevenAPI. Utwórz plik .py lub .mts, zależnie od języka programowania.

Na wynik wpływają cztery główne wartości:

  • ID głosu: W naszej Voice Library znajdziesz ponad 17 500 głosów do wyboru. Wybierz głos, który najlepiej pasuje do aplikacji lub zastosowania. W blokach kodu szybkiego startu poniżej używamy głosu „George” o ID „JBFqnCBsd6RMkjVDRZzb”.
  • Tekst: Ciąg tekstowy, który model TTS ElevenAPI ma zamienić w plik audio. 
  • ID modelu: Konkretny model wybrany do generowania audio. W przykładzie poniżej użyliśmy eleven_v4, ale możesz też wybrać dowolny z naszych modeli Text to Speech, jeśli lepiej pasuje do twojego zastosowania. Możesz na przykład wybrać Eleven Flash v2.5 (eleven_flash_v2_5 w polu ID modelu) ze względu na niskie opóźnienie.
  • Format wyjściowy: Określ kodowanie audio, które chcesz otrzymać z API TTS. Domyślnie będzie to mp3, ale możesz wybrać formaty takie jak ulaw lub pcm.

Tak wyglądają pliki API TTS w Pythonie i TypeScripcie. Oba poniższe przykłady używają modelu eleven_v4.

Text-to-speech request requires a voice ID, text, model ID, and output format.

Python

from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import os

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

audio = elevenlabs.text_to_speech.convert(
    text="The first move is what sets everything in motion.",
    voice_id="JBFqnCBsd6RMkjVDRZzb",  # "George" - browse voices at elevenlabs.io/app/voice-library
    model_id="eleven_v4",
    output_format="mp3_44100_128",
)

play(audio)

TypeScript

import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();
const audio = await elevenlabs.textToSpeech.convert(
	"JBFqnCBsd6RMkjVDRZzb", // "George" - browse voices at elevenlabs.io/app/voice-library
	{
		text: "The first move is what sets everything in motion.",
		modelId: "eleven_v4",
		outputFormat: "mp3_44100_128",
	},
);

await play(audio);

cURL

Możesz też wywołać endpoint z dowolnego języka obsługującego żądania HTTP. Ten przykład cURL wysyła ten sam tekst i zapisuje audio do pliku:

curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/JBFqnCBsd6RMkjVDRZzb?output_format=mp3_44100_128" --output speech.mp3 \
     -H "xi-api-key: $ELEVENLABS_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
  "text": "The first move is what sets everything in motion.",
  "model_id": "eleven_v4"
}'
Comparison of Python and TypeScript SDK setup, with an HTTP endpoint for other languages.

Uruchom je

Teraz możesz uruchomić plik API TTS. Wykonaj jedno z poniższych poleceń, zależnie od tego, czy piszesz w Pythonie, czy TypeScripcie.

Python

python example.py

TypeScript

npx tsx example.mts

Audio powinno odtworzyć się przez głośniki. W przypadku przykładu cURL otwórz zamiast tego plik speech.mp3.

Rozwiązywanie częstych błędów integracji TTS

Jeśli pierwsze żądanie się nie powiedzie, porównaj otrzymany kod statusu z poniższą listą możliwych błędów.

Status

Znaczenie

Co zrobić

400 lub 404

validation_error, invalid_request lub not_found: żądanie jest nieprawidłowe albo głos lub inny zasób nie istnieje

Popraw żądanie przed ponowną próbą. Pole param w błędzie wskazuje nieprawidłową wartość. Typowe przyczyny to nieprawidłowe ID głosu (invalid_voice_id lub voice_not_found dla nieistniejącego ID), nieobsługiwany model lub format wyjściowy albo zbyt długi tekst (text_too_long).

401, 402 lub 403

authentication_error, payment_required lub authorization_error: problem z kluczem API, środkami lub dostępem

W przypadku 401 sprawdź klucz API i nagłówek xi-api-key. Przy 402 dodaj środki (insufficient_credits). Przy 403 sprawdź, czy plan obejmuje tę funkcję lub model (feature_not_available lub model_access_denied).

429

rate_limit_error: przekroczono limit żądań (rate_limit_exceeded) lub limit równoległości (concurrent_limit_exceeded)

W przypadku limitu żądań ponów próbę z wykładniczym opóźnieniem. Przy limicie równoległości zaczekaj na zakończenie bieżących żądań przed wysłaniem nowych albo wybierz plan z wyższym limitem równoległości.

500 lub 503

internal_error lub service_unavailable: problem po stronie ElevenLabs, który powinien występować rzadko

Poczekaj chwilę i spróbuj ponownie. Skontaktuj się z pomocą, jeśli błąd 500 się powtarza.

Pełną listę błędów znajdziesz na stronie dokumentacji błędów. 

TTS API error guide maps status codes to causes and fixes.

Korzyści z integracji API Text to Speech

Dodanie interfejsu głosowego do aplikacji daje użytkownikom nowy sposób interakcji. Dla niektórych, na przykład osób z wadami wzroku, może to być jedyny praktyczny sposób korzystania z aplikacji.

Oto korzyści z integracji API TTS z aplikacją:

  • Dostępność: Mówione audio oferuje nowy sposób interakcji z aplikacją, dzięki czemu jest ona dostępna dla osób, które nie mogą łatwo czytać z ekranu.
  • Zaangażowanie: Funkcje czytania i słuchania pozwalają użytkownikom przyswajać treści podczas innych zajęć, co coraz częściej jest głównym sposobem przeglądania treści.
  • Doświadczenia voice-first: Mówione odpowiedzi dają chatbotom i przewodnikom w aplikacji naturalny sposób komunikacji z użytkownikami.
  • Zasięg wielojęzyczny: Eleven v4 obsługuje ponad 90 języków, więc integracja może docierać do odbiorców na całym świecie.

Zwłaszcza że konfiguracja jest prosta, integracja API TTS z aplikacją to skuteczny sposób, aby uczynić ją bardziej interaktywną i wyrazistą.

Wybór odpowiedniej metody integracji i modelu

ElevenAPI to jeden z najszybszych i najprostszych sposobów na dodanie głosu do aplikacji, ale w zależności od potrzeb możesz wybrać też inne metody.

Oto kilka metod integracji TTS do wyboru:

Metoda

Najlepsza do

Czego potrzebujesz

Synteza mowy w przeglądarce (Web Speech API)

Prostych prototypów w przeglądarce korzystających z lokalnych głosów

Tylko kod w przeglądarce

Aplikacji, w których zależy ci na spójnych, wysokiej jakości głosach i kontroli nad wynikiem

Klucz API oraz SDK lub żądanie HTTP

Integracji mowy z artykułami lub stronami internetowymi, tak jak w przypadku TIME.

Element embed lub wtyczka CMS

Dwukierunkowych rozmów głosowych

Agent skonfigurowany na platformie

Jeśli wybierzesz ElevenAPI, musisz też zdecydować, który model uwzględnić w żądaniu. Oto szybki przewodnik po dostępnych modelach TTS ElevenLabs:

Model

Najlepszy do

Języki

eleven_v4

Najbardziej ekspresyjnej mowy

90+

eleven_flash_v2_5

Zastosowań w czasie rzeczywistym, agentów i pracy na dużą skalę

32

eleven_multilingual_v2

Stabilnej narracji o wysokiej jakości

29

Możesz też wybrać spośród ponad 17 500 głosów w naszej Voice Library. Po prostu zamień przykładowe ID w fragmencie kodu na wybrane przez siebie.

Integration routes matched to use cases: Web Speech, TTS API, Audio Native, and ElevenAgents.

Popularne zastosowania API Text to Speech w aplikacji

Gdy pierwsze żądanie zadziała, to samo wywołanie może obsługiwać wiele funkcji. 

Oto przykłady użycia API TTS w aplikacji:

Jeśli chcesz tworzyć agentów głosowych prowadzących dwukierunkowe rozmowy, ElevenAgents stworzono właśnie do tego. Konfigurujesz i wdrażasz agenta na platformie, zamiast samodzielnie składać cały pipeline mowy. Poznaj ElevenAgents i dowiedz się więcej.

Dodaj API TTS do aplikacji z ElevenAPI

Integracja Text to Speech sprowadza się do czterech kroków: utworzenia klucza API, instalacji SDK, wysłania pierwszego żądania i uruchomienia go. To samo wywołanie działa w TypeScripcie, Pythonie i każdym innym języku, który obsługuje żądania HTTP. Możesz też wybrać model i głos pasujące do aplikacji.

Jeśli chcesz dodać TTS do aplikacji, zarejestruj się i wyślij dziś pierwsze żądanie z ElevenAPI albo dowiedz się więcej o API Text to Speech.

FAQ

Autor

Jack Limebear jest w zespole Growth, gdzie pisze teksty i tworzy strategie na bloga i stronę z insightami. Zanim dołączył do ElevenLabs, przez ponad dekadę prowadził strategie contentowe dla firm – od szybko rosnących startupów SaaS po spółki z listy Fortune 500. Ma tytuł magistra literatury angielskiej z Uniwersytetu Cambridge.

Podobne artykuły

Twórz z najwyższej jakości audio AI