Next.JS
Dowiedz się, jak stworzyć aplikację internetową umożliwiającą rozmowy głosowe z agentami AI ElevenLabs
Ten poradnik pokaże ci, jak stworzyć klienta webowego, który może wchodzić w interakcję z agentem ElevenLabs. Dowiesz się, jak wdrożyć rozmowy głosowe w czasie rzeczywistym, aby użytkownicy mogli rozmawiać z agentem AI, który słucha, rozumie i naturalnie odpowiada dzięki syntezie mowy.
Czego potrzebujesz
- Agenta ElevenLabs utworzonego zgodnie z tym poradnikiem
npmzainstalowanego lokalnie.- W tym poradniku użyjemy Typescript, ale jeśli wolisz, możesz użyć Javascript.
Szukasz kompletnego przykładu? Zobacz nasze demo Next.js na GitHubie.

Konfiguracja
Wdróż ElevenLabs Agents
(Opcjonalnie) Uwierzytelnij agentów podpisanym adresem URL
Ten krok uwierzytelniania jest wymagany tylko dla prywatnych agentów. Jeśli używasz publicznego agenta,
możesz pominąć tę sekcję i bezpośrednio użyć agentId w wywołaniu startSession.
Jeśli używasz prywatnego agenta wymagającego uwierzytelniania, musisz wygenerować podpisany adres URL na swoim serwerze. Ta sekcja wyjaśnia, jak to skonfigurować.
Czego potrzebujesz
- Konta ElevenLabs i klucza API. Zarejestruj się tutaj.
Utwórz zmienne środowiskowe
Utwórz plik .env.local w głównym katalogu projektu:
- Dodaj
.env.localdo pliku.gitignore, aby nie przesłać przypadkowo poufnych danych uwierzytelniających do systemu kontroli wersji. - Nigdy nie ujawniaj klucza API w kodzie po stronie klienta. Zawsze przechowuj go bezpiecznie na serwerze.
Zaktualizuj komponent Conversation
Zmień plik conversation.tsx, aby pobierał i używał podpisanego adresu URL:
Podpisane adresy URL wygasają po krótkim czasie. Jednak rozmowy rozpoczęte przed wygaśnięciem będą trwać bez przerw. W środowisku produkcyjnym wdroż obsługę błędów i odświeżanie adresów URL przed rozpoczęciem nowych rozmów.
Kolejne kroki
Masz już podstawową implementację, więc możesz:
- Dodać wizualne informacje o aktywności głosowej
- Wdrożyć obsługę błędów i logikę ponawiania prób
- Dodać widok historii czatu
- Dostosować UI do swojej marki
Więcej zaawansowanych funkcji i opcji dostosowania znajdziesz w pakiecie @elevenlabs/react.
