API से बैच इमेज वेक्टराइज़ेशन और बीच से दोबारा शुरू करना
स्थायी क्यू से API के ज़रिए इमेज का बैच वेक्टराइज़ करें। कन्वर्ज़न ID सेव करें, नाकाम फ़ाइलें संभालें और पूरा काम दोबारा भेजे बिना वहीं से शुरू करें।
इस पेज पर
API से कई इमेज एक बैच में वेक्टराइज़ करने के लिए हर मूल फ़ाइल क्यू में डालें और अगली फ़ाइल पर जाने से पहले उसकी प्रगति सेव करें। PerfectVector API v1 में आपका वर्कर बैच संभालता है। API हर अनुरोध में एक इमेज स्वीकार करती है और डिफ़ॉल्ट तौर पर हर अकाउंट में एक समय पर एक लाइव कन्वर्ज़न चलाती है। PerfectVector API की सीमाएँ
हर इमेज के लिए एक क्यू रिकॉर्ड बनाएँ
हर मूल इमेज की स्थिर कॉपी और अलग आउटपुट फ़ोल्डर से शुरू करें। नीचे के उदाहरणों में एक वर्कर, लोकल SQLite डेटाबेस और एक फ़्रेम वाली PNG, JPEG या WebP फ़ाइलों का फ़ोल्डर है। फ़ाइलें क्यू में डालने से पहले API की फ़ाइल सीमाएँ देखें। अलग आउटपुट पाथ रखें ताकि logo.png नाम की दो अलग फ़ाइलें एक-दूसरे के आउटपुट पर न लिखें।
पहली बार अपलोड की कोशिश करने से पहले ये फ़ील्ड एक साथ सेव करें।
| फ़ील्ड | क्या रखें |
|---|---|
| स्रोत | स्थिर पाथ या ऑब्जेक्ट का वर्ज़न, और मूल बाइट का डाइजेस्ट। |
| अनुरोध की | आइडेम्पोटेंसी की, जो उसी ऑपरेशन के दोबारा भेजे जाने की पहचान करती है। पहली POST कोशिश का समय दर्ज करें। |
| कन्वर्ज़न ID | API की vec_… ID। मिलते ही सेव करें। |
| आउटपुट | अलग लोकल पाथ और क्यू की पिछली पुष्ट स्थिति। |
| नाकामी की जानकारी | API समस्या कोड, अनुरोध ID या कन्वर्ज़न की त्रुटि, जो उपलब्ध हो। |
POST भेजने से पहले क्यू रिकॉर्ड डेटाबेस में कमिट करें। अगर API अपलोड स्वीकार कर ले लेकिन ID मिलने से पहले कनेक्शन टूट जाए, तो आपके पास दोबारा इस्तेमाल करने के लिए की रहेगी। PerfectVector उसी अकाउंट और मोड में पहले अनुरोध के बाद 24 घंटे तक वह की पहचानता है। दोबारा भेजते समय इमेज के बाइट और विकल्प जस के तस रखें। PerfectVector में आइडेम्पोटेंसी

एक बार में एक काम भेजें, स्टेटस जाँचें और सेव करें
/v1/vectorizations पर मल्टीपार्ट POST भेजें। इमेज image फ़ील्ड में और उस रिकॉर्ड की की Idempotency-Key हेडर में रखें। अनुरोध जल्दी लौटाने के लिए Prefer: respond-async इस्तेमाल करें। सफल रिस्पॉन्स की ID सेव करके स्टेटस जाँचना शुरू करें। 202 का मतलब है कि कन्वर्ज़न अभी पूरा नहीं हुआ। 201 सफल या नाकाम कन्वर्ज़न दोनों के लिए आ सकता है, इसलिए JSON में स्टेटस पढ़ें। PerfectVector में इंतज़ार और असिंक्रोनस प्रोसेसिंग
नीचे वर्कर के फ़ैसलों का क्रम है। saved जैसे क्यू स्टेटस आपके अपने लेबल हैं। API processing और succeeded जैसे स्टेटस लौटाती है।
| डिस्क पर क्यू रिकॉर्ड | वर्कर का अगला कदम |
|---|---|
| नया रिकॉर्ड, की सेव है | मूल बाइट अपलोड करें और लौटी कन्वर्ज़न ID दर्ज करें। |
| अनुरोध स्वीकार हुआ या नहीं, पता नहीं और ID नहीं है | दोबारा भेजने की अवधि में सेव की हुई की से वही अपलोड दोहराएँ। अवधि बीत गई हो तो नया, संभावित रूप से शुल्क वाला कन्वर्ज़न शुरू करने से पहले रिकॉर्ड को समीक्षा के लिए चिह्नित करें। |
| कन्वर्ज़न ID सेव है | मौजूदा ID का स्टेटस जाँचें। हर जाँच के बीच करीब दो सेकंड रुकें और रेट लिमिट से मिली प्रतीक्षा अवधि मानें। |
| कन्वर्ज़न सफल, फ़ाइल ग़ायब | नतीजा डाउनलोड करें, image/svg+xml की पुष्टि करें, अस्थायी फ़ाइल में लिखें और फिर उसका नाम बदलकर सही पाथ पर रखें। उसके बाद रिकॉर्ड को सेव हुआ चिह्नित करें। |
| सेव हो गया | POST छोड़ दें। आउटपुट ग़ायब हो गया हो तो लिंक काम करते समय मौजूदा नतीजा लेने की कोशिश करें। |
| अस्वीकृत या नाकाम | HTTP समस्या या कन्वर्ज़न की अंतिम त्रुटि दर्ज करें। ग़लत इनपुट सुधारकर नया ऑपरेशन चलाएँ। |
POST में 429 या 503 आए तो Retry-After मानें और मूल की की 24 घंटे की अवधि के भीतर उसी इमेज और विकल्प से रीट्राई करें। too_many_in_flight आए तो पहले चल रहे लाइव कन्वर्ज़न के पूरा होने का इंतज़ार भी करें। कन्वर्ज़न ID हो तो दोबारा भेजने से पहले उसे जाँचें। timeout या provider_unavailable के साथ अंतिम स्टेटस failed पक्का हो तो रीट्राई के लिए नई की चाहिए। सेवा उपलब्ध न हो तो उसके लौटने का इंतज़ार करें। क्लाइंट टाइमआउट में मूल कन्वर्ज़न की स्थिति पक्की नहीं होती। उसकी ID इस्तेमाल करें या समय रहते मूल की से दोबारा भेजें। PerfectVector API त्रुटियाँ
दोबारा शुरू हुआ वर्कर नया कन्वर्ज़न बनाए बिना स्टेटस फिर जाँच सकता है या नतीजा फिर डाउनलोड कर सकता है। क्यू के अगले रिकॉर्ड पर जाने से पहले हर सफल SVG डाउनलोड करके रखें। API का नतीजा कन्वर्ज़न पूरा होने के 24 घंटे बाद एक्सपायर हो जाता है। PerfectVector के नतीजे और डाउनलोड
अपने डेटाबेस और HTTP क्लाइंट के साथ वर्कर लागू करने के लिए नीचे का छद्म कोड इस्तेमाल करें। आगे के टेस्ट में माना गया है कि वर्कर हर अनुरोध लॉग करता है और दूसरी कन्वर्ज़न ID कमिट होने के तुरंत बाद सिर्फ़ टेस्ट के लिए रुक सकता है।
for each queue row in a stable order:
if the row is rejected or its saved SVG is still on disk:
continue
if the row has no conversion ID:
verify source bytes match the stored digest
if an earlier POST is uncertain and the replay window expired:
flag the row for review and continue
POST with the stored key and original bytes and options
if the response is a permanent input rejection:
commit the error and continue
if the POST times out or the service requests a retry:
keep the same key, record the retry time and stop this run
commit the returned conversion ID
pause here when testing recovery after a commit
GET status by conversion ID, waiting between pending responses
if conversion failed:
commit its error and continue
download the existing result and check the SVG media type
write to a temporary file and rename it to the output path
commit the saved stateतीन फ़ाइलों से दोबारा शुरू करने का टेस्ट चलाएँ
दो छोटे PNG लोगो और एक खराब PNG लें। खराब फ़ाइल जानबूझकर रखें ताकि देख सकें कि अस्वीकृति के बाद क्यू आगे बढ़ती है या नहीं। टेस्ट की से दोनों मान्य फ़ाइलों के लिए सैंपल SVG आना चाहिए। खराब फ़ाइल वैलिडेशन में अस्वीकृत होनी चाहिए और आउटपुट फ़ोल्डर में उसके लिए कुछ सेव नहीं होना चाहिए। टेस्ट मोड दोनों मान्य फ़ाइलों के लिए वही सैंपल SVG लौटाता है। PerfectVector टेस्ट मोड
- पहली फ़ाइल को
savedतक पहुँचने दें। दूसरी मान्य फ़ाइल की ID लिख जाने के बाद वर्कर रोकें, इससे पहले कि उसका आउटपुट सेव हो। - वर्कर दोबारा शुरू करें। पुष्टि करें कि वह पहली फ़ाइल छोड़ देता है और मौजूदा कन्वर्ज़न ID से दूसरी डाउनलोड करता है।
- देखें कि खराब फ़ाइल समस्या कोड के साथ नाकामी की रिपोर्ट में है और उसके लिए SVG नहीं लिखा गया।
- वर्कर एक बार और चलाएँ। देखें कि दोनों सेव की हुई फ़ाइलें वहीं हैं और कोई सफल अपलोड दोबारा नहीं भेजा गया।
हमने टेस्ट की से API पर रीस्टार्ट की जाँच की। वर्कर ने दो सैंपल SVG सेव किए, एक खराब इनपुट को अस्वीकृत दर्ज किया और दूसरी सफल फ़ाइल का नतीजा उसकी मौजूदा ID से पाया। आखिरी रन ने कोई अनुरोध नहीं भेजा। टेस्ट कन्वर्ज़न तुरंत पूरे हो जाते हैं, इसलिए लंबित स्थिति की जाँच के लिए स्थानीय टेस्ट डेटा इस्तेमाल करें।
अक्सर पूछे जाने वाले सवाल
क्या सभी फ़ाइलें एक ही API कॉल में भेज सकते हैं?
PerfectVector API v1 हर POST में एक इमेज स्वीकार करती है। बैच को अलग-अलग अनुरोधों में भेजें। लाइव काम में अकाउंट की समवर्ती सीमा मानें और अगला अनुरोध भेजने से पहले मौजूदा कन्वर्ज़न पूरा होने दें। PerfectVector API की सीमाएँ
SVG का लिंक पहले ही एक्सपायर हो गया हो तो क्या करें?
पहले डाउनलोड किया था तो अपना सेव किया हुआ SVG इस्तेमाल करें। अगर नहीं, तो कन्वर्ज़न स्टेटस जाँचें और तय करें कि नया ऑपरेशन शुरू करना है या नहीं। नया लाइव कन्वर्ज़न सफल होने पर एक और क्रेडिट लग सकता है। PerfectVector के नतीजे और डाउनलोड
स्रोत
- PerfectVector — सीमाएँ — फ़ाइल की जाँच और अकाउंट की डिफ़ॉल्ट समवर्ती सीमा।
- PerfectVector — आइडेम्पोटेंसी — की का दायरा, दोबारा भेजने का समय और समान इनपुट की शर्त।
- PerfectVector — इंतज़ार और असिंक्रोनस प्रोसेसिंग — असिंक्रोनस सबमिशन और स्टेटस जाँचना।
- PerfectVector — नतीजे — डाउनलोड, नाकामी और नतीजे की एक्सपायरी।
- PerfectVector — टेस्ट मोड — अपलोड की कौन-सी जाँच और नतीजे टेस्ट की से सत्यापित होते हैं।
- PerfectVector — त्रुटियाँ — Retry-After की प्रतीक्षा, अंतिम नाकामी और नई की कब इस्तेमाल करें।
PerfectVector API पेज से टेस्ट की लें और अपनी तीन फ़ाइलों से टेस्ट चलाएँ। जाँचें कि हर सफल रिकॉर्ड का SVG डिस्क पर मौजूद है और दोबारा शुरू करने पर पूरे हो चुके रिकॉर्ड फिर से नहीं भेजे जाते।
Blog से और
PNG2SVG बैच रूपांतरण: डाउनलोड किया ZIP जाँचें
दो-फ़ाइल PNG2SVG रूपांतरण का पालन करें, SVG ज़िप डाउनलोड करें, और अपनी कलाकृति के बड़े बैच पर भरोसा करने से पहले फ़ाइल नाम और वास्तविक पथ सामग्री को सत्यापित करें।
Claude Code में फ़ोल्डर की इमेज से SVG बनाएँ
PerfectVector MCP से Claude Code में पूरे फ़ोल्डर का SVG बैच तैयार करें। हर मूल फ़ाइल को अलग आउटपुट पाथ दें और लोकल जाँच से पता लगाएँ कि कौन-से SVG नहीं मिले।


