Streaming

Aprenda a transmitir áudio em tempo real da API da ElevenLabs usando codificação de transferência em blocos

A API da ElevenLabs oferece suporte a streaming de áudio em tempo real para endpoints selecionados, retornando bytes brutos de áudio (por exemplo, dados MP3) diretamente por HTTP usando codificação de transferência em blocos. Isso permite que os clientes processem ou reproduzam o áudio gradualmente à medida que ele é gerado.

Nossas bibliotecas oficiais para Node e Python incluem utilitários para simplificar o processamento desse fluxo contínuo de áudio.

O streaming é compatível com a API Text to Speech, a API Modificador de Voz IA e a API de Isolamento de Áudio. Esta seção explica como o streaming funciona para solicitações feitas à API Text to Speech.

Em Python, uma solicitação de streaming é assim:

from elevenlabs import stream
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs()
audio_stream = elevenlabs.text_to_speech.stream(
text="This is a test",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_multilingual_v2"
)
# option 1: play the streamed audio locally
stream(audio_stream)
# option 2: process the audio bytes manually
for chunk in audio_stream:
if isinstance(chunk, bytes):
print(chunk)

No Node / Typescript, uma solicitação de streaming é assim:

import { ElevenLabsClient, stream } from "@elevenlabs/elevenlabs-js";
import { Readable } from "stream";
const elevenlabs = new ElevenLabsClient();
async function main() {
const audioStream = await elevenlabs.textToSpeech.stream("JBFqnCBsd6RMkjVDRZzb", {
text: "This is a test",
modelId: "eleven_v4",
});
// option 1: play the streamed audio locally
await stream(Readable.from(audioStream));
// option 2: process the audio manually
for await (const chunk of audioStream) {
console.log(chunk);
}
}
main();