Inviare audio generato tramite Twilio
Guida pratica · Presuppone che tu abbia completato il quickstart di ElevenAPI e disponga di un account Twilio.
In questa guida scoprirai come inviare un messaggio generato dall’IA tramite una chiamata telefonica usando Twilio ed ElevenLabs. Questo processo ti permette di inviare messaggi vocali di alta qualità direttamente ai tuoi chiamanti.
Crea gli account Twilio e ngrok
Per questa guida useremo Twilio e ngrok, quindi crea i relativi account.
Crea il server con Express
Inizializza il progetto
Crea una nuova cartella per il progetto
Installa le dipendenze
Installa le dipendenze di sviluppo
Crea i file
Comprendere il codice
Gestire la chiamata in arrivo
Quando chiami il tuo numero, Twilio effettua una richiesta POST al tuo endpoint in /call/incoming.
Poi usiamo twiml.connect per indicare a Twilio che vogliamo gestire la chiamata tramite il nostro websocket, impostando l’URL sul nostro endpoint /call/connection.
Creare il Text to Speech
Qui ascoltiamo i messaggi che Twilio invia al nostro endpoint websocket. Quando riceviamo un evento del messaggio start, generiamo l’audio usando l’SDK TypeScript di ElevenLabs.
Inviare il messaggio
Dopo aver ricevuto l’audio da ElevenLabs, lo convertiamo in un array buffer e lo inviamo a Twilio tramite il websocket.
Indirizza ngrok alla tua applicazione
Twilio richiede un URL accessibile pubblicamente. Useremo ngrok per inoltrare la porta locale della nostra applicazione ed esporla come URL pubblico.
Esegui il seguente comando nel terminale:
Copia il dominio ngrok (senza https://) da usare nelle variabili d’ambiente.
Aggiorna le variabili d’ambiente
Aggiorna il file .env con il dominio ngrok e la chiave API di ElevenLabs.
Avvia l’applicazione
Esegui il seguente comando per avviare l’app:
Configura Twilio
Segui le guide di Twilio per creare un nuovo numero. Dopo aver creato il numero, vai alla scheda “Configure” in Phone Numbers -> Manage -> Active numbers.
Nella sezione “A call comes in”, inserisci l’URL completo della tua applicazione (assicurati di aggiungere il path /call/incoming):
Ad es. https://***ngrok.app/call/incoming
Effettua una chiamata telefonica
Chiama il tuo numero. Dovresti sentire un messaggio con una voce di ElevenLabs.
Suggerimenti per il deployment in produzione
Quando esegui l’applicazione in produzione, assicurati di impostare la variabile d’ambiente SERVER_DOMAIN su quella del tuo server. Ricordati anche di aggiornare l’URL in Twilio affinché punti al server di produzione.
Conclusione
Ora dovresti avere una conoscenza di base dell’integrazione di Twilio con le voci di ElevenLabs. Per ulteriori domande o suggerimenti su come migliorare questo articolo del blog, seleziona pure il pulsante “Suggest edits” o “Raise issue” qui sotto.