n8n में Veo 3 API: ऑटोपायलट पर चलने वाला फेसलेस वीडियो वर्कफ़्लो
एक फेसलेस वीडियो वर्कफ़्लो बनाएँ जिसमें n8n एक टॉपिक शीट पढ़ता है, LLM से सीन माँगता है, हर प्रॉम्प्ट Veo 3 API को भेजता है, लंबे समय तक चलने वाले रेंडर की स्थिति जाँचता है, नैरेशन जोड़ता है और तैयार शॉर्ट अपलोड करता है। इसमें नोड सेटिंग्स, रीट्राई नियम और लागत की ट्रैकिंग शामिल है।
ज़्यादातर फेसलेस चैनल एक ही जगह अटकते हैं: फ़ुटेज पर। स्क्रिप्ट जल्दी लिखी जा सकती है और सिंथेटिक आवाज़ पर लगभग कुछ खर्च नहीं होता, लेकिन हर अपलोड के लिए चालीस विश्वसनीय सेकंड का वीडियो जुटाने में पूरा हफ़्ता निकल जाता है। Veo 3 API को n8n से जोड़ने पर यह रुकावट हट जाती है। स्प्रेडशीट की एक पंक्ति स्क्रिप्ट बनती है, स्क्रिप्ट आठ-सेकंड के सीन बनती है, सीन ऐसे क्लिप बनते हैं जिनमें आवाज़ पहले से जुड़ी होती है, और आपके सोते समय एक तैयार वर्टिकल वीडियो आपकी अपलोड कतार में पहुँच जाता है।
यह वॉकथ्रू फेसलेस वीडियो वर्कफ़्लो को नोड-दर-नोड बनाता है। आप देखेंगे कि कौन से n8n नोड सबसे ज़्यादा काम उठाते हैं, Veo के धीमे एसिंक्रोनस जवाबों को कैसे संभालें, पैसा कहाँ रिसता है, और ऑटोमेशन में प्रॉम्प्ट फ़िक्स करने से पहले Picasso IA पर Veo 3 में उन्हें कैसे आज़माएँ।
फेसलेस चैनलों के लिए Veo 3 क्यों सही है
फेसलेस चैनल वॉल्यूम और एकरूपता पर चलते हैं। दर्शक किसी प्रस्तुतकर्ता के लिए नहीं, एक फ़ॉर्मेट के लिए लौटते हैं, इसलिए प्रोडक्शन की लाइन किसी एक क्लिप से ज़्यादा मायने रखती है। यह ठीक वही तरह की समस्या है जिसे वर्कफ़्लो ऑटोमेशन अच्छी तरह संभालता है: हर बार वही चरण, उसी क्रम में, बस हर रन में एक नया टॉपिक।
Veo 3 इस लाइन के लिए एक व्यावहारिक कारण से सही बैठता है। यह एक टेक्स्ट-टू-वीडियो मॉडल है जो एक ही प्रॉम्प्ट से तस्वीर और आवाज़ दोनों एक साथ रेंडर करता है, और यह स्टिल इमेज को शुरुआती फ़्रेम के रूप में भी स्वीकार करता है, ताकि आप किसी एपिसोड के हर सीन में एक ही लुक बनाए रख सकें।
इस फ़ॉर्मेट के लिए अच्छे निश से ट्रैवल और नेचर एक्सप्लेनर, फ़ूड और रेसिपी टीज़र, एटमॉस्फ़ेरिक फ़ुटेज के साथ सुनाई गई इतिहास की कहानियाँ, प्रोडक्ट शोकेस, और नींद या फ़ोकस के लिए एम्बिएंट लूप शामिल हैं। इन सबमें बातचीत करता चेहरा नहीं, बल्कि वस्तुएँ, जगहें और हाथ होते हैं, और यही इस फ़ॉर्मेट को शुरू से फेसलेस रखता है।
नेटिव ऑडियो एक ब्रांच हटा देता है
पुरानी पाइपलाइनों में तीन ब्रांच चलती थीं: वीडियो, संगीत और साउंड इफ़ेक्ट। Veo 3 क्लिप के भीतर ही एम्बिएंट साउंड, इफ़ेक्ट और बोले गए संवाद बनाता है। नेचर एक्सप्लेनर, स्ट्रीट फ़ूड मोंटाज या प्रोडक्ट टीज़र के लिए यही पूरा साउंडट्रैक हो सकता है। अलग वॉइसओवर तभी जोड़ें जब आपको सटीक शब्द चाहिए हों या पूरी सीरीज़ में एक ही नैरेटर चाहिए।
एक फेसलेस वीडियो को असल में क्या चाहिए
n8n खोलने से पहले लिखें कि आपको आउटपुट में क्या चाहिए। एक सामान्य शॉर्ट-फ़ॉर्म फेसलेस वीडियो को इनकी ज़रूरत होती है:
एक हुक पहले दो सेकंड में, आम तौर पर कोई वाक्य नहीं बल्कि एक आकर्षक विज़ुअल
चार से छह सीन, हर एक इतना छोटा कि एक Veo क्लिप में आ जाए
9:16 में वर्टिकल फ़्रेमिंग Shorts, Reels और TikTok के लिए
एक नैरेटर की आवाज़ या एक म्यूज़िक बेड, दोनों कभी एक-दूसरे से जगह के लिए न टकराएँ
शीर्षक, विवरण और टैग अपलोड स्टेप के लिए तैयार
💡 टिप: पहले सीन की संख्या तय करें। हर अतिरिक्त सीन एक और API कॉल, एक और इंतज़ार और एक और संभावित विफलता जोड़ता है।
वर्कफ़्लो एक नज़र में
पूरी पाइपलाइन दस नोड लंबी है। इनमें से कोई भी असामान्य नहीं है, और यह n8n Cloud या सेल्फ़-होस्टेड इंस्टॉल दोनों पर चलती है, एक अपवाद के साथ जिसे असेंबली स्टेप में समझाया गया है।
स्टेप
n8n नोड
काम
1
Schedule Trigger
हर दिन एक तय समय पर चलता है
2
Google Sheets
अगली अप्रयुक्त टॉपिक पंक्ति पढ़ता है
3
HTTP Request या AI Agent
JSON में सीन सूची माँगता है
4
Code
हर सीन को Veo प्रॉम्प्ट में बदलता है
5
HTTP Request
प्रॉम्प्ट को Veo 3 endpoint पर भेजता है
6
Wait + IF
रेंडर पूरा होने तक पोल करता है
7
HTTP Request
तैयार MP4 डाउनलोड करता है
8
Execute Command
क्लिप जोड़ता है और नैरेशन डालता है
9
YouTube
अंतिम वीडियो अपलोड करता है
10
Google Sheets
स्थिति, लिंक और लागत लॉग करता है
क्रम नोड चुनने से ज़्यादा मायने रखता है। ऊपर से नीचे बनाएँ, हर नोड को पिन किए गए टेस्ट डेटा के साथ एक बार चलाएँ, और तभी अगला जोड़ें। खराब सीन प्रॉम्प्ट को चौथे स्टेप पर पकड़ना तीन भुगतान वाले क्लिप के बाद पकड़ने से कहीं सस्ता है।
ट्रिगर और स्क्रिप्ट नोड बनाएँ
Schedule Trigger और टॉपिक शीट
एक Schedule Trigger से शुरू करें जो रोज़ एक बार चले। फिर एक Google Sheets नोड जोड़ें जो पहली ऐसी पंक्ति पढ़े जिसमें स्टेटस कॉलम खाली हो। कॉलम सीधे-सादे रखें: topic, tone, status, video URL, cost. यही शीट एक ही जगह आपका कंटेंट कैलेंडर, आपकी कतार और आपका ऑडिट ट्रेल बन जाती है।
LLM से सीन माँगें
लेखन वाला स्टेप जोड़ें। सबसे सरल रास्ता है एक HTTP Request नोड, या n8n का AI Agent नोड, जो Claude Sonnet 5, Gemini 3.5 Flash या GPT 5.4 जैसे चैट मॉडल की ओर इशारा करे। सख़्त JSON माँगें: सीनों का एक array, जिसमें हर सीन का एक विज़ुअल विवरण, एक कैमरा मूव और एक पंक्ति का साउंड नोट हो।
यहाँ स्ट्रक्चर्ड आउटपुट मायने रखता है। अगर मॉडल ढीला गद्य लौटाता है, तो आपका Code नोड तीसरे रन पर टूटेगा, आम तौर पर रात दो बजे।
हर सीन को प्रॉम्प्ट में ढालें
एक Code नोड सीनों पर लूप चलाता है और हर एक के लिए अंतिम प्रॉम्प्ट बनाता है। एक मज़बूत Veo प्रॉम्प्ट हर बार इसी क्रम का पालन करता है:
सब्जेक्ट और वह क्या कर रहा है
सेटिंग और दिन का समय
कैमरा की गति और लेंस का अहसास
रोशनी और रंग
साउंड जो आप क्लिप में चाहते हैं
हर सीन में एक तय स्टाइल लाइन जोड़ें, जैसे "natural light, handheld, 35mm film look", ताकि जोड़ने पर क्लिप मेल खाएँ। एक नेगेटिव प्रॉम्प्ट भी जोड़ें जो टेक्स्ट ओवरले, वॉटरमार्क और लोगो को बाहर रखे।
कॉफ़ी खेती के एक्सप्लेनर का तैयार उदाहरण यह है: A weathered farmer's hands pick red cherries from a steep hillside plantation at sunrise, slow dolly-in at waist height, mist rising between the rows, warm backlight, soft rustling leaves and distant birdsong. Natural light, handheld, 35mm film look. ध्यान दें कि कोई चेहरा नहीं माँगा गया। हाथ, लैंडस्केप और वस्तुएँ फ़ॉर्मेट को फेसलेस रखते हैं, और वे उस आम समस्या से भी बचाते हैं जिसमें एक ही व्यक्ति का चेहरा हर सीन में बदल जाता है।
n8n से Veo 3 API कॉल करें
यह वर्कफ़्लो का केंद्र है, और यह एक सामान्य API कॉल से अलग तरह से काम करता है।
HTTP Request नोड कॉन्फ़िगर करें
Veo को Google के Gemini API के ज़रिए एक लंबे समय तक चलने वाले ऑपरेशन के रूप में दिया जाता है। आपका पहला अनुरोध वीडियो नहीं लौटाता। वह एक ऑपरेशन नाम लौटाता है, जिसे आप बाद में जाँचते हैं। नोड को ऐसे सेट करें:
प्रॉम्प्ट को JSON.stringify में लपेटने से किसी सीन के भीतर का भटका हुआ उद्धरण चिह्न अनुरोध को नहीं तोड़ता। Google के endpoint पर क्लिप की लंबाई आठ सेकंड होती है, और 1080p वाइडस्क्रीन आउटपुट से जुड़ा है, इसलिए वर्टिकल फ़ॉर्मेट तय करने से पहले जाँच लें कि आपका चुना हुआ आस्पेक्ट रेशियो कौन सा रिज़ॉल्यूशन सपोर्ट करता है।
Wait और IF से पोल करें
जवाब में name फ़ील्ड होता है। उसे सहेजें, फिर एक छोटा लूप बनाएँ:
एक Wait नोड 60 सेकंड रुकता है।
एक HTTP Request नोड सहेजे गए नाम के साथ https://generativelanguage.googleapis.com/v1beta/ पर GET भेजता है।
एक IF नोड जाँचता है कि done true है या नहीं।
अगर वह false है, तो फ़्लो 20 सेकंड के छोटे Wait पर लौटता है। अगर true है, तो फ़्लो आगे बढ़ता है।
Veo 3 के PicassoIA पेज पर, नमूना रेंडर लगभग 68 से 145 सेकंड में पूरे हुए। इसे अपनी देरी के लिए शुरुआती अनुमान मानें। 60 सेकंड के शुरुआती Wait और 20 सेकंड के पोल के साथ, ज़्यादातर रेंडर चार या पाँच जाँचों में पूरे हो जाते हैं।
लूप के भीतर एक काउंटर जोड़ें। एक Code नोड attempt नंबर बढ़ाता है, और एक दूसरा IF नोड पंद्रह जाँचों के बाद रन रोक देता है। इस सीमा के बिना, एक अटका हुआ रेंडर हमेशा लूप में रह सकता है और आपकी execution history भर सकता है।
फ़ाइल गायब होने से पहले डाउनलोड करें
जब done true हो जाता है, तो वीडियो का पता जवाब में generateVideoResponse.generatedSamples के नीचे होता है। एक और HTTP Request नोड जोड़ें, रिस्पॉन्स फ़ॉर्मेट File पर सेट करें, वही क्रेडेंशियल भेजें और बाइनरी डेटा कैप्चर करें। Google बनाई गई फ़ाइलें केवल थोड़े समय के लिए रखता है, इसलिए अगले ही नोड में MP4 को अपने स्टोरेज (S3, R2 या Drive) पर भेजें। Google के लिंक को कभी अपनी शीट में सहेजकर यह न मान लें कि वह अगले हफ़्ते भी काम करेगा।
वॉइस जोड़ें और वीडियो असेंबल करें
कब नेटिव ऑडियो काफ़ी है
कुछ भी जोड़ने से पहले एक सीन को बिल्ट-इन ट्रैक के साथ आज़माएँ। अगर एम्बिएंट साउंड फ़िट बैठता है और कोई बोला गया संवाद नहीं चाहिए, तो वॉइस ब्रांच पूरी तरह छोड़ दें। हर ब्रांच जो आप हटाते हैं, वह रात भर में विफल होने वाली एक चीज़ कम कर देती है।
टेक्स्ट-टू-स्पीच से नैरेटर जोड़ें
नैरेटेड फ़ॉर्मेट के लिए स्क्रिप्ट को एक स्पीच मॉडल को भेजें। ElevenLabs v3 अभिव्यंजक रीडिंग के लिए अच्छा है, MiniMax का Speech 2.8 HD साफ़ स्टूडियो नैरेशन देता है, और Gemini 3.1 Flash TTS तब चुनें जब आपको कई भाषाएँ चाहिए। हर एक ऑडियो फ़ाइल लौटाता है जिसे आप क्लिप के साथ सहेज सकते हैं।
💡 टिप: जब आप ऊपर से नैरेटर डालने की योजना बनाएँ, तो Veo प्रॉम्प्ट में "no dialogue" जोड़ें, ताकि क्लिप की अपनी आवाज़ें आपकी आवाज़ से न टकराएँ।
सीनों को जोड़ें
क्लिप जोड़ने का काम एक Execute Command नोड के भीतर FFmpeg करता है। एक बुनियादी कमांड सीनों की सूची पढ़ता है, उन पर नैरेशन डालता है और एक फ़ाइल लिखता है:
यहाँ एक पेच है। Execute Command नोड केवल सेल्फ़-होस्टेड n8n पर चलता है। n8n Cloud पर, क्लिप URL को HTTP Request नोड के ज़रिए किसी बाहरी रेंडरिंग सेवा को भेजें। दोनों तरह से, नतीजा हर एपिसोड के लिए एक MP4 होता है, जो अपलोड स्टेप के लिए तैयार है।
प्रकाशित करें और लागत ट्रैक करें
Shorts, Reels और TikTok पर अपलोड करें
n8n में एक YouTube नोड आता है जो शीर्षक, विवरण और प्राइवेसी स्थिति के साथ बाइनरी फ़ाइल अपलोड करता है। दूसरे प्लेटफ़ॉर्म के लिए, HTTP Request नोड के ज़रिए हर आधिकारिक पोस्टिंग API को कॉल करें, या ऐसी शेड्यूलिंग सेवा का उपयोग करें जो webhook देती हो। पहले कुछ रन के लिए प्राइवेसी private रखें और तब तक हर वीडियो खुद देखें जब तक आपको आउटपुट पर भरोसा न हो जाए।
हर रन को शीट में लॉग करें
स्टेटस, अंतिम वीडियो URL, रेंडर प्रयास, सीनों की संख्या और अनुमानित लागत वापस लिखें। Google Veo के जनरेट हुए वीडियो के हर सेकंड के हिसाब से शुल्क लेता है, और लॉन्च के बाद रेट एक से ज़्यादा बार बदल चुके हैं, इसलिए प्रति सेकंड की कीमत को छह नोड में हार्ड-कोड करने के बजाय एक n8n वेरिएबल या शीट के एक सेल में रखें। प्रति सीन आठ सेकंड और पाँच सीन पर, एक एपिसोड का मतलब है 40 बिल होने वाले सेकंड, और इसमें एक भी रीट्राई नहीं गिना गया।
रीट्राई नियम जो आपके बजट की रक्षा करें
जेनरेटिव वीडियो में विफलता सामान्य है, इसलिए नीति पहले से तय करें:
विफल रेंडर को एक बार उसी प्रॉम्प्ट के साथ रीट्राई करें
दूसरी विफलता पर, LLM से प्रॉम्प्ट दोबारा लिखवाएँ, फिर एक आख़िरी बार कोशिश करें
उसके बाद, पंक्ति को "needs review" चिह्नित करें और रुक जाएँ
एक Error Trigger वर्कफ़्लो जोड़ें जो ईमेल या चैट से आपको सूचित करे
दैनिक रन की सीमा तय करें, ताकि लूप का बग आपका बैलेंस न खा जाए
PicassoIA पर Veo 3 से प्रॉम्प्ट टेस्ट करें
API पर पैसा खर्च करने से पहले हर सीन प्रॉम्प्ट को हाथ से प्रोटोटाइप करें। PicassoIA पर Veo 3 एक प्रॉम्प्ट, एक रिज़ॉल्यूशन, एक आस्पेक्ट रेशियो, एक वैकल्पिक शुरुआती इमेज, एक नेगेटिव प्रॉम्प्ट और एक सीड स्वीकार करता है। यह रहा तरीका:
Veo 3 पेज खोलें और साइन इन करें।
एक सीन प्रॉम्प्ट पेस्ट करें, उसी क्रम में लिखा हुआ जो आपका Code नोड इस्तेमाल करता है।
टेस्ट के लिए resolution 720p रखें और अंतिम रेंडर के लिए ही 1080p पर जाएँ।
वर्टिकल शॉर्ट्स के लिए 9:16 या वाइडस्क्रीन के लिए 16:9 चुनें।
चाहें तो एक शुरुआती इमेज अपलोड करें। आदर्श फ़्रेम 1280x720 हैं।
💡 टिप: PicassoIA https://api.picassoia.com/v1 पर Replicate-style endpoints वाला एक डेवलपर API भी चलाता है: /v1/models/{owner}/{name}/predictions पर POST, फिर जॉब खत्म होने तक /v1/predictions/{id} पर GET। इस लेख के लिखे जाने के समय, यह वीडियो के लिए PicassoIA Video और Seedance 2.5 Lite देता है और हर खाते के लिए पाँच एक साथ predictions की अनुमति देता है। Veo 3 उस सूची में नहीं है, इसीलिए ऊपर का वर्कफ़्लो Google के endpoint को लक्ष्य करता है। create-then-poll पैटर्न एक जैसा है, इसलिए वही Wait और IF लूप दोनों के लिए काम करता है।
आज ही अपनी पहली क्लिप बनाएँ
यह देखने के लिए कि यह विचार आपके निश के लिए काम करता है या नहीं, पूरी दस-नोड पाइपलाइन की ज़रूरत नहीं है। एक टॉपिक चुनें, ऊपर के रूटीन के क्रम में पाँच सीन प्रॉम्प्ट लिखें और उन्हें Picasso IA पर चलाएँ। 720p ड्राफ़्ट की तुलना 1080p रेंडर से करें, एक वर्टिकल और एक वाइडस्क्रीन वर्शन आज़माएँ, और नोट करें कि कौन से प्रॉम्प्ट सीनों के बीच टिके रहते हैं।
जब आपके पास भरोसेमंद तीन प्रॉम्प्ट हों, तो उन्हें अपने Code नोड में कॉपी करें और दोहराव वाला काम n8n को सौंप दें। छोटे से शुरू करें, सब कुछ लॉग करें, और एक बार में एक ब्रांच जोड़ें। Picasso IA खोलें, अपना पहला सीन चलाएँ, और देखें कि एक अच्छा प्रॉम्प्ट फेसलेस चैनल को कितनी दूर तक ले जा सकता है।