अपना ट्रांसक्रिप्ट इस्तेमाल करें

अपने ट्रांसक्रिप्ट से डबिंग प्रोजेक्ट बनाएं और अपने अनुवाद दें।

कैसे करें गाइड · मानता है कि आप डबिंग प्रोजेक्ट बनाने से परिचित हैं, जैसा कि डबिंग क्विकस्टार्ट में दिखाया गया है।

अपना ट्रांसक्रिप्ट और अनुवाद देना केवल एंटरप्राइज़ वर्कस्पेस के लिए उपलब्ध है। एक्सेस के लिए सेल्स से संपर्क करें।

डिफ़ॉल्ट रूप से, डबिंग API आपके सोर्स मीडिया को ट्रांसक्राइब करता है और ट्रांसक्रिप्ट का हर टारगेट भाषा में मशीन अनुवाद करता है। अगर आपके पास पहले से सटीक ट्रांसक्रिप्ट है—सबटाइटल, स्क्रिप्ट या पेशेवर रूप से अनुवादित टेक्स्ट—तो आप उसे दे सकते हैं। इस गाइड में ट्रांसक्रिप्ट फ़ाइल फ़ॉर्मैट, ट्रांसक्रिप्ट से प्रोजेक्ट बनाने का तरीका और भाषा जोड़ते समय अपने अनुवाद देने का तरीका बताया गया है।

ट्रांसक्रिप्ट फ़ाइल फ़ॉर्मैट

ट्रांसक्रिप्ट एक JSON फ़ाइल होती है, जिसमें एक ही टॉप-लेवल segments ऐरे होता है। हर सेगमेंट एक कथन है: बोला गया टेक्स्ट, उसका शुरू और खत्म होने का समय और वैकल्पिक रूप से बोलने वाला व्यक्ति।

transcript.json
{
"segments": [
{
"external_id": "line_0",
"speaker_id": "speaker_0",
"start_s": 0.0,
"end_s": 14.5,
"text": "With my soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditation guides, or adding an intimate feel to your narrative projects."
}
]
}
फ़ील्डज़रूरीविवरण
textहांसेगमेंट के दौरान बोला गया टेक्स्ट।
start_sहांसेगमेंट का शुरू होने का समय, सेकंड में।
end_sहांसेगमेंट का खत्म होने का समय, सेकंड में।
speaker_idनहींएक ही स्पीकर द्वारा बोले गए सेगमेंट को समूहित करने वाला आइडेंटिफ़ायर, ताकि हर स्पीकर को एक जैसी वॉइस में डब किया जाए। जिन सेगमेंट में यह नहीं है, वे एक डिफ़ॉल्ट स्पीकर शेयर करते हैं।
external_idनहींसेगमेंट के लिए आपका अपना आइडेंटिफ़ायर, अधिकतम 128 कैरेक्टर का और ट्रांसक्रिप्ट में यूनिक। अनुवादों की कुंजी के रूप में इस्तेमाल होता है और हर ट्रांसक्रिप्ट रीड पर वापस मिलता है।
translationनहींसेगमेंट का अनुवादित टेक्स्ट, जिसका उपयोग target_language के ज़रिए बनी भाषा टारगेट को सीड करने के लिए होता है। अगर किसी एक सेगमेंट में यह है, तो सभी में होना चाहिए।

सेगमेंट नियम

प्रोजेक्ट बनाते समय ट्रांसक्रिप्ट को वैलिडेट किया जाता है:

  • सेगमेंट start_s के क्रम में होने चाहिए।
  • एक सेगमेंट की अवधि 0.1 से 25 सेकंड के बीच होनी चाहिए और end_s, start_s से बड़ा होना चाहिए।
  • एक ही speaker_id वाले सेगमेंट ओवरलैप नहीं होने चाहिए, हालांकि वे एंडपॉइंट पर मिल सकते हैं। अलग-अलग स्पीकर के सेगमेंट एक साथ होने वाली स्पीच दिखाने के लिए ओवरलैप हो सकते हैं।
  • ट्रांसक्रिप्ट में अधिकतम 20,000 सेगमेंट हो सकते हैं और फ़ाइल अधिकतम 4 MiB की हो सकती है।

लंबे सेगमेंट के बजाय छोटे सेगमेंट चुनें: जहां एक सेकंड या उससे लंबा विराम हो, वहां वाक्य को तोड़ें। सेगमेंट सीमाएं तय करती हैं कि डब किया गया ऑडियो सोर्स के साथ कैसे टाइम किया जाएगा, इसलिए सटीक और प्राकृतिक ब्रेक वाला ट्रांसक्रिप्ट बेहतर सिंक्रनाइज़्ड डब बनाता है।

अपने ट्रांसक्रिप्ट से प्रोजेक्ट बनाएं

प्रोजेक्ट बनाते समय ट्रांसक्रिप्ट फ़ाइल पास करें। ट्रांसक्रिप्ट देने पर source_language ज़रूरी है, क्योंकि सोर्स मीडिया अपने-आप ट्रांसक्राइब नहीं होता। भाषाएं BCP-47 टैग के रूप में दी जाती हैं, उदाहरण के लिए es या fr-CA। स्वीकार किए गए सभी मानों के लिए समर्थित भाषाएं और बोलियां देखें।

import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))
with open("transcript.json", "rb") as transcript:
project = elevenlabs.dubbing.project.create(
source_url="https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3",
source_language="en",
transcript=transcript,
)
print(project.project_id)

प्रोजेक्ट को डब किए जाने से पहले भी सोर्स मीडिया इन्जेस्ट करना होता है, इसलिए क्विकस्टार्ट में दिखाए अनुसार, उसका स्टेटस ready होने तक पोल करें। आपके सेगमेंट जैसे हैं वैसे ही इस्तेमाल होते हैं; कोई ऑटोमैटिक ट्रांसक्रिप्शन नहीं चलता।

अपने अनुवाद दें

भाषा टारगेट जोड़ते समय, मशीन अनुवाद के बजाय अपने अनुवाद इस्तेमाल करने के लिए translations मैप पास करें। मैप में हर सोर्स सेगमेंट के external_id को कुंजी बनाया जाता है, या अगर आपने वह नहीं दिया है तो उसके इंटरनल सेगमेंट id को। इसमें हर सोर्स सेगमेंट ठीक एक बार शामिल होना चाहिए।

project_id = "proj_1601kwkyxp0hfzvtmyxwqxx6mcy3"
language = elevenlabs.dubbing.project.language.create(
project_id,
target_language="fr",
translations={
"line_0": "Avec mon accent américain doux et murmuré, je suis le choix idéal pour créer du contenu ASMR, des guides de méditation, ou pour apporter une touche d'intimité à vos projets narratifs.",
},
)

हर भाषा टारगेट के लिए एक create कॉल होता है, इसलिए जिस भी भाषा में आप डब करना चाहते हैं, उसके लिए यह रिक्वेस्ट दोहराएं। translations मैप में अधिकतम 20,000 एंट्री हो सकती हैं और टेक्स्ट का कुल आकार अधिकतम 4 MiB हो सकता है।

अगर आपके सेगमेंट में external_id नहीं है, तो हर सेगमेंट का इंटरनल id पाने के लिए सोर्स ट्रांसक्रिप्ट पढ़ें और उन्हें कुंजी के रूप में इस्तेमाल करें:

transcript = elevenlabs.dubbing.project.transcript.get(project_id)
for segment in transcript.segments:
print(segment.id, segment.text)

प्रोजेक्ट बनाते समय अनुवाद सीड करें

एक टारगेट भाषा के लिए, आप अलग translations मैप देने के बजाय ट्रांसक्रिप्ट फ़ाइल में हर सेगमेंट पर translation शामिल कर सकते हैं और प्रोजेक्ट बनाते समय target_language पास कर सकते हैं। भाषा टारगेट आपके अनुवादों के साथ क्यू में बनाया जाता है और प्रोजेक्ट तैयार होने पर जनरेट होना शुरू करता है।

transcript.json
{
"segments": [
{
"external_id": "line_0",
"speaker_id": "speaker_0",
"start_s": 0.0,
"end_s": 14.5,
"text": "With my soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditation guides, or adding an intimate feel to your narrative projects.",
"translation": "Avec mon accent américain doux et murmuré, je suis le choix idéal pour créer du contenu ASMR, des guides de méditation, ou pour apporter une touche d'intimité à vos projets narratifs."
}
]
}

क्वालिटी से जुड़ी बातें

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

अगले चरण