API रेफरेंस
एंडपॉइंट्स, कीज़, और सीमाएँ। AI इमेज एंडपॉइंट्स के लिए संदर्भ — जनरेट, हटाना, विस्तार — प्रमाणीकरण, CORS, और दर सीमाओं के साथ।
Morph के पास api.morph.cool पर AI-पावर्ड इमेज एंडपॉइंट्स का एक सेट प्रदान करता है। ये एंडपॉइंट्स Artboard की AI फीचर्स को संचालित करते हैं और डेवलपर्स द्वारा इंटीग्रेशन बनाने के लिए उपयोग किए जा सकते हैं।
https://api.morph.coolसभी अनुरोध HTTPS का उपयोग करते हैं। HTTP अनुरोध अस्वीकार कर दिए जाते हैं।
प्रमाणीकरण
AI इमेज एंडप्वाइंट्स (जनरेट, रिमूव, एक्सपैंड) बेसिक उपयोग के लिए प्रमाणीकरण की आवश्यकता नहीं है। वे IP पते द्वारा रेट-लिमिटेड हैं। उन एंडप्वाइंट्स को जो उपयोगकर्ता डेटा को संशोधित करते हैं (कन्वर्शन, बेल, लीडरबोर्ड), उन्हें Bearer टोकन के रूप में Authorization हेडर में JWT टोकन पास करना आवश्यक है।
Authorization: Bearer <jwt_token>
रेट सीमाएँ
सभी एंडपॉइंट्स को दुरुपयोग से बचाने के लिए दर-सीमित किया गया है। सीमा से अधिक होने पर 429 स्थिति कोड के साथ JSON त्रुटि लौटाई जाती है।
- Artboard AI endpoints — प्रति IP प्रति मिनट 10 रिक्वेस्ट (KV-backed).
- कन्वर्ज़न लॉगिंग — प्रमाणीकरण आवश्यक है, कोई अलग IP सीमा नहीं।
- त्रुटि रिपोर्टिंग — प्रति IP प्रति मिनट 30 अनुरोध।
- वेटलिस्ट — प्रति IP प्रति मिनट 10 अनुरोध।
इमेज जनरेट करें
POST /artboard/generate
टेक्स्ट-टू-इमेज जनरेशन और इनपेंटिंग। एक कैनवास छवि के साथ मास्क भेजें जिससे चयनित क्षेत्रों को टेक्स्ट प्रॉम्प्ट के आधार पर भरा जाता है। इसके साथ ही एक डिस्क्राइब मोड भी सपोर्ट करता है जो छवि का एक टेक्स्ट विवरण लौटाता है।
| फील्ड | टाइप | विवरण |
|---|---|---|
| प्रॉम्प्ट | string | जनरेट करने के लिए टेक्स्ट विवरण। देखाव के मोड में आवश्यक नहीं है। |
| canvasImageआवश्यक | string | कैनवास कंटेंट का बेस 64-एन्कोडेड PNG। |
| maskImage | string | चयन मास्क का Base64-एन्कोडेड PNG। सफ़ेद = भरने का क्षेत्र। Inpainting के लिए आवश्यक, describe के लिए ज़रूरी नहीं। |
| मोड | string | इमेज विवरण मोड के लिए "describe" सेट करें। जनरेशन के लिए छोड़ दें। |
जनरेशन प्रतिक्रिया:
{
"result": "<base64_png_string>"
}
प्रतिक्रिया वर्णन:
{
"result": "A detailed text description of the image content."
}
पुष्टिकरण: वर्णन मोड में, PNG कम से कम 64×64 पिक्सेल का होना चाहिए। छोटी छवियाँ REGION_TOO_SMALL त्रुटि लौटाती हैं।
ऑब्जेक्ट हटाएँ
POST /artboard/remove
AI-संचालित ऑब्जेक्ट हटाना। मास्क में ऑब्जेक्ट पर पेंट करें और मॉडल क्षेत्र को संदर्भ में उपयुक्त सामग्री से भर देता है।
| फील्ड | टाइप | विवरण |
|---|---|---|
| canvasImageआवश्यक | string | Base64-encoded PNG of the canvas. |
| maskImagerequired | string | Base64-एन्कोडेड PNG मास्क। सफेद = हटाने का क्षेत्र। |
प्रतिक्रिया:
{
"result": "<base64_png_string>"
}
जनरेटिव एक्सपैंड
POST /artboard/expand
दिए गए दिशा में कैनवास विस्तार करें। AI नई क्षेत्र को मौजूदा छवि के साथ मेल खाते हुए कंटेंट से भरता है। संदर्भ के लिए किनारे पिक्सेल एक्सटेंशन का उपयोग करता है।
| फील्ड | टाइप | विवरण |
|---|---|---|
| canvasImageआवश्यक | string | कैनवास का Base64-एन्कोडेड PNG। 64–4096px प्रत्येक तरफ का होना चाहिए। |
| directionrequired | string | एक: left, right, top, bottom, all। |
| expandPxrequired | संख्या | विस्तार के लिए पिक्सेल। रेंज: 64–512। |
| प्रॉम्प्ट | string | जनरेटेड कंटेंट को गाइड करने के लिए वैकल्पिक टेक्स्ट प्रॉम्प्ट। |
प्रतिक्रिया:
{
"result": "<base64_png_string>"
}
सत्यापन: स्रोत छवि का हर पक्ष 64–4096px होना चाहिए। विस्तारित कैनवास का किसी भी आयाम में 4096px से अधिक नहीं होना चाहिए। उल्लंघन REGION_TOO_SMALL या CANVAS_TOO_LARGE त्रुटियाँ लौटाते हैं।
त्रुटि प्रतिक्रियाएँ
सभी एंडपॉइंट्स JSON त्रुटि प्रतिक्रियाएँ लौटाते हैं, जिनमें error फ़ील्ड होता है:
{
"error": "RATE_LIMITED"
}
सामान्य त्रुटि कोड:
- रेट_लिमिटेड — बहुत अधिक रिक्वेस्ट्स। प्रतीक्षा करें और फिर से कोशिश करें।
- REGION_TOO_SMALL — छवि आयाम 64×64 पिक्सेल के न्यूनतम से कम है।
- CANVAS_TOO_LARGE — विस्तारित कैनवास 4096px सीमा से अधिक है।
- MISSING_FIELDS — एक आवश्यक फ़ील्ड प्रदान नहीं की गई थी।
टिप्पणियाँ
- AI मॉडल — सभी इनपेंटिंग एंडपॉइंट्स Cloudflare Workers AI के माध्यम से Stable Diffusion v1.5 का उपयोग करते हैं। इन्फेरेंस स्टेप्स को 20 तक सीमित किया गया है।
- इमेज फॉर्मेट — सभी इमेज बेस64-एन्कोडेड PNGs होने चाहिए।
- निजता — छवियाँ मेमोरी में प्रोसेस की जाती हैं और उन्हें स्टोर, लॉग या मॉडल ट्रेनिंग के लिए उपयोग नहीं किया जाता है।
- CORS — एंडपॉइंट्स
morph.cool,www.morph.cool, औरlocalhost:5173से रिक्वेस्ट स्वीकार करते हैं। - टाइमआउट — क्लाइंट को 30 सेकंड का टाइमआउट सेट करना चाहिए। सर्वर-साइड प्रोसेसिंग कभी भी 15 सेकंड से अधिक नहीं होती।