स्ट्रीमिंग

chunked transfer encoding का उपयोग करके ElevenLabs API से रीयल-टाइम ऑडियो स्ट्रीम करना जानें

ElevenLabs API चुनिंदा एंडपॉइंट्स के लिए रीयल-टाइम ऑडियो स्ट्रीमिंग का समर्थन करता है। यह chunked transfer encoding का इस्तेमाल करके raw ऑडियो bytes (जैसे MP3 data) सीधे HTTP पर लौटाता है। इससे क्लाइंट्स ऑडियो बनते समय उसे धीरे-धीरे प्रोसेस या चला सकते हैं।

हमारी आधिकारिक Node और Python लाइब्रेरीज़ में इस लगातार चलने वाली ऑडियो स्ट्रीम को संभालना आसान बनाने वाली utilities शामिल हैं।

टेक्स्ट टू स्पीच API, वॉइस चेंजर API और ऑडियो आइसोलेशन API के लिए स्ट्रीमिंग समर्थित है। यह सेक्शन टेक्स्ट टू स्पीच API पर किए गए अनुरोधों के लिए स्ट्रीमिंग के काम करने के तरीके पर केंद्रित है।

Python में, स्ट्रीमिंग अनुरोध ऐसा दिखता है:

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)

Node / Typescript में, स्ट्रीमिंग अनुरोध ऐसा दिखता है:

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