Developer guide
API कॉल करना
API-संगत पथ और स्ट्रीमिंग·वॉइस नियम
यह पृष्ठ प्रमाणीकरण पूरा करने के बाद वास्तव में कॉल किए जाने वाले पथों को कवर करता है।
OpenAI-संगत पथ और Anthropic-संगत पथों की सूची, अनुरोध के मुख्य भाग में stream चालू करने पर प्रतिक्रिया प्राप्त होने का तरीका,
और केवल वॉइस·वॉइस पथों पर लागू होने वाले नियमों का क्रम यहाँ दिया गया है।
मॉडल ID और प्रत्येक मॉडल के लिए अनुमत कॉल मॉडल पृष्ठ पर, तथा प्रमाणीकरण हेडर और base URL API कुंजी से प्रमाणित करना पृष्ठ पर दिए गए हैं।
प्रक्रिया का चयन
दोनों संगत विनिर्देश एक ही API कुंजी का उपयोग करते हैं, और संवादात्मक रीजनिंग मॉडल को किसी भी विनिर्देश के माध्यम से कॉल किया जा सकता है। अपने उद्देश्य और उपयोग किए जा रहे SDK के अनुसार पथ चुनें।
| उद्देश्य | विनिर्देश | पथ |
|---|---|---|
| संवादात्मक रीजनिंग, OpenAI SDK का उपयोग | OpenAI-संगत | POST /chat/completions या POST /responses |
| संवादात्मक रीजनिंग, Anthropic SDK का उपयोग | Anthropic-संगत | POST /v1/messages |
| एम्बेडिंग बनाना | OpenAI-संगत | POST /embeddings |
| वॉइस संश्लेषण·प्रतिलेखन, वॉइस प्रबंधन | OpenAI-संगत | /audio और /voices के अंतर्गत पथ |
| कॉल किए जा सकने वाले मॉडल देखना | दोनों | GET /models |
OpenAI-संगत पथ
base URL https://platform.clevi.net/api/v2/aiservice/openai/v1 है, और अनुरोध तथा प्रतिक्रिया के मुख्य भाग OpenAI विनिर्देश का पालन करते हैं। नीचे दी गई तालिका रीजनिंग और मॉडल पथों के लिए है, जबकि वॉइस·वॉइस पथों को आगे के अनुभाग में अलग से व्यवस्थित किया गया है।
| विधि | पथ | विवरण |
|---|---|---|
| POST | /api/v2/aiservice/openai/v1/chat/completions | संवादात्मक रीजनिंग। stream को सक्षम करने पर SSE के रूप में प्रतिक्रिया दी जाती है। |
| POST | /api/v2/aiservice/openai/v1/responses | Responses विनिर्देश के अनुसार कॉल। stream समर्थित है। |
| GET | /api/v2/aiservice/openai/v1/responses/{responseId} | संग्रहीत प्रतिक्रिया की एक प्रविष्टि प्राप्त करता है। |
| GET | /api/v2/aiservice/openai/v1/responses/{responseId}/input_items | संग्रहीत प्रतिक्रिया के इनपुट आइटम की सूची। |
| POST | /api/v2/aiservice/openai/v1/responses/{responseId}/cancel | पृष्ठभूमि में चल रही प्रतिक्रिया रद्द करता है। |
| DELETE | /api/v2/aiservice/openai/v1/responses/{responseId} | संग्रहीत प्रतिक्रिया हटाता है। |
| POST | /api/v2/aiservice/openai/v1/completions | लेगेसी टेक्स्ट कम्प्लीशन। stream समर्थित है। |
| POST | /api/v2/aiservice/openai/v1/embeddings | एम्बेडिंग जनरेट करता है। स्ट्रीमिंग समर्थित नहीं है। |
| GET | /api/v2/aiservice/openai/v1/models | इस कुंजी से कॉल किए जा सकने वाले मॉडल की सूची। |
| GET | /api/v2/aiservice/openai/v1/models/{modelId} | एक मॉडल प्राप्त करता है। यदि उस तक पहुँच नहीं है, तो 404 लौटता है। |
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions \
-H "X-API-Key: sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "cip-5.5-im",
"messages": [{"role": "user", "content": "안녕하세요"}]
}'sk-... के स्थान पर API कुंजी स्क्रीन से जारी की गई कुंजी डालें, और model में मॉडल पृष्ठ की ID डालें।
अन्य पथ
| पथ | विवरण |
|---|---|
| GET /api/v2/aiservice/openai/v1/healthz | वॉइस provider की स्थिति जाँचता है। |
| /api/v2/aiservice/openai/v1/api/status · /api/options · /api/generate · /outputs/{filename} | लेगेसी Cosa की स्थिति और विकल्प प्राप्त करना, जनरेशन कॉल (multipart), तथा आउटपुट डाउनलोड करना। |
| /api/v2/aiservice/openai/v1/{routeKey} (GET · POST · PUT · PATCH · DELETE) | ऊपर सूचीबद्ध न किए गए provider पथों को नियम लागू करके रिले करता है। POST रिले के माध्यम से chat/completions, completions, embeddings, responses कॉल करने पर 404 प्राप्त होता है; इन चारों को समर्पित पथ संभालते हैं। |
Anthropic-संगत पथ
base URL https://platform.clevi.net/api/v2/aiservice/anthropic है और Anthropic SDK पथ में /v1 को स्वचालित रूप से जोड़ता है। अनुरोध और प्रतिक्रिया के मुख्य भाग Anthropic Messages विनिर्देश का पालन करते हैं।
| विधि | पथ | विवरण |
|---|---|---|
| POST | /api/v2/aiservice/anthropic/v1/messages | Messages विनिर्देश के अनुसार कॉल। model·messages·max_tokens आवश्यक हैं और stream समर्थित है। |
| POST | /api/v2/aiservice/anthropic/v1/messages/count_tokens | बिना शुल्क लिए केवल इनपुट टोकन की संख्या का अनुमान लगाता है। max_tokens आवश्यक नहीं है। |
| GET | /api/v2/aiservice/anthropic/v1/models | कर्सर पेजिनेशन वाला मॉडल सूचीकरण। limit 1~1000 के बीच होना चाहिए; सीमा से बाहर होने पर 400 प्राप्त होता है। |
| GET | /api/v2/aiservice/anthropic/v1/models/{modelId} | एक मॉडल की जानकारी प्राप्त करता है। पहुँच उपलब्ध न होने पर 404 प्राप्त होता है। |
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/messages \
-H "X-API-Key: sk-..." \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "cip-5.5-im",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "안녕하세요"}]
}'स्ट्रीमिंग (SSE)
अनुरोध के मुख्य भाग में "stream": true डालने पर सर्वर Server-Sent Events के रूप में उत्तर देता है। यह पथ और मॉडल के अनुसार इस प्रकार अलग-अलग होता है।
| लक्ष्य | व्यवहार |
|---|---|
| OpenAI संगत POST /chat/completions · POST /completions · POST /responses | stream समर्थित है। |
| Anthropic संगत POST /v1/messages | stream समर्थित है। |
| POST /embeddings | स्ट्रीमिंग समर्थित नहीं है। |
| Ivy खोज श्रृंखला के मॉडल (ivy-4-mm-search आदि) | stream चालू करने पर भी सर्वर इसे बंद कर देता है और एक ही बार में उत्तर देता है। |
| GET /responses/{responseId}?stream=true | 400 के साथ अस्वीकार कर दिया जाता है। यह पथ तब तक बंद रखा गया है, जब तक बैकग्राउंड प्रतिक्रियाओं के उपयोग को सटीक रूप से केवल एक बार मापना संभव न हो। |
पहले चंक के साथ नीचे दिए गए तीन हेडर भेजे जाते हैं। इसके बाद प्रत्येक चंक के साथ event: पंक्ति (केवल तब, जब अपस्ट्रीम ने इवेंट का नाम दिया हो) और data: पंक्ति भेजी जाती है और तुरंत flush किया जाता है।
- Content-Type: text/event-stream
- Cache-Control: no-cache
- X-Accel-Buffering: no
Anthropic संगत पथ के चंक में event पंक्ति और data पंक्ति एक जोड़ी में होती हैं।
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"안"}}chat/completions के चंक data पंक्ति के रूप में आते हैं और अंत में data: [DONE] ज्यों का त्यों भेजा जाता है।
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[...]}
data: [DONE]ऑडियो और वॉइस पथ
TTS·STT और Cosa वॉइस प्रबंधन पथ OpenAI संगत विनिर्देश में हैं और सामान्य अनुमान से कुछ अलग नियम लागू होते हैं। कौन-सा मॉडल किस पथ की अनुमति देता है, यह मॉडल पृष्ठ की Cosa तालिका में दिया गया है।
| विधि | पथ | विवरण |
|---|---|---|
| POST | /api/v2/aiservice/openai/v1/audio/speech | टेक्स्ट को आवाज़ में संश्लेषित करके ऑडियो सीधे डाउनलोड करें। |
| POST | /api/v2/aiservice/openai/v1/audio/transcriptions | ऑडियो को टेक्स्ट में ट्रांसक्राइब करें (multipart)। |
| POST | /api/v2/aiservice/openai/v1/audio/speech/clone | क्लोन की गई वॉइस से आवाज़ संश्लेषित करें (multipart)। |
| GET | /api/v2/aiservice/openai/v1/voices | यह उन वॉइस की सूची है जिनका मैं उपयोग कर सकता हूँ। |
| POST | /api/v2/aiservice/openai/v1/voices | ऑडियो सैंपल से वॉइस पंजीकृत करें (multipart)। |
| POST | /api/v2/aiservice/openai/v1/voices/design | विवरण के आधार पर संश्लेषित वॉइस बनाएँ। |
| DELETE | /api/v2/aiservice/openai/v1/voices/{voiceId} | वॉइस हटाएँ। यह केवल स्वामी के लिए संभव है। |
| नियम | सामग्री |
|---|---|
| बाइनरी डिलीवरी | audio/speech, audio/speech/clone, outputs/{filename} की सफल प्रतिक्रिया ऑडियो को उसी रूप में स्ट्रीम करते हुए उसे CleviDrive में भी सहेजती है। |
| रसीद हेडर | X-Clevi-Drive-File-Id, X-Clevi-Drive-File-Version-Id, X-Clevi-Drive-Download-Url, X-Clevi-Drive-Expires-At, X-Clevi-Drive-Retention-Days: 3 लौटाए जाते हैं। प्रतिधारण अवधि 3 दिन है और उसके बाद 404 मिलता है। |
| Product चयन | audio/speech और audio/transcriptions में बॉडी के model से Product चुना जाता है। वॉइस और डायग्नोस्टिक्स पथों के लिए X-Product-Sku हेडर या product_sku क्वेरी आवश्यक है। |
| वॉइस स्वामित्व | क्लोन या पंजीकृत की गई वॉइस उसे बनाने वाली इकाई की होती है। किसी अन्य की वॉइस से संश्लेषण करने या उसे हटाने का प्रयास करने पर 403 मिलता है, और GET /voices सूची में भी केवल स्वयं के स्वामित्व वाली वॉइस रहती हैं। |
| आकार और समय | अनुरोध की अधिकतम सीमा 28 MiB है और अपस्ट्रीम कॉल की समय सीमा 5 मिनट है। |
| provider भीड़ | यदि अपस्ट्रीम व्यस्त हो, तो 409 उसी रूप में अग्रेषित किया जाता है, और यदि Retry-After दिया गया हो, तो वह मान भी साथ में अग्रेषित किया जाता है। गेटवे न तो पुनः प्रयास करता है और न ही अनुरोध को कतार में डालता है। |
