अपनी टीम का टेम्प्लेट चलाएं
अपने एप्लिकेशन से ElevenCreative Flows में प्रकाशित टेम्प्लेट कॉल करें।
कैसे करें गाइड · मानता है कि आपने टेम्प्लेट्स क्विकस्टार्ट पूरा कर लिया है।
यह गाइड आपकी टीम के बनाए टेम्प्लेट को चलाने के बारे में है: उसका कोड कॉपी करना, हर तरह का इनपुट भेजना, नतीजा पाने वाले webhooks चुनना, संस्करण पिन करना और आउटपुट्स पढ़ना।
शुरू करने से पहले
- टेम्प्लेट आपके वर्कस्पेस के साथ शेयर किया गया है। इसका लेखक टेम्प्लेट की शेयरिंग सेटिंग्स में Workspace के तहत यह तय करता है; Just me के रूप में शेयर किया गया टेम्प्लेट सिर्फ़ उसका लेखक चला सकता है।
- आपके वर्कस्पेस में टेम्प्लेट रन के लिए subscribed webhook है। Image & Video webhooks गाइड में शुरू करने से पहले इसे सेट अप करने का तरीका है।
- आपका वर्कस्पेस Pro प्लान या उससे ऊपर के प्लान पर है और आपकी API कुंजी को Image & Video अनुमति मिली हुई है।
टेम्प्लेट का कोड कॉपी करें
ElevenLabs ऐप में टेम्प्लेट खोलें और उसका API टैब चुनें। Flows में, टेम्प्लेट का लेखक टेम्प्लेट के साइडबार में API बटन से यही कोड खोल सकता है।
टैब टेम्प्लेट के प्रकाशित इनपुट्स और आउटपुट्स से अपने स्निपेट्स बनाता है। Choose how to get the result के तहत Webhook चुनें, फिर कोड के ऊपर Python या TypeScript चुनें। टैब एक Start a run स्निपेट और एक Handle the result स्निपेट दिखाता है। Start a run को वहां कॉपी करें जहाँ आपका एप्लिकेशन रन शुरू करता है और Handle the result को अपने webhook हैंडलर में कॉपी करें। Start a run का हर प्लेसहोल्डर एक इनपुट के लिए होता है और Handle the result हर आउटपुट को उसकी id से पढ़ता है।
जब टेम्प्लेट ऐसे मॉडल का इस्तेमाल करता है जिसे API उपलब्ध नहीं कराता, टैब चेतावनी देता है। अगर कोई प्रकाशित संस्करण API के ज़रिए नहीं चल सकता, तो स्निपेट्स नहीं दिखते; अगर सिर्फ़ सबसे नया संस्करण नहीं चल सकता, तो स्निपेट्स चल सकने वाला सबसे नया संस्करण चलाते हैं। Flows में, लेखक चेतावनी में Show on canvas चुनकर उन नोड्स को हाइलाइट करता है, हर नोड को उपलब्ध मॉडल पर स्विच करता है और फिर से प्रकाशित करता है।
हर इनपुट भेजें
जिस संस्करण को आप चलाते हैं, उसके हर इनपुट को एक वैल्यू देनी होती है, जिसकी कुंजी इनपुट की id होती है। वैल्यू का रूप इनपुट के प्रकार पर निर्भर करता है:
object प्रकार के इनपुट अभी API से नहीं भेजे जा सकते; API टैब उनके बारे में चेतावनी देता है।
इनपुट ids दोनों SDKs में वही स्पेलिंग रखती हैं जो टेम्प्लेट उन्हें देता है; सिर्फ़ रेफरेंस के फ़ील्ड्स, जैसे assetId, TypeScript में camelCase होते हैं।
डिकोड होने के बाद base64 डेटा 25 MB तक सीमित होता है और रन के बाद रखा नहीं जाता। एक ही फ़ाइल को कई रनों में भेजने के लिए उसे एक बार अपलोड करें और उसकी एसेट ID भेजें, जैसा रेफरेंसेस और एसेट्स में बताया गया है।
नतीजा पाएं
एक webhook पूरे हो चुके रन को flows_template_run इवेंट के रूप में प्राप्त करता है। API टैब के Webhook स्निपेट्स {"type": "all"} भेजते हैं, जो टेम्प्लेट रन के लिए subscribed वर्कस्पेस के हर webhook को पूरा रन भेजता है। इसे खास webhooks को भेजने के लिए, उनकी IDs सूचीबद्ध करें:
सूचीबद्ध हर webhook को टेम्प्लेट रन के लिए subscribed होना चाहिए। ऐसा रन जो webhook मांगता है लेकिन कोई subscribed नहीं है, अस्वीकार कर दिया जाता है, ताकि कोई रन अपने नतीजे की डिलीवरी के लिए जगह के बिना पूरा न हो।
एक बार चलने वाली स्क्रिप्ट या बैच जॉब के लिए, टेम्प्लेट्स क्विकस्टार्ट में इस्तेमाल किया गया create_and_wait, इसके बजाय रन के पूरा होने का इंतज़ार करता है।
संस्करण पिन करें
स्निपेट्स उस सबसे नए प्रकाशित संस्करण का version_id भेजते हैं जिसे API चला सकता है। इसे पिन रखें: जब लेखक दोबारा प्रकाशित करता है, तो पिन किया हुआ रन आपके परीक्षण किए संस्करण को चलाता रहता है, जबकि latest नए संस्करण पर स्विच हो जाता है, जो इनपुट्स का नाम बदल सकता है या नए इनपुट्स जोड़ सकता है।
नए संस्करण पर जाने के लिए, API टैब फिर से खोलें, उसके इनपुट्स की तुलना अपने कोड द्वारा भेजे जाने वाले इनपुट्स से करें और version_id अपडेट करें। कोड से जांचने के लिए, flows.templates.get टेम्प्लेट के वे प्रकाशित संस्करण लौटाता है जिन्हें API चला सकता है, सबसे नए से शुरू करके, और हर एक के इनपुट्स व आउटपुट्स के साथ।
आउटपुट्स पढ़ें
पूरे हो चुके रन के outputs में टेम्प्लेट के हर आउटपुट के लिए एक एंट्री होती है, जिसकी कुंजी आउटपुट की id है। हर आउटपुट का अपना status होता है, इसलिए एक आउटपुट विफल हो सकता है जबकि बाकी पूरे हो जाएं। विफल आउटपुट में failure_reason और error_message होते हैं। पूरे हो चुके मीडिया आउटपुट में content_url और content_mime_type होते हैं, और पूरे हो चुके string आउटपुट में content होता है।
TypeScript SDK में constructEvent इवेंट का भेजा गया JSON लौटाता है, इसलिए उसके फ़ील्ड्स snake_case में होते हैं।
रिट्राई और डुप्लिकेट इवेंट्स के लिए डिलीवरी व्यवहार देखें।