Opencran API
कैटलॉग का हर मॉडल, आपके अपने कोड से। एक key, एक बैलेंस, स्टूडियो जैसी ही कीमतें।
1 · ऑथेंटिकेशन
सेटिंग्स में API keys पर जाकर एक key बनाएँ। हर रिक्वेस्ट के साथ इसे Bearer टोकन के रूप में भेजें। Keys oc_live_ से शुरू होती हैं और सिर्फ़ Opencran पर काम करती हैं; इन्हें अपने सर्वर पर रखें, कभी भी ब्राउज़र या ऐप में नहीं।
curl https://opencran.com/api/v1/api/catalog/me \
-H 'Authorization: Bearer oc_live_...'2 · मॉडल चुनें
मॉडल चुनें और उसके अपने फ़ील्ड से बनी तैयार रिक्वेस्ट देखें। ज़रूरी फ़ील्ड पहले से भरे हैं; हर वैकल्पिक सेटिंग मॉडल का डिफ़ॉल्ट इस्तेमाल करती है।
opencran/fast-image/text-to-image| नाम | टाइप | ज़रूरी | डिफ़ॉल्ट |
|---|---|---|---|
| prompt | text | हाँ | - |
| aspect_ratio | 1:1 | 2:1 | 1:2 | 3:1 | 1:3 | 21:9 | ... | नहीं | 1:1 |
3 · रेंडर शुरू करें
एक कॉल आपके सटीक इनपुट की कीमत तय करती है और बैलेंस से काट लेती है। जवाब तुरंत status queued के साथ आता है; रेंडर बैकग्राउंड में चलता है। Idempotency-Key हेडर भेजें ताकि दोबारा भेजी गई रिक्वेस्ट पर कभी दो बार पैसे न कटें।
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 -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 https://opencran.com/api/v1/api/catalog/generations/GENERATION_ID \
-H 'Authorization: Bearer oc_live_...'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।