नेविगेशन पर जाएँ

कई अनुरोधों को जोड़ना

इस गाइड में जानें कि कई टेक्स्ट हिस्सों/जनरेशन के दौरान वॉइस प्रोसोडी कैसे बनाए रखें।

कैसे करें गाइड · मानता है कि आपने ElevenAPI क्विकस्टार्ट पूरा कर लिया है।

बड़े टेक्स्ट को ऑडियो में बदलते समय, आपको एक हिस्से से दूसरे हिस्से में प्रोसोडी में अचानक बदलाव दिख सकता है। कई पैराग्राफ़ या सेक्शन वाले टेक्स्ट को बदलते समय यह खास तौर पर ध्यान देने योग्य हो सकता है। कई हिस्सों में वॉइस प्रोसोडी बनाए रखने के लिए, आप Request Stitching सुविधा का इस्तेमाल कर सकते हैं।

यह सुविधा आपको पहले से जनरेट किए गए और आगे जनरेट होने वाले कंटेंट का संदर्भ देने देती है, जिससे पूरे टेक्स्ट में एक जैसी वॉइस और प्रोसोडी बनाए रखने में मदद मिलती है।

Request Stitching eleven_v3 मॉडल के लिए उपलब्ध नहीं है।

यहाँ Request Stitching के बिना एक उदाहरण है:

और Request Stitching के साथ वही उदाहरण:

Request Stitching का इस्तेमाल कैसे करें

ElevenLabs SDKs का इस्तेमाल करते समय Request Stitching सबसे आसान होता है।

यह गाइड मानती है कि आपने अपनी API कुंजी और SDK सेट अप कर ली है। अगर नहीं की है, तो पहले क्विकस्टार्ट पूरा करें।

1

कई अनुरोधों को एक साथ जोड़ें

अपनी पसंद की भाषा के अनुसार example.py या example.mts नाम की नई फ़ाइल बनाएं और उसमें यह कोड जोड़ें:

आप previous_request_ids में अधिकतम 3 अनुरोध IDs दे सकते हैं। इससे ज़्यादा वाले अनुरोधों पर 400 त्रुटि मिलती है। सबसे हाल की 3 IDs पास करें, जिसमें मौजूदा अनुरोध के सबसे नज़दीकी अनुरोध को आखिर में रखें।

import os
from io import BytesIO
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
from dotenv import load_dotenv
load_dotenv()
ELEVENLABS_API_KEY = os.getenv("ELEVENLABS_API_KEY")
elevenlabs = ElevenLabs(
api_key=ELEVENLABS_API_KEY,
)
paragraphs = [
"The advent of technology has transformed countless sectors, with education ",
"standing out as one of the most significantly impacted fields.",
"In recent years, educational technology, or EdTech, has revolutionized the way ",
"teachers deliver instruction and students absorb information.",
"From interactive whiteboards to individual tablets loaded with educational software, ",
"technology has opened up new avenues for learning that were previously unimaginable.",
"One of the primary benefits of technology in education is the accessibility it provides.",
]
request_ids = []
audio_buffers = []
for paragraph in paragraphs:
# Usually we get back a stream from the convert function, but with_raw_response is
# used to get the headers from the response
with elevenlabs.text_to_speech.with_raw_response.convert(
text=paragraph,
voice_id="T7QGPtToiqH4S8VlIkMJ",
model_id="eleven_v4",
# The API accepts at most 3 previous request IDs
previous_request_ids=request_ids[-3:]
) as response:
request_ids.append(response._response.headers.get("request-id"))
# response._response.headers also contains useful information like 'character-cost',
# which shows the cost of the generation in characters.
audio_data = b''.join(chunk for chunk in response.data)
audio_buffers.append(BytesIO(audio_data))
combined_stream = BytesIO(b''.join(buffer.getvalue() for buffer in audio_buffers))
play(combined_stream)
2

कोड चलाएं

python example.py

आपको संयुक्त रूप से जोड़ा गया ऑडियो चलता हुआ सुनाई देना चाहिए।

अक्सर पूछे जाने वाले सवाल

कंडीशनिंग के लिए पिछले अनुरोध की अनुरोध IDs इस्तेमाल करने के लिए, उस अनुरोध का पूरी तरह प्रोसेस होना ज़रूरी है। स्ट्रीमिंग के मामले में, इसका मतलब है कि रिस्पॉन्स बॉडी से ऑडियो को पूरी तरह पढ़ना होगा।

फ़र्क इस्तेमाल किए गए मॉडल, वॉइस और वॉइस सेटिंग्स पर निर्भर करता है।

अनुरोध IDs दो घंटे से पुरानी नहीं होनी चाहिए।

हाँ, जब तक आप अधिक गोपनीयता आवश्यकताओं वाले एंटरप्राइज़ यूज़र नहीं हैं।

अगले चरण