दस्तावेज़ पर जाएँ

API और MCP

प्रोग्रामों के लिए Occlusia: API और AI टूल

एक ही पते से Claude, ChatGPT या किसी भी AI टूल को जोड़ें, या REST API के ज़रिए अपने खुद के कोड से Occlusia चलाएँ। वेब ऐप वाला ही इंजन, यहाँ Occlusia के सर्वरों पर चलता हुआ: वही ड्रॉइंग, क्रेडिट से भुगतान।

मॉडल लाने के दो तरीके

वेब ऐप जो कुछ भी करता है, कोई प्रोग्राम भी कर सकता है: मॉडल खोलना, उसके ऑब्जेक्ट और व्यू की सूची बनाना, उनकी सेटिंग बदलना, कॉन्फ़िगरेशन लागू करना, किसी व्यू का प्रीव्यू देखना, SVG, DXF, PDF या इमेज में एक्सपोर्ट करना। यह वेब ऐप का अपना इंजन है: ड्रॉइंग बाइट-दर-बाइट ऐप की ही हैं, और उसके इनकार और उसकी कीमतें भी।

  • MCP: कोई AI टूल — Claude, ChatGPT, किसी एडिटर का असिस्टेंट — केवल पते से https://api.occlusia.app/v1/mcp से जुड़ता है, और आप occlusia.app पर उसे स्वीकृत करते हैं। फिर वह आपके शब्दों में आपके मॉडल पर काम करता है।
  • REST API: https://api.occlusia.app/v1/engine — किसी स्क्रिप्ट, सर्वर, CI जॉब या आपके अपने ऐप के लिए इंजन, API कुंजी या OAuth के साथ।

AI टूल जोड़ें

अपने AI टूल को Occlusia के MCP सर्वर का पता दें। पहली बार वह आपको occlusia.app पर भेजता है: ज़रूरत हो तो साइन इन करें, जाँचें कि कौन-सा ऐप माँग रहा है और वह क्या कर सकेगा, और उसे अनुमति दें। कोई कुंजी कॉपी नहीं करनी होती।

https://api.occlusia.app/v1/mcp
  • Claude (claude.ai, डेस्कटॉप और मोबाइल ऐप): Settings, Connectors, Add custom connector, फिर ऊपर दिया गया पता।
  • ChatGPT: ऊपर दिए गए पते और प्रमाणीकरण के रूप में OAuth के साथ एक कस्टम MCP सर्वर जोड़ें।
  • Claude Code: claude mcp add --transport http occlusia https://api.occlusia.app/v1/mcp, फिर साइन इन करने के लिए /mcp।
  • Cursor, VS Code और अन्य टूल: पते के साथ एक रिमोट MCP सर्वर (Streamable HTTP) जोड़ें; वे आपको इसी तरह साइन इन कराते हैं।

आप जिस भी ऐप को अनुमति देते हैं, वह आपके खाते में जुड़े हुए ऐप के अंतर्गत दिखता है, साथ में यह कि वह क्या कर सकता है और उसका आख़िरी उपयोग कब हुआ। वहाँ उसे डिस्कनेक्ट करें और वह तुरंत रुक जाता है। जब कोई ऐप पहली बार जुड़ता है, तो Occlusia आपको ईमेल भेजता है।

AI टूल (MCP)

हर कमांड एक टूल है जिसे AI बुला सकता है: मॉडल खोलना, उसके ऑब्जेक्ट की सूची बनाना, हैच सेट करना, प्रीव्यू बनाना — जवाब एक इमेज के रूप में जिसे मॉडल देखता है —, एक्सपोर्ट करना। हर टूल का एक शीर्षक होता है, वह बताता है कि वह केवल पढ़ता है, कुछ बदलता है या किसी फ़ाइल को रिप्लेस करता है, और यह भी कि उसकी लागत क्या है।

  • वर्कस्पेस: AI जो खोलता है, सेट करता है और एक्सपोर्ट करता है, वह एक अनुरोध से अगले तक और एक बातचीत से अगली तक आपके वर्कस्पेस में रहता है, जब तक उसका उपयोग होता रहे। कुछ देर उपयोग न होने पर, या AI के उसे रीसेट करने पर, वह समाप्त हो जाता है।
  • आपकी फ़ाइलें: AI आपको अपना मॉडल ड्रॉप करने के लिए एक पेज देता है — .skp, .ifc, .fbx या .occs मॉडल, .occp प्रोजेक्ट —, या उसे किसी सार्वजनिक लिंक से ले आता है; जो उसने एक्सपोर्ट किया, उसे वह डाउनलोड लिंक के रूप में लौटाता है।
  • आपका खाता: आपके क्रेडिट, उनका इतिहास, कीमतें और आपकी ख़रीदारियाँ। जब क्रेडिट कम होने लगें, तो AI एक ख़रीदारी तैयार कर सकता है: वह आपको occlusia.app का एक लिंक देता है, जहाँ आप उसे जाँचते हैं और भुगतान करते हैं — AI कभी कुछ नहीं ख़रीदता।
  • एक गाइड और एक संदर्भ जिन्हें AI खुद पढ़ता है (वर्कफ़्लो, हर सेटिंग और उसके मान), और तैयार प्रॉम्प्ट: किसी मॉडल से ड्रॉइंग बनाना, ड्रॉइंग का एक सेट एक्सपोर्ट करना, खाते की समीक्षा करना।

सर्वर MCP का हर मौजूदा रिविज़न बोलता है (2026-07-28, और 2025-11-25 से पीछे 2025-03-26 तक)। API कुंजी भी काम करती है, उन टूल में जो उसे हेडर के रूप में भेजते हैं:

claude mcp add --transport http occlusia https://api.occlusia.app/v1/mcp \
  --header "Authorization: Bearer occ_sk_…"
Claude Code के साथ, या किसी दूसरे AI टूल की MCP सेटिंग में।

API कुंजियाँ

कोई स्क्रिप्ट, सर्वर या CI जॉब API कुंजी से साइन इन करता है। अपने खाते में API कुंजियाँ के अंतर्गत एक बनाएँ: एक नाम, उसकी अवधि, और पिछले कुछ मिनटों का साइन-इन। कुंजी केवल एक बार दिखाई जाती है; Occlusia उसका केवल एक फ़िंगरप्रिंट रखता है।

  • कुंजी आपका खाता पढ़ती है और आपके क्रेडिट खर्च करती है; वह खाते का प्रबंधन कभी नहीं करती।
  • API कुंजियाँ पेज हर कुंजी को उसके नाम और अंतिम चार अक्षरों से दिखाता है, साथ में यह कि उसका आख़िरी उपयोग कब और किस पते से हुआ। एक खाते में अधिकतम 20 कुंजियाँ होती हैं।
  • कुंजी रद्द करने से उसका उपयोग करने वाला हर प्रोग्राम तुरंत रुक जाता है। हर बार कुंजी बनने पर Occlusia आपको ईमेल भेजता है।

REST API

https://api.occlusia.app/v1/engine Occlusia के सर्वरों पर इंजन चलाता है, हर अनुरोध एक कुंजी — Authorization: Bearer occ_sk_… — या किसी ऐप के एक्सेस टोकन के साथ। एक सत्र आपका अपना इंजन है जिसकी अपनी फ़ाइलें हैं: मॉडल अपलोड करें, कमांड चलाएँ, उन्होंने जो लिखा उसे डाउनलोड करें, सत्र समाप्त करें।

KEY=occ_sk_…
API=https://api.occlusia.app/v1/engine
S=$(curl -s -X POST $API/sessions -H "Authorization: Bearer $KEY" | jq -r .id)
curl -T house.skp $API/sessions/$S/files/house.skp -H "Authorization: Bearer $KEY"
curl $API/sessions/$S/commands/model.open -H "Authorization: Bearer $KEY" \
     -H 'Content-Type: application/json' -d '{"path":"house.skp"}'
curl $API/sessions/$S/commands/export -H "Authorization: Bearer $KEY" \
     -H 'Content-Type: application/json' -d '{"format":"pdf","sections":"Section AA","out":"section.pdf"}'
curl -o section.pdf $API/sessions/$S/files/section.pdf -H "Authorization: Bearer $KEY"
curl -X DELETE $API/sessions/$S -H "Authorization: Bearer $KEY"
मॉडल अंदर, PDF बाहर, सत्र समाप्त।

रूट, /v1/engine के अंतर्गत; … का अर्थ है /sessions/{id}:

POST /sessions
एक सत्र खोलता है। एक खाते में एक समय में 3 सत्र; सत्र 15 मिनट बिना उपयोग के या 8 घंटे बाद समाप्त होता है।
PUT …/files/{name}
एक फ़ाइल अपलोड करता है, कच्चा बॉडी: अधिकतम 512 MB, प्रति सत्र 2 GB।
POST …/commands/{command}
एक कमांड चलाता है, उसके पैरामीटर JSON बॉडी में; जवाब कमांड का ही होता है। Prefer: respond-async के साथ तुरंत एक जॉब लौटाया जाता है।
GET …/jobs/{job}
एक जॉब: चल रहा, अपने परिणाम के साथ पूरा, या अपनी त्रुटि के साथ विफल।
GET …/events
इंजन क्या कर रहा है, सर्वर-सेंट इवेंट के रूप में: प्रगति, संदेश, एक्सपोर्ट।
GET …/files/{name}
सत्र की एक फ़ाइल डाउनलोड करता है। GET …/files उनकी सूची देता है, DELETE एक को हटाता है।
POST …/links
एक लिंक जो कुंजी के बिना 15 मिनट तक एक फ़ाइल अपलोड या डाउनलोड करता है; ब्राउज़र में खोला गया अपलोड लिंक एक पेज होता है जिस पर फ़ाइल ड्रॉप की जाती है।
DELETE /sessions/{id}
सत्र समाप्त करता है; उसकी फ़ाइलें उसके साथ हटा दी जाती हैं।
GET /commands
हर कमांड अपने JSON Schema के साथ; पूरा API OpenAPI में /openapi.json पर।

फ़ाइल पैरामीटर सत्र की किसी फ़ाइल का नाम होता है — "path": "house.skp", "out": "set.pdf" —, सर्वर पर कोई पाथ कभी नहीं। ऑब्जेक्ट मॉडल ब्राउज़र की तरह नाम से — नाम या पाथ (Walls/South wall) से —, और व्यू अपने नाम से पहचाने जाते हैं। एक सत्र में एक समय में एक कमांड चलती है; गणनाएँ — खोला गया मॉडल, ड्रॉइंग, एक्सपोर्ट — प्रति खाता एक समय में दो चलती हैं और अपनी बारी के लिए एक मिनट तक इंतज़ार करती हैं, जबकि कोई सूची या सेटिंग कभी इंतज़ार नहीं करती। प्रति कुंजी प्रति मिनट 600 अनुरोध।

  • आइडेम्पोटेंसी: किसी कमांड के साथ Idempotency-Key भेजें, और जवाब खो जाने के बाद की गई दोबारा कोशिश का जवाब पहली बार के रन से मिलता है — कभी दो बार नहीं चलता, कभी दो बार शुल्क नहीं लगता।
  • अनुरोध ID और सीमाएँ: हर जवाब में X-Request-Id (आपका, जब आप कोई भेजें) और RateLimit-Limit, RateLimit-Remaining और RateLimit-Reset होते हैं।
  • खाता: GET /v1/auth/me, /v1/account/credits, /v1/account/credits/history और /v1/account/credits/purchases उसे उसी कुंजी से पढ़ते हैं।
  • एक्सपोर्ट सेटअप: export.config और export.setup हर व्यू का PDF पेज और शीट पर ड्रॉइंग की जगह पढ़ते और बदलते हैं, जैसे एक्सपोर्ट डायलॉग करता है।

हर अस्वीकृति {"error": {"code", "message"}} होती है, एक स्थिर कोड के साथ: invalid_api_key (401), insufficient_credits (402), session_not_found (404), invalid_params (422), rate_limited, session_limit और cloud_limit (429: शुरुआती पहुँच की सीमा उसके Retry-After तक पूरी हो चुकी है), busy (503: उसके Retry-After के बाद फिर कोशिश करें), credits_unavailable (503: कुछ नहीं चला, फिर कोशिश करें), और कमांड के अस्वीकार करने पर उसके अपने कोड।

आपका अपना ऐप (OAuth)

आपका कोई ऐप OAuth 2.1 के साथ अपने उपयोगकर्ताओं के Occlusia खातों की ओर से काम कर सकता है: PKCE (S256) के साथ ऑथराइज़ेशन कोड फ़्लो, पब्लिक क्लाइंट। ऑथराइज़ेशन सर्वर का मेटाडेटा https://api.occlusia.app/.well-known/oauth-authorization-server पर है; अपना क्लाइंट वहाँ रजिस्टर करें, या उसे किसी क्लाइंट मेटाडेटा दस्तावेज़ के https पते से नामित करें।

  • स्कोप: engine — खोलना, कॉन्फ़िगर करना, ड्रॉ करना और एक्सपोर्ट करना, उपयोगकर्ता के क्रेडिट खर्च करते हुए —, और account — खाता, उसके क्रेडिट और ख़रीदारियाँ पढ़ना।
  • आप जिस संसाधन को कॉल करते हैं, उसी को माँगें (resource=https://api.occlusia.app/v1/engine या …/v1/mcp): टोकन केवल वहीं काम करता है।
  • एक्सेस टोकन एक घंटे तक चलता है; रिफ़्रेश टोकन हर उपयोग पर बदल जाते हैं। उपयोगकर्ता आपके ऐप को जुड़े हुए ऐप के अंतर्गत देखता है और वहाँ उसे डिस्कनेक्ट कर सकता है।

सुरक्षा और गोपनीयता

  • Occlusia API कुंजी को फ़िंगरप्रिंट के रूप में रखता है, कुंजी के रूप में कभी नहीं: खोई हुई कुंजी दोबारा नहीं दिखाई जा सकती, केवल रद्द की जा सकती है।
  • जुड़े हुए ऐप के पास ऐसे टोकन होते हैं जिन्हें Occlusia केवल फ़िंगरप्रिंट के रूप में रखता है; वे केवल वही खोलते हैं जिसकी आपने अनुमति दी है, और ऐप डिस्कनेक्ट करते ही कुछ भी नहीं।
  • हर API सत्र अपने अलग इंजन में, अपने अलग सिस्टम यूज़र के तहत चलता है, और Occlusia की सेवाओं के अलावा किसी नेटवर्क तक नहीं पहुँचता। सत्र समाप्त होने पर उसकी फ़ाइलें हटा दी जाती हैं।
  • किसी लिंक से लाई गई फ़ाइल केवल सार्वजनिक इंटरनेट से आती है, कभी किसी निजी नेटवर्क से नहीं।
  • कुंजी बनाने या ऐप जोड़ने के लिए पिछले कुछ मिनटों का साइन-इन चाहिए, और Occlusia हर बार आपको ईमेल भेजता है।