> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Motore vocale

## Panoramica

ElevenLabs Speech Engine aggiunge funzionalità vocali a qualsiasi agente di chat. ElevenLabs gestisce la conversione da parlato a testo e da testo a parlato, mentre il tuo server fornisce la logica dell'LLM. L'SDK gestisce il ciclo di vita della connessione, l'alternanza dei turni e il rilevamento delle interruzioni, così puoi concentrarti sul comportamento del tuo agente.

#### [Guida rapida](/docs/it/eleven-api/guides/cookbooks/speech-engine)

Crea un agente vocale con l'SDK di ElevenLabs.

#### [Riferimento SDK JavaScript](/docs/it/eleven-api/resources/libraries/speech-engine/javascript-sdk-reference)

Classi, metodi ed eventi per l'SDK JavaScript.

#### [Riferimento SDK Python](/docs/it/eleven-api/resources/libraries/speech-engine/python-sdk-reference)

Classi, metodi ed eventi per l'SDK Python.

## Come funziona

Speech Engine collega il tuo server a ElevenLabs tramite WebSocket. Ogni connessione rappresenta una conversazione.

```mermaid
sequenceDiagram
    participant Browser
    participant ElevenLabs

    box Your Server
        participant SDK as Speech Engine SDK
        participant LLM
    end

    Browser->>ElevenLabs: User speaks (audio)
    ElevenLabs->>SDK: Transcript (WebSocket)
    SDK->>LLM: Conversation history
    LLM->>SDK: Streamed response
    SDK->>ElevenLabs: Text chunks
    ElevenLabs->>Browser: Agent speaks (audio)
```

1. Un utente parla nel browser. ElevenLabs acquisisce l'audio e lo trascrive.
2. La trascrizione viene inviata al tuo server insieme alla cronologia completa della conversazione.
3. Il tuo server passa la trascrizione al tuo LLM e trasmette la risposta in streaming.
4. ElevenLabs converte il testo in parlato e lo riproduce nel browser.

## Quando usare Speech Engine

Speech Engine è progettato per gli sviluppatori che vogliono usare il proprio LLM e controllare la logica della conversazione sul proprio server. Usalo quando devi:

* Aggiungere la voce a un agente di chat testuale esistente
* Usare un LLM specifico, un modello sottoposto a fine-tuning o una pipeline di inferenza personalizzata
* Mantenere il pieno controllo sull'instradamento delle conversazioni, la gestione del contesto e le chiamate degli strumenti
* Integrare la voce in un'applicazione server esistente (Express, FastAPI, ecc.)

Se vuoi una soluzione completamente fornita da ElevenLabs, che mette a disposizione LLM, knowledge base e strumenti, usa invece [ElevenAgents](/docs/it/eleven-agents/overview).

## Funzionalità principali

* **Qualsiasi LLM** - usa OpenAI, Anthropic, Google Gemini o qualsiasi modello che produca testo. L'SDK estrae automaticamente il testo dai formati di streaming di OpenAI, Anthropic e Gemini.
* **Gestione delle interruzioni** - quando l'utente parla durante una risposta, l'SDK annulla automaticamente la richiesta LLM in corso tramite un `AbortSignal` (TypeScript) o l'annullamento dell'attività (Python).
* **Streaming** - le risposte vengono trasmesse in streaming al browser mentre sono generate. Passa una stringa, un iterable asincrono o un oggetto di streaming LLM nativo.
* **Alternanza dei turni** - l'SDK gestisce i turni della conversazione, quindi il tuo server deve solo rispondere alle trascrizioni.

## Allowlist degli IP

Se il tuo server è protetto da un firewall o usa controlli di accesso basati su IP, puoi aggiungere all'allowlist gli IP statici in uscita da cui provengono le connessioni WebSocket di ElevenLabs. Consulta [Allowlist degli IP](/docs/it/eleven-api/resources/ip-allowlisting) per l'elenco completo degli indirizzi IP.

> **Tip**
>
> L'allowlist degli IP assicura che il tuo server accetti connessioni WebSocket solo dai sistemi di
> ElevenLabs.

## Domande frequenti

#### Quali LLM sono supportati?

Qualsiasi LLM che produca testo. L'SDK include l'estrazione dello streaming integrata per OpenAI
(Responses API e Chat Completions API), Anthropic Messages API e Google Gemini API. Per altri
provider, passa una stringa semplice o un iterable asincrono di blocchi di stringhe.

#### Qual è la differenza tra Speech Engine ed ElevenAgents?

ElevenAgents è una piattaforma completamente fornita da ElevenLabs, che mette a disposizione LLM,
knowledge base e strumenti. Speech Engine è pensato per gli sviluppatori che vogliono usare il
proprio LLM e controllare la logica della conversazione sul proprio server.

#### Quali framework server sono supportati?

In TypeScript, puoi collegare Speech Engine a qualsiasi server HTTP Node.js (Express, Fastify o
semplice `http.createServer()`), oppure eseguire un server WebSocket autonomo. In Python, l'SDK fornisce
un server autonomo tramite `engine.serve()`, oppure puoi integrarlo con FastAPI, Starlette o qualsiasi
framework ASGI usando `engine.create_session()`.