Next.JS
Questo tutorial ti guiderà nella creazione di un client web in grado di interagire con un agente ElevenLabs. Imparerai a implementare conversazioni vocali in tempo reale, permettendo agli utenti di parlare con un agente IA in grado di ascoltare, comprendere e rispondere in modo naturale tramite sintesi vocale.
Cosa ti serve
- Un agente ElevenLabs creato seguendo questa guida
npminstallato sul tuo sistema locale.- Per questo tutorial useremo Typescript, ma puoi usare Javascript se preferisci.
Cerchi un esempio completo? Dai un’occhiata alla nostra demo Next.js su GitHub.

Configurazione
Implementa gli agenti ElevenLabs
(Facoltativo) Autentica gli agenti con un URL firmato
Questo passaggio di autenticazione è necessario solo per gli agenti privati. Se usi un agente pubblico,
puoi saltare questa sezione e usare direttamente agentId nella chiamata startSession.
Se usi un agente privato che richiede l’autenticazione, dovrai generare un URL firmato dal tuo server. Questa sezione spiega come configurarlo.
Cosa ti serve
- Un account ElevenLabs e una chiave API. Registrati qui.
Crea le variabili d'ambiente
Crea un file .env.local nella root del progetto:
- Assicurati di aggiungere
.env.localal file.gitignoreper evitare di eseguire accidentalmente il commit di credenziali sensibili nel controllo versione. - Non esporre mai la tua chiave API nel codice lato client. Conservala sempre al sicuro sul server.
Crea una route API
Crea un nuovo file app/api/get-signed-url/route.ts:
Aggiorna il componente Conversation
Modifica il tuo conversation.tsx per recuperare e usare l’URL firmato:
Gli URL firmati scadono dopo un breve periodo. Tuttavia, le conversazioni avviate prima della scadenza continueranno senza interruzioni. In un ambiente di produzione, implementa una gestione degli errori e una logica di aggiornamento dell’URL adeguate per avviare nuove conversazioni.
Passaggi successivi
Ora che hai un’implementazione di base, puoi:
- Aggiungere feedback visivo per l’attività vocale
- Implementare la gestione degli errori e la logica di ripetizione
- Aggiungere una visualizzazione della cronologia della chat
- Personalizzare l’interfaccia utente in base al tuo brand
Per funzionalità più avanzate e opzioni di personalizzazione, consulta il pacchetto @elevenlabs/react.
