Hoppa till navigering

Streaming

Lär dig hur du streamar ljud i realtid från ElevenLabs API med chunked transfer encoding

ElevenLabs API har stöd för ljudstreaming i realtid för utvalda endpoints och returnerar råa ljudbyte (t.ex. MP3-data) direkt över HTTP med chunked transfer encoding. Det gör att klienter kan bearbeta eller spela upp ljud stegvis medan det genereras.

Våra officiella bibliotek för Node och Python innehåller verktyg som förenklar hanteringen av denna kontinuerliga ljudström.

Streaming stöds för Text to Speech API, Voice Changer API och Audio Isolation API. Det här avsnittet fokuserar på hur streaming fungerar för förfrågningar till Text to Speech API.

I Python ser en streamingförfrågan ut så här:

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)

I Node / Typescript ser en streamingförfrågan ut så här:

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();