सभी API अनुरोध REST- शैली URLs के लिए मानक HTTP अनुरोध हैं। प्रत्युत्तर या तो JSON हैं, या इमेज (परिणाम प्राप्त करते समय) हैं।
API मानक HTTP मूलभूत पहुँच प्रमाणीकरण का इस्तेमाल करता है। API के प्रति सभी अनुरोधों में, उपयोगकर्ता के रूप में API Id और पासवर्ड के रूप में API सीक्रेट के साथ API क्रेडेंशियल्स को शामिल करने की जरूरत होगी। ध्यान दें कि आपके उपयोगकर्ताओं को आपकी API सीक्रेट प्रकट करने से बचने के लिए,ClippingMagic.js
केवल आपकी API Id का इस्तेमाल करता है।
सभी अनुरोध HTTPS के ऊपर किए जाने होंगे, और आपको सभी अनुरोधों को प्रमाणित करना होगा।
अनुरोधों को सफलतापूर्वक करने के लिए आपकी http क्लायंट लाइब्रेरी को सर्वर नाम सूचना (SNI) का समर्थन करना होगा। यदि आप अजीब हैंडशेक एरर्स का सामना कर रहे हैं, तो इसकी सबसे अधिक संभावना है।
ध्यान दें कि सभी अपलोड और डाउनलोड प्रचालन बैकएंड पर होते हैं, परंतु सभी क्लिपिंग प्रचालन स्मार्ट एडीटर में होते हैं।
यह विभाजन आपकी साइट पर बाधा-रहित अंत्य-उपयोगकर्ता अनुभव सक्षम करते हुए, आपकी API कुंजी सुरक्षित रखता है।
API का इस्तेमाल उदार छूट सहित और आपके API क्रेडिट से परे कड़ी ऊपरी सीमा दर के बिना रेट सीमित है।
सामान्य अंत्य-उपयोगकर्ता-संचालित प्रचालन के दौरान आपके द्वारा दर सीमा का सामना करने की आशंका कम है क्योंकि तब इस्तेमाल कम होने लगता है और इस तरह प्रवाहित होता है कि इसे सेवा द्वारा गरिमामय तरीके से संभाल लिया जाता है।
फिर भी, बैच आधारित कामों के लिए हम अधिकतम 5 थ्रेड्स के साथ शुरुआत करने की सलाह देते हैं, फिर प्रत्येक 5 मिनट में 1 नया थ्रेड तब तक जोड़ते रहें, जब तक कि आप समरूपता के वांछित स्तर तक नहीं पहुंच जाते। यदि आपको 100 से अधिक समवर्ती थ्रेड्स की आवश्यकता हो, तो शुरू करने से पहले कृपया संपर्क करें।
यदि आप अत्यधिक अनुरोध प्रस्तुत करते हैं तो आपको 429 Too Many Requests
प्रत्युत्तर मिलने शुरू हो जाएंगे। जब भी ऐसा हो तो आपको रैखिक बैक ऑफ लागू करना चाहिए: पहली बार ऐसा प्रत्युत्तर मिलने पर, अगला अनुरोध प्रस्तुत करने तक 5 सेकंड इंतज़ार करें। लगातार दूसरे 429 प्रत्युत्तर पर, अगला अनुरोध प्रस्तुत करने तक 2*5 = 10 सेकंड इंतज़ार करें। तीसरे में 3*5 = 15 सेकंड इंतज़ार करें, इत्यादि।
सफल अनुरोध के बाद आप बैक ऑफ काउंटर रीसेट कर सकते हैं, और आपको बैक-ऑफ को प्रति-थ्रेड के आधार पर लागू करना चाहिए (अर्थात थ्रेड्स को एक दूसरे से स्वतंत्र रूप से काम करना चाहिए)।
हम API अनुरोध की सफलता या विफलता को इंगित करने के लिए पारंपरिक HTTP स्थितियों का इस्तेमाल करते हैं, और वापस दिए जाने वाले एरर JSON ऑबजेक्ट में महत्वपूर्ण एरर जानकारी शामिल करते हैं।
किसी भी समस्याग्रस्त अनुरोध में हम सदैव एरर JSON ऑबजेक्ट को वापस देने का प्रयास करते हैं। फिर भी, सैद्धांतिक रूप से यह सदैव संभव है कि ऐसी आंतरिक सर्वर विफलताएं हुई हों जो गैर-JSON एरर प्रत्युत्तर का कारण बनती हैं।
विशेषताएं |
|
---|---|
status | डिबगिंग में सहायता के लिए यहाँ प्रत्युत्तर की HTTP स्थिति दोहराई गई। |
code | Clipping Magic आंतरिक त्रुटि कोड। |
message | डिबगिंग में सहायक होने के प्रयोजन से मानव-पठनीय एरर संदेश। |
यदि आपके अनुरोध के लिए HTTP स्थिति 200 है, तो एरर रहित JSON ऑबजेक्ट वापस किया जाएगा, और आप आराम से यह मान सकते हैं कि अनुरोध व्यापक रूप से सफल हुआ।
कुछ HTTP क्लायंट लाइब्रेरियों ने 400
-599
रेंज में HTTP स्थिति के लिए अपवाद सृजित किया। आपको उन अपवादों को समझने और उन पर उचित रूप से कार्रवाई करने की आवश्यकता होगी।
HTTP Status | अर्थ |
---|---|
200 -299
|
सफलता |
400 -499
|
अनुरोध में दी गई जानकारी में समस्या है (जैसे एक मापदंड गायब था)। यह जानने के लिए कि इसे कैसे ठीक किया जाए, कृपया एरर संदेश की समेक्षा करें। |
500 -599
|
एक Clipping Magic आंतरिक त्रुटि हुई है। एक क्षण रुकें, फिर प्रयास करें, और यदि समस्या बनी रहती है, तो कृपया हमें ईमेल करें। |
आपकी डिबगिंग को सुविधाजनक बनाने के लिए हाल ही की API त्रुटियाँ आपके अकाउंट पेज पर सूचीबद्ध हैं।
उदाहरण एरर प्रत्युत्तर
{ "error" : { "status" : 400, "code" : 1006, "message" : "Failed to read the supplied image. " } }
JSON ऑबजेक्ट के साथ इमेज रिकॉर्ड्स एक समान तरीके से दर्शाए गए हैं, जो अनेक API कार्रवाइयों में लौटाए गए हैं।
विशेषताएं |
|
---|---|
id |
इमेज के लिए विशिष्ट पहचानकर्ता। आवश्यकता है कि यह उपयोगकर्ताओं को इमेज संपादित करने और इसके परिणाम डाउनलोड करने दे। |
secret |
ClippingMagic.js के साथ यह इमेज संपादित करने के लिए गुप्त कुंजी की जरूरत है |
resultRevision |
पूर्णांक डाउनलोड के लिए उपलब्ध सबसे नवीनतम संशोधन का संकेत देता है (0 = अभी तक कोई परिणाम उपलब्ध नहीं है)। आपको यह निर्धारित करने देता है कि आपके द्वारा पहले डाउनलोड किए गए की तुलना में इस इमेज के लिए कोई नया परिणाम उपलब्ध है या नहीं। |
originalFilename |
मूल इमेज अपलोड करते समय फाइलनाम वाली स्ट्रिंग प्रदान की गई। |
test |
|
उदाहरण
{ "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false }
POST https://clippingmagic.com/api/v1/images
इमेज अपलोड करने के लिए, आप मानक HTTP POST फाइल अपलोड करते हैं। यह एंडपॉइंट आपके बैकएंड से करना होगा, इसे आपके वेब पेज की javascript से नहीं किया जा सकता है। ध्यान रखें कि बाइनरी फाइलों को अपलोड करते समय सामग्री-प्रकार को multipart/form-data
में होना चाहिएmultipart/form-data
पैरामीटर्स |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
इनपुट इमेज निम्न प्रकार की होनी ज़रूरी है:
.bmp, .gif, .jpeg, .png, or .tiff फाइल होना ज़रूरी है।
अधिकतम इमेज अपलोड आकार (= चौड़ाई × ऊंचाई) 3,35,54,432 pixels है, जो 41,94,404 pixels तक सिकुड़ जाता है जब तक कि नीचे दिए |
|||||||||||||||
test
बूलियन true , false
|
यह इंगित करने के लिए कि यह एक परीक्षण इमेज है,
प्रोडक्शन इमेजिस के लिए परीक्षण इमेजेस मुफ्त प्रोसेस की जा सकती हैं, परंतु परिणाम में वॉटरमार्क एम्बेडेड होगा। |
||||||||||||||
format
एनम json , result , clipping_path_svg , clipping_path_tiff , alpha_mask_png
|
जब गैर-JSON परिणाम प्राप्त किया जाना हो तब इमेज JSON ऑबजेक्ट प्राप्त करना आपके अकाउंट पर शुल्क नहीं लगाता है; आपसे केवल उत्पादन परिणामों को डाउनलोड करते समय शुल्क लिया जाता है। |
||||||||||||||
maxPixels
इंटीगर 1000000 से 26214400
|
अपलोड के बाद इमेज का आकार बदलने पर यह इस्तेमाल किया गया अधिकतम इमेज आकार (= चौड़ाई × ऊंचाई) बदल देता है। डिफ़ॉल्ट: 41,94,404pixels |
||||||||||||||
background.color
#RRGGBB #0055FF
|
पारदर्शी बैकग्राउंड का इस्तेमाल करने के लिए छोड़ें और PNG परिणाम प्राप्त करें। बताए गए रंग की अपारदर्शी बैकग्राउंड और output.opaqueFileFormat परिणाम (डिफ़ॉल्ट JPEG) प्राप्त करने के लिए शामिल करें। '#' शामिल करना याद रखें। |
||||||||||||||
प्रोसैसिंग पैरामीटर्स को कॉन्फ़िगर करें:
|
|||||||||||||||
रंग के स्तर को कॉन्फ़िगर करें:
|
|||||||||||||||
बैकग्राउंड से किसी रंग को हटाने को कॉन्फ़िगर करें जो फोरग्राउंड पर डाली गई है, जैसे कि हरे रंग की स्क्रीन के साथ:
|
|||||||||||||||
व्हाइट बैलेंस को कॉन्फ़िगर करें:
|
|||||||||||||||
फिनिंशिंग टच को कॉन्फ़िगर करें:
|
|||||||||||||||
किनारों के पैरामीटर्स को कॉन्फ़िगर करें:
|
|||||||||||||||
परिणाम पर आउटपुट को समायोजित करें
|
|||||||||||||||
परिणाम के आकार और ऑस्पैक्ट रेशो को नियंत्रित करें:
|
|||||||||||||||
आउटपुट विकल्प को नियंत्रित करता है:
|
आप सदस्यता के बिना परीक्षण मोड में इमेजेस अपलोड कर सकते हैं। फिर भी, भले ही अपलोड में क्रेडिट की लागत नहीं आती है, आपको इसके बावजूद API के माध्यम से उत्पादन इमेजेस को अपलोड करने के लिए मान्य API सदस्यता की आवश्यकता होती है।
इसे आज़माएं
यूज़रनेम = API आईडी, पासवर्ड = API सीक्रेट
cURL
$ curl "https://clippingmagic.com/api/v1/images" \ -u 123:[secret] \ -F 'image=@example.jpg' \ -F 'test=true'
मानता है कि 'example.jpg' मौजूद है। उपयुक्त रूप में बदलें। 'परीक्षण=वास्तविक' वैकल्पिक के अनुरूप।
उदाहरण प्रत्युत्तर
{ "image" : { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } }
GET https://clippingmagic.com/api/v1/images/[imageId]
परिणाम डाउनलोड करने के लिए, आप मानक HTTP GET करें। परिणाम हमेशा पहले तैयार किया हुआ होना चाहिए।
परीक्षण परिणामों को मुफ्त डाउनलोड किया जा सकता है, परंतु इनमें वाटरमार्क शामिल होता है। उत्पादन परिणामों में पहली बार डाउनलोड करने पर एक क्रेडिट की लागत होती है; दोबारा किए जाने वाले डाउनलोड्स मुफ्त हैं।
यदि कोई परिणाम उपलब्ध न हो, तो आपको एरर संबंधी प्रत्युत्तर मिलेगा।
पैरामीटर्स |
|
---|---|
imageId |
URL में समाहित किया गया
आपको वह |
वैकल्पिक
format |
इमेज JSON ऑबजेक्ट प्राप्त करना आपके अकाउंट पर शुल्क नहीं लगाता है; आपसे केवल उत्पादन परिणामों को डाउनलोड करते समय शुल्क लिया जाता है। |
प्रतिक्रिया के हेडर
जब |
|
---|---|
x-amz-meta-id
Example: 2346
|
आपकी इमेज |
x-amz-meta-secret
Example: image_secret1
|
आपकी इमेज |
x-amz-meta-resultrevision
Example: 1
|
हर बार एक नया परिणाम उत्पन्न होने पर यह काउंटर बढ़ जाता है। |
x-amz-meta-width
Example: 3200
(केवल format=result के लिए शामिल है)
|
इस अनुरोध में आपके द्वारा प्राप्त किए जा रहे परिणाम के पिक्सेल में चौड़ाई। |
x-amz-meta-height
Example: 2400
(केवल format=result के लिए शामिल है)
|
इस अनुरोध में आपके द्वारा प्राप्त किए जा रहे परिणाम के पिक्सेल में लम्बाई। |
Content-Disposition
Example: attachment; filename*=UTF-8''example_image1_clipped_rev_0.png
|
परिणाम फ़ाइल का नाम, जिसमें एक्सटेंशन शामिल है। |
इसे आज़माएं
यूज़रनेम = API आईडी, पासवर्ड = API सीक्रेट
cURL
$ curl "https://clippingmagic.com/api/v1/images/2346" \ -u 123:[secret] \ -LOJ
उदाहरण JSON प्रत्युत्तर
{ "image" : { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } }
GET https://clippingmagic.com/api/v1/images
आपकी इमेज JSON ऑबजेक्ट्स की सूची प्राप्त करने के लिए, आप मानक HTTP GET करें
पैरामीटर्स |
|
---|---|
वैकल्पिक
limit |
प्राप्त किए जाने वाले रिकॉर्ड्स की संख्या। डिफॉल्ट रूप से 20 (न्यूनतम 1, अधिकतम 100)। |
वैकल्पिक
offset |
रिकॉर्डस की सूची में इस्तेमाल किया जाने वाला ऑफसेट (डिफॉल्ट रूप से 0). |
प्रत्युत्तर विशेषताएं |
|
---|---|
images |
इमेज JSON ऑबजेक्ट्स की शृंखला। |
limit |
|
offset |
|
इसे आज़माएं
यूज़रनेम = API आईडी, पासवर्ड = API सीक्रेट
cURL
$ curl "https://clippingmagic.com/api/v1/images?limit=2&offset=0" \ -u 123:[secret]
उदाहरण प्रत्युत्तर
{ "images" : [ { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false }, { "id" : 2347, "secret" : "image_secret2", "resultRevision" : 0, "originalFilename" : "example_image2.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } ], "limit" : 2, "offset" : 0 }
POST https://clippingmagic.com/api/v1/images/[imageId]/delete
इमेज हटाने के लिए, आप इसके हटाएं-URL पर मानक HTTP POST करें।
यह वास्तविकता का सामना करने के लिए मानक REST अभ्यास से मामूली विचलन है कि एक ही काम करने के कई तरीकों से होने वाली गड़बड़ी से बचते हुए, बहुत सारी HTTP क्लायंट लाइब्रेरियाँ HTTP DELETE क्रिया का समर्थन नहीं करती हैं।
पैरामीटर्स |
|
---|---|
imageId |
URL में समाहित किया गया
आपको वह |
प्रत्युत्तर विशेषताएं |
|
---|---|
image |
हटाई गई इमेज JSON ऑबजेक्ट। |
इसे आज़माएं
यूज़रनेम = API आईडी, पासवर्ड = API सीक्रेट
cURL
$ curl "https://clippingmagic.com/api/v1/images/2346/delete" \ -u 123:[secret] \ -X POST
उदाहरण प्रत्युत्तर
{ "image" : { "id" : 2346, "secret" : "image_secret1", "resultRevision" : 0, "originalFilename" : "example_image1.jpg", "imageCategoryUser" : "Photo", "imageCategoryAi" : "Photo", "test" : false } }
GET https://clippingmagic.com/api/v1/account
आपके अकाउंट की मूलभूत जानकारी जैसे आपकी सदस्यता स्थिति और शेष क्रेडिट्स प्राप्त करें।
पैरामीटर्स |
|
---|---|
कुछ भी नहीं |
प्रत्युत्तर विशेषताएं |
|
---|---|
subscriptionPlan |
आपके द्वारा वर्तमान में ली गई सदस्यता योजना, या 'कुछ भी नहीं'। |
subscriptionState |
आपकी वर्तमान सदस्यता की स्थिति ('सक्रिय' या 'पिछला बकाया') या यदि सदस्यता नहीं ली गई हो तो 'समाप्त'। |
credits |
आपके अकाउंट में शेष API क्रेडिट की संख्या। अगर इस समय सदस्यता नहीं है तो 0, या किसी गैर-API प्लान की सदस्यता ली है। |
इसे आज़माएं
यूज़रनेम = API आईडी, पासवर्ड = API सीक्रेट
cURL
$ curl "https://clippingmagic.com/api/v1/account" \ -u 123:[secret]
उदाहरण प्रत्युत्तर
{ "subscriptionPlan" : "none", "subscriptionState" : "ended", "credits" : 0 }