Genviso और BetterToken के साथ टेम्पलेट आधारित इमेज जनरेशन
विज़ुअल खोज को बैकएंड निष्पादन से अलग करके सफल प्रॉम्प्ट को वर्ज़न वाले प्रोडक्शन टेम्पलेट में बदलने की व्यावहारिक प्रक्रिया।
एक अच्छी इमेज मिल जाना अभी प्रोडक्शन प्रक्रिया नहीं है। एक इमेज के लिए प्रॉम्प्ट कई बार बदलना, परिणाम देखना और किसी एक को हाथ से चुनना संभव है। लेकिन सैकड़ों SKU के साथ यही तरीका महँगे प्रयोगों की लंबी श्रृंखला बन जाता है। रोशनी, कैमरा कोण या सामग्री बदलने पर हर बार नया अनुरोध जाता है, जबकि अच्छे परिणाम का कारण केवल लेखक की स्मृति में रह जाता है।
काम को दो चक्रों में बाँटें। पहले टीम विज़ुअल दिशा को परखती है और दोहराए जा सकने वाले नियम लिखती है। इसके बाद बैकएंड स्वीकृत टेम्पलेट में व्यावसायिक डेटा भरता है, अनुरोध भेजता है, परिणाम सहेजता है और त्रुटियाँ संभालता है। रचनात्मक खोज प्रोडक्शन कतार से बाहर रहती है और हर संरचना परिवर्तन के लिए सर्वर कोड बदलना नहीं पड़ता।
कोड में प्रॉम्प्ट सुधारना नियंत्रण से बाहर क्यों होता है
आपस में जुड़ी बहुत सारी चीज़ें
इमेज मॉडल विषय, वातावरण, रोशनी, कैमरा स्थिति, सामग्री, गहराई और रंगों पर एक साथ प्रतिक्रिया करता है। सीरम की बोतल की तस्वीर में भी ये विकल्प परिणाम बदलते हैं:
- सामने का दृश्य या 45 डिग्री ऊपर से दृश्य;
- तेज दिशात्मक रोशनी या नरम फैली हुई रोशनी;
- स्पष्ट प्रतिबिंब वाला काँच या मैट सतह;
- ट्रैवर्टीन, धातु या सादे कागज़ की पृष्ठभूमि;
- 85 मिमी मैक्रो जैसा दृश्य या वाइड एंगल संरचना।
कई मान एक साथ बदलने पर पता नहीं चलता कि किस वाक्य ने सुधार किया। एक-एक मान बदलने पर अनुरोध तेजी से बढ़ते हैं। BetterToken का उपयोग करने वाला बैकएंड Image API से टेम्पलेट चला सकता है, लेकिन जाँच से पहले कतार शुरू करने पर केवल अप्रमाणित विज़ुअल अनुमान बड़े पैमाने पर दोहराया जाएगा।
हर काम की अपनी विज़ुअल भाषा होती है
उत्पाद कार्ड में साफ़ आकृति, नियंत्रित प्रतिबिंब और लेआउट के लिए खाली जगह चाहिए। 3D चित्रण में आकार और सामग्री की दूसरी शर्तें होती हैं। सोशल पोस्टर में पदानुक्रम, कंट्रास्ट और सुरक्षित क्षेत्र महत्वपूर्ण हैं। एक सार्वभौमिक प्रॉम्प्ट अक्सर परस्पर विरोधी विशेषणों से भर जाता है।
अलग टेम्पलेट परिवार रखना अधिक उपयोगी है:
हर परिवार अपने आवश्यक फ़ील्ड और स्वीकृति मानदंड तय करता है। अनुप्रयोग श्रेणी के अनुसार टेम्पलेट चुनता है और विशेष उत्पाद या अभियान का डेटा भरता है।
खोज और प्रोडक्शन के नियम अलग हैं
खोज के समय कई रूप और व्यक्तिपरक तुलना स्वीकार की जा सकती है। प्रोडक्शन को स्थिर अनुबंध, टेम्पलेट वर्ज़न, सीमित पुनः प्रयास, कार्य पहचान और स्पष्ट स्वीकृति परिणाम चाहिए।
इस चक्र में ऐसा कोई बिंदु नहीं है जहाँ विज़ुअल निर्णय स्वीकृत माना जाए। इसलिए हर डिज़ाइन चर्चा बैकएंड और कार्य कतार को प्रभावित करती है।
विज़ुअल अनुमान से CMS फ़ाइल तक की संरचना
विज़ुअल खोज के दौरान टीम Genviso की विज़ुअल प्रॉम्प्ट गैलरी में विकल्पों की तुलना करती है, संरचना, रोशनी और शैली जाँचती है और सफल प्रॉम्प्ट की बनावट सहेजती है। सर्वर निष्पादन में अनुप्रयोग BetterToken की OpenAI-compatible Base URL और उपयोगकर्ता की अपनी API Key से डेटा भरता है, वर्तमान उपलब्ध मॉडल को बुलाता है और परिणाम दर्ज करता है। दोनों चरणों के बीच चुनी हुई इमेज या मौखिक निर्देश नहीं, बल्कि वर्ज़न वाला Prompt Template दिया जाता है।
कतार जोड़ने से पहले इस सीमा को जाँचने के लिए अपनी API Key बनाएँ, स्वीकृत टेम्पलेट के साथ एक नियंत्रण अनुरोध चलाएँ और उसके मॉडल, स्थिति तथा वास्तविक कटौती को तुरंत Dashboard में मिलाएँ। इससे विज़ुअल खोज को प्रोडक्शन अनुरोधों में बदले बिना सर्वर मार्ग की पुष्टि होती है।
हर बदलाव पर जाँचा जा सकने वाला परिणाम होना चाहिए:
चरण 1: विज़ुअल निर्णय को टेम्पलेट बनाना
कॉस्मेटिक स्टूडियो फ़ोटोग्राफ़ी के लिए प्रारंभिक संरचना ऐसी हो सकती है:
विवरण का क्रम और विज़ुअल आयाम स्थिर रहते हैं। subject, environment, visual_style, lighting, composition और color_palette के मान अलग-अलग बदलते हैं।
डेवलपर को टेम्पलेट देने से पहले चार बातें तय करें:
- आवश्यक फ़ील्ड।
subjectयाcompositionन हो तो अनुरोध नहीं जाना चाहिए। - मान्य मान। यदि केवल तीन कैमरा कोण स्वीकृत हैं तो CMS के स्वतंत्र पाठ के बजाय enum रखें।
- निषिद्ध संयोजन। शीशे वाली पृष्ठभूमि पर पारदर्शी पैकेज के लिए अलग टेम्पलेट चाहिए हो सकता है।
- स्वीकृति मानदंड। उत्पाद की आकृति साफ़ हो, लोगो विकृत न हो, वस्तु कटे नहीं और पृष्ठभूमि अंतिम लेआउट के योग्य हो।
प्रॉम्प्ट के साथ मशीन द्वारा पढ़ा जाने वाला अनुबंध रखें:
template_id का वर्ज़न पुनरुत्पादन के लिए है। डिज़ाइन में रोशनी या संरचना बदलने पर नए कार्य अगला वर्ज़न लेते हैं और पुराने परिणाम पुराने वर्ज़न से जुड़े रहते हैं।
चरण 2: टेम्पलेट को बैकएंड से जोड़ना
पहले परीक्षण के लिए आधिकारिक Python SDK openai, अपनी BetterToken API Key और वर्तमान Image API दस्तावेज़ से मिला Model ID चाहिए। कुंजी और मॉडल को वातावरण में रखें:
वास्तविक कुंजी को रिपॉज़िटरी, प्रॉम्प्ट, स्क्रीनशॉट या लॉग में न रखें। प्रोडक्शन में secret manager और अलग अनुप्रयोग या वातावरण के लिए अलग कुंजियाँ उपयोग करें।
यह उदाहरण टेम्पलेट रेंडर करता है, एक अनुरोध भेजता है और b64_json से PNG सहेजता है:
client.images.generate(...) और b64_json डिकोड करना वर्तमान SDK अनुबंध के अनुसार है। मॉडल BETTERTOKEN_IMAGE_MODEL से आता है, इसलिए Prompt Template या व्यावसायिक तर्क लिखे बिना उसे बदला जा सकता है।
न्यूनतम बैच कार्य चक्र
नीचे एक स्पष्ट एकीकरण pseudocode है। save_job, generate_image और ApiError स्टोरेज तथा API client के adapter हैं; ये SDK के अतिरिक्त method नहीं हैं।
स्थानीय job_id SKU, टेम्पलेट और फ़ाइल को जोड़ता है, लेकिन बाहरी अनुरोध को idempotent नहीं बनाता। timeout के बाद स्थिति unknown रखें, समय के अनुसार Dashboard खोजें और storage जाँचने के बाद केवल एक बार फिर भेजने का निर्णय लें।
समस्या जाँचने का क्रम
बैच जनरेशन से पहले क्या जोड़ें
अनुरोध से पहले डेटा जाँचें
खाली material, product_name में अनपेक्षित मार्कअप या स्वीकृत रंग के स्थान पर स्वतंत्र पाठ प्रॉम्प्ट बदल देता है। आवश्यक फ़ील्ड, लंबाई और मान्य मान जाँचें। अंतिम प्रॉम्प्ट का hash, template_id और SKU पहचान कार्य के साथ सहेजें।
पुनः प्रयास सीमित रखें
timeout के बाद पुनः प्रयास दूसरी इमेज बना सकता है, भले ही अनुप्रयोग को पहली प्रतिक्रिया न मिली हो। अधिकतम प्रयास और विराम तय करें तथा हर रन को job_id दें। 400, 401 या मॉडल सेटिंग की त्रुटि को लगातार न दोहराएँ; पहले डेटा, कुंजी या विन्यास सुधारें।
तकनीकी और विज़ुअल स्वीकृति अलग रखें
HTTP 200 और मान्य PNG तकनीकी सफलता बताते हैं। संरचना, उत्पाद विकृति और ब्रांड के अनुरूपता की जाँच अलग होती है। स्वचालित कार्य फ़ाइल और मेटाडेटा सहेजता है; अगला चरण टेम्पलेट के विज़ुअल मानदंड लागू करता है।
अनुरोध को उपयोग रिकॉर्ड से मिलाएँ
नियंत्रण जनरेशन के बाद समय से Dashboard में अनुरोध खोजें। मॉडल, स्थिति और कटौती जाँचें; उपलब्ध उपयोग फ़ील्ड input, output और cache Token दिखाते हैं। Dashboard उपयोग और खर्च का मेटाडेटा रखता है, पूरा प्रॉम्प्ट या उत्तर नहीं। बजट के लिए वर्तमान मॉडल और मूल्य पृष्ठ देखें और परीक्षण का वास्तविक खर्च अनुरोध रिकॉर्ड से लें।
उत्पाद कैटलॉग का उदाहरण
प्रॉम्प्ट अब वर्ज़न वाला प्रोडक्शन ऑब्जेक्ट बन जाता है। आप देख सकते हैं कि किस टेम्पलेट ने फ़ाइल बनाई, वर्ज़न के अनुसार अस्वीकृति की तुलना कर सकते हैं और पूरी एकीकरण प्रक्रिया बदले बिना खराब बदलाव वापस कर सकते हैं।
शुरू करने से पहले जाँच सूची
- टेम्पलेट को सामान्य उत्पादों और कठिन सीमा मामलों पर जाँचा गया है।
template_id, आवश्यक वेरिएबल और स्वीकृति मानदंड तय हैं।- API Key स्रोत कोड और लॉग से बाहर है।
- Model ID वातावरण या विन्यास से पढ़ा जाता है।
- एक परीक्षण अनुरोध अपेक्षित आकार की मान्य फ़ाइल बनाता है।
- 400/401 पर नए अनुरोध से पहले डेटा या विन्यास सुधरता है।
- 429/5xx के पुनः प्रयास सीमित हैं।
- हर कार्य SKU,
job_id, टेम्पलेट वर्ज़न और स्टोरेज से जुड़ा है। - तकनीकी जाँच और विज़ुअल स्वीकृति अलग हैं।
- मॉडल, स्थिति और परीक्षण खर्च Dashboard में मिलाए गए हैं।
जिम्मेदारियाँ बाँटने से सहयोग कैसे सरल होता है
Genviso इंटरैक्टिव चक्र संभालता है: विज़ुअल दिशा जल्दी खोजना, प्रॉम्प्ट की तुलना करना और डेवलपर को देने से पहले टेम्पलेट जाँचना। BetterToken सर्वर चक्र संभालता है: API Key, OpenAI-compatible कनेक्शन, वर्तमान उपलब्ध मॉडल को बुलाना और उपयोग दर्ज करना। दोनों टीमों का साझा अनुबंध वेरिएबल, वर्ज़न और स्वीकृति मानदंड वाला Prompt Template है।
स्वीकृत टेम्पलेट को काम करने वाले बैकएंड में ले जाने और एक प्रतिनिधि SKU का खर्च जाँचने के लिए अपनी API Key बनाएँ, Image API संदर्भ का सबसे छोटा अनुरोध चलाएँ और कतार जोड़ने से पहले Dashboard में मॉडल, स्थिति और कटौती मिलाएँ।