डेवलपर

Opencran API

कैटलॉग का हर मॉडल, आपके अपने कोड से। एक key, एक बैलेंस, स्टूडियो जैसी ही कीमतें।

1 · ऑथेंटिकेशन

सेटिंग्स में API keys पर जाकर एक key बनाएँ। हर रिक्वेस्ट के साथ इसे Bearer टोकन के रूप में भेजें। Keys oc_live_ से शुरू होती हैं और सिर्फ़ Opencran पर काम करती हैं; इन्हें अपने सर्वर पर रखें, कभी भी ब्राउज़र या ऐप में नहीं।

curl
curl https://opencran.com/api/v1/api/catalog/me \
  -H 'Authorization: Bearer oc_live_...'

2 · मॉडल चुनें

मॉडल चुनें और उसके अपने फ़ील्ड से बनी तैयार रिक्वेस्ट देखें। ज़रूरी फ़ील्ड पहले से भरे हैं; हर वैकल्पिक सेटिंग मॉडल का डिफ़ॉल्ट इस्तेमाल करती है।

चुना गया मॉडलopencran/fast-image/text-to-image
मॉडल पेज →
फ़ील्ड
नामटाइपज़रूरीडिफ़ॉल्ट
prompttextहाँ-
aspect_ratio1:1 | 2:1 | 1:2 | 3:1 | 1:3 | 21:9 | ...नहीं1:1

3 · रेंडर शुरू करें

एक कॉल आपके सटीक इनपुट की कीमत तय करती है और बैलेंस से काट लेती है। जवाब तुरंत status queued के साथ आता है; रेंडर बैकग्राउंड में चलता है। Idempotency-Key हेडर भेजें ताकि दोबारा भेजी गई रिक्वेस्ट पर कभी दो बार पैसे न कटें।

curl
curl -X POST https://opencran.com/api/v1/api/catalog/generations \
  -H 'Authorization: Bearer oc_live_...' \
  -H 'Content-Type: application/json' \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "modelId": "opencran/fast-image/text-to-image",
  "inputs": {
    "prompt": "a lighthouse on a cliff at dusk, soft light"
  }
}'

पहले कीमत जाँचें (वैकल्पिक)

वही इनपुट, बिना कुछ शुरू किए कीमत के साथ। जवाब सेंट में होता है।

curl
curl -X POST https://opencran.com/api/v1/api/catalog/quote \
  -H 'Authorization: Bearer oc_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"modelId":"opencran/fast-image/text-to-image","inputs":{"prompt":"a lighthouse on a cliff at dusk, soft light"}}'

4 · स्टेटस जाँचें और डाउनलोड करें

हर कुछ सेकंड में रेंडर का स्टेटस पूछें, जब तक status succeeded, failed या refunded न हो जाए। सफल होने पर उसी key से contentUrl से फ़ाइल डाउनलोड करें। टेक्स्ट मॉडल अपना जवाब इसके बजाय textOutput में लौटाता है।

curl
curl https://opencran.com/api/v1/api/catalog/generations/GENERATION_ID \
  -H 'Authorization: Bearer oc_live_...'
curl
curl https://opencran.com/api/v1/api/catalog/generations/GENERATION_ID/content \
  -H 'Authorization: Bearer oc_live_...' \
  -o result.png

एंडपॉइंट

बेस URL: https://opencran.com/api/v1/api/catalog

GET/meआपकी key और बैलेंस
GET/modelsसभी मॉडल
GET/models/detail?id=MODEL_IDएक मॉडल और उसके फ़ील्ड
POST/quoteसटीक इनपुट की कीमत
POST/generationsरेंडर शुरू करें
GET/generationsआपके हाल के रेंडर
GET/generations/IDएक रेंडर का स्टेटस
GET/generations/ID/contentनतीजे की फ़ाइल
DELETE/generations/IDरेंडर हटाएँ

कीमतें और बैलेंस

API रेंडर स्टूडियो वाला ही बैलेंस इस्तेमाल करते हैं और उनकी कीमत भी वही है। API में हर रकम यूरो सेंट में होती है: costCents बताता है कि रेंडर पर कितना कटा, balanceCents बताता है कि कितना बचा है।

एरर और सीमाएँ

एरर JSON में कोड और संदेश के साथ आते हैं। 401: key गायब, ग़लत या रद्द है। 400: कोई फ़ील्ड अमान्य है (विवरण में उसका नाम होता है)। 402: बैलेंस कम है। 429: बहुत ज़्यादा रिक्वेस्ट, रफ़्तार घटाएँ। असफल रेंडर अपने आप रिफ़ंड हो जाता है। सटीक सीमाएँ keys के लॉन्च पर प्रकाशित होंगी। HTML पेज के साथ 403: अनुरोध API तक पहुँचने से पहले रोक दिया गया, आमतौर पर User-Agent के कारण। Python-urllib का डिफ़ॉल्ट ब्लॉक है, अपना खुद का भेजें, जैसे User-Agent: my-app/1.0।