Referência do SDK Python
Referência do SDK Python
Classes, métodos e eventos do SDK Python do Speech Engine.
Esta página documenta a API pública do SDK Python do Speech Engine (elevenlabs).
Como obter um recurso do Speech Engine
Recupere um SpeechEngineResource pelo ID do mecanismo. O objeto retornado oferece métodos para iniciar um servidor, verificar solicitações ou criar sessões individuais.
SpeechEngineResource
Propriedades
serve
Inicia um servidor WebSocket independente. Bloqueia até ser interrompido.
Desativar a autenticação
Por padrão, serve() verifica o cabeçalho X-Elevenlabs-Speech-Engine-Authorization em todas as conexões recebidas. Se o servidor estiver atrás de uma camada de infraestrutura que já restringe o tráfego recebido à ElevenLabs (geralmente uma lista de permissão de IPs limitada aos intervalos de saída da ElevenLabs), você pode ignorar a verificação de JWT passando disable_auth=True:
Quando a autenticação está desativada, o servidor aceita qualquer cliente que consiga acessá-lo e emite um UserWarning na inicialização.
Use disable_auth=True somente se houver uma lista de permissão de IPs, valores de cabeçalho personalizados ou uma restrição equivalente
no nível da rede antes do servidor. Sem isso, qualquer pessoa na internet pode abrir uma
sessão e consumir sua capacidade computacional e sua cota de LLM downstream.
verify_request
Verifica se uma solicitação recebida é originada da API Speech Engine da ElevenLabs. Verifica o cabeçalho X-Elevenlabs-Speech-Engine-Authorization em busca de um JWT válido assinado com o hash SHA-256 da sua chave de API.
Necessário apenas quando você mesmo gerencia a atualização do WebSocket. Ao usar serve(), a verificação é realizada automaticamente (a menos que disable_auth=True tenha sido definido).
Retorna: bool — True se a solicitação for válida.
create_session
Encapsula um WebSocket aceito em uma SpeechEngineSession. Use isso para integrações personalizadas de servidor (por exemplo, FastAPI, Starlette ou gerenciamento manual de WebSocket).
Retorna: SpeechEngineSession
SpeechEngineSession
Encapsula uma única conexão WebSocket. Cada conexão representa uma conversa. A sessão emite eventos para transcrições e mudanças no ciclo de vida, além de oferecer métodos para enviar respostas do LLM de volta.
Quando uma nova transcrição chega, o manipulador da transcrição anterior é cancelado automaticamente, interrompendo qualquer chamada de LLM em andamento.
Propriedades
on
Registra um manipulador para um evento. Retorna a sessão para encadeamento.
off
Remove um manipulador registrado anteriormente.
once
Registra um manipulador que é executado uma vez e depois é removido.
send_response
Envia uma resposta do LLM de volta à API Speech Engine para síntese de texto em fala. Deve ser chamado dentro de um manipulador on_transcript. Chamá-lo fora de um manipulador emite um aviso e retorna sem enviar nada.
O SDK detecta e extrai automaticamente texto dos seguintes formatos de stream de LLM:
run
Executa o loop de recebimento até que o WebSocket seja fechado. Este é o principal ponto de entrada após criar uma sessão manualmente com create_session().
close
Fecha a sessão e a conexão WebSocket subjacente.
Callbacks
Os argumentos nomeados passados a serve(). Todos os callbacks são opcionais. Os manipuladores podem ser funções síncronas ou assíncronas (corrotinas).
Eventos
Ao usar session.on() diretamente em vez de callbacks, estes são os nomes dos eventos e as assinaturas de seus manipuladores.
Constantes de nomes de eventos estão disponíveis para uso com segurança de tipos:
ConversationMessage
Uma única mensagem no histórico da conversa. A transcrição completa é passada a on_transcript em cada turno.
Protocolo de comunicação
Para referência, estas são as mensagens JSON trocadas pela conexão WebSocket. O SDK gerencia a serialização e a desserialização automaticamente.