Skip to main content
अपने स्वयं के एप्लिकेशन से Krea Agent को कोई कार्य देने के लिए Agent API का उपयोग करें। अनुरोध और रिस्पॉन्स camelCase JSON फ़ील्ड का उपयोग करते हैं। एजेंट बैकग्राउंड में काम करता है, जबकि आपका एप्लिकेशन उसकी प्रगति और परिणाम पढ़ता है।
एजेंट बैकग्राउंड में काम करता है। यह प्रश्न नहीं पूछता, और लागत व अनुमति संबंधी प्रॉम्प्ट अपने आप स्वीकृत हो जाते हैं। अपने प्रॉम्प्ट में सभी आवश्यकताएँ और सीमाएँ शामिल करें। सबमिट करने से पहले कार्य की समीक्षा करें।

ऑथेंटिकेशन, एक्सेस और बिलिंग

https://api.krea.ai पर हर अनुरोध के साथ Authorization: Bearer KREA_API_KEY भेजें। पर्सनल, सर्विस और लेगेसी API keys मानक पब्लिक API ऑथेंटिकेशन का उपयोग करती हैं। आप केवल वही सेशन पढ़ या जारी रख सकते हैं जो ऑथेंटिकेटेड वर्कस्पेस में ऑथेंटिकेटेड कॉलर के स्वामित्व में हों। सेशन ID जानने से एक्सेस नहीं मिलता। Krea फ़ाइल अटैचमेंट भी उस वर्कस्पेस में उस कॉलर के लिए एक्सेस योग्य होने चाहिए।
एजेंट टर्न वर्कस्पेस के compute unit बैलेंस का उपयोग करते हैं। वे API बैलेंस का उपयोग नहीं करते। Agent प्लान की पात्रताएँ और Free प्लान की संदेश सीमाएँ फिर भी लागू होती हैं। Agent प्लान, एक्सेस और क्रेडिट देखें।
हर रिस्पॉन्स में एक url शामिल होता है, जहाँ आप उपयुक्त अकाउंट और वर्कस्पेस एक्सेस के साथ Krea ऐप में सेशन खोल सकते हैं।

सेशन शुरू करें और उसके परिणाम की प्रतीक्षा करें

पहले अपने एनवायरनमेंट में KREA_API_KEY सेट करें। curl और jq के साथ Bash, requests के साथ Python, या बिल्ट-इन fetch या Krea SDK के साथ Node.js चुनें।
1

पहला टर्न सबमिट करें

सेशन बनाने के लिए sessionId छोड़ दें। लौटाए गए sessionId और runId सहेजें। रिस्पॉन्स status: "running" के साथ तुरंत लौटता है।
2

इस टर्न की प्रतीक्षा करें

दोनों IDs को wait-for-session में पास करें। यदि timedOut का मान true है, तो उन्हीं IDs के साथ इसे फिर से कॉल करें। टाइमआउट से टर्न रद्द नहीं होता।
3

परिणाम पढ़ें

जब finished का मान true हो, तो status जाँचें। text, media और किसी भी error का निरीक्षण करें, या लौटाया गया url खोलें।
Python के लिए, pip install requests से requests इंस्टॉल करें। Node.js के लिए, Node.js 22+ का उपयोग करें और उदाहरण को example.mjs के रूप में सहेजें। SDK उदाहरण के लिए npm install @krea-ai/sdk आवश्यक है और यह HTTP एंडपॉइंट्स को कॉल करने के लिए requestRaw का उपयोग करता है। ये उदाहरण एक संदेश सबमिट करते हैं और अधिकतम पाँच मिनट तक प्रतीक्षा करते हैं। ये HTTP त्रुटियों और विफल या रद्द किए गए टर्न पर रुक जाते हैं। ये कभी भी अपने आप सेंड को दोबारा नहीं आज़माते। यदि कोई सेंड अनुरोध टाइम आउट हो जाता है, तो दोबारा सबमिट करने से पहले Krea में सेशन जाँचें; हो सकता है पहले अनुरोध ने कोई टर्न शुरू कर दिया हो। जब प्रतीक्षा बजट समाप्त हो जाता है, तो टर्न बैकग्राउंड में जारी रहता है। बाद में प्रतीक्षा फिर से शुरू करने के लिए प्रिंट किए गए सेशन और रन IDs सहेजें। timeoutSeconds 1 से 300 तक का एक पूर्णांक है और इसका डिफ़ॉल्ट 60 है। अपने HTTP क्लाइंट का टाइमआउट अनुरोधित प्रतीक्षा से लंबा रखें। सेंड के बाद प्रतीक्षा करते समय हमेशा नवीनतम runId पास करें, ताकि पिछले टर्न की अंतिम स्थिति को नए टर्न की स्थिति न समझ लिया जाए।

बिना प्रतीक्षा किए पढ़ें

मौजूदा सेशन का स्नैपशॉट लेने के लिए GET /agent/session/{sessionId} का उपयोग करें:
cURL

सेशन जारी रखें

टर्न पूरा होने के बाद, उसके sessionId के साथ एक और संदेश भेजें:
cURL
एक सेशन एक समय में एक ही टर्न चलाता है। किसी टर्न के चलते समय दूसरा संदेश भेजने पर code: "conflict" के साथ 409 लौटता है।

इनपुट और अटैचमेंट

send-message ये फ़ील्ड स्वीकार करता है। पूरे मॉडल enum और स्कीमा के लिए रेफ़रेंस देखें। अटैचमेंट url एक एक्सेस योग्य HTTP(S) URL या एक अधिकृत Krea Files URI स्वीकार करता है, जैसे file:550e8400-e29b-41d4-a716-446655440000। वैकल्पिक name और contentType ट्रिम की हुई, गैर-रिक्त स्ट्रिंग्स हैं, अधिकतम 255 वर्ण। कॉलर के लोकल पाथ और OpenAI file_ IDs समर्थित नहीं हैं। पहले वास्तविक फ़ाइल ट्रांसफ़र करें; प्रॉम्प्ट टेक्स्ट में ID देने से उसकी सामग्री ट्रांसफ़र नहीं होती। एजेंट आपके एप्लिकेशन की बातचीत या अटैचमेंट इनहेरिट नहीं करता। ऐसी रेफ़रेंस फ़ाइलें अटैच करें जो अन्यथा एक्सेस योग्य नहीं हैं। प्रॉम्प्ट, मौजूदा Krea कॉन्टेक्स्ट या पिछली सेशन फ़ाइलों में पहले से मौजूद उपयोग योग्य URLs को दोहराने की आवश्यकता नहीं है।

सेशन परिणाम

send-message sessionId, threadId, runId, status (हमेशा "running") और url लौटाता है। GET /agent/session/{sessionId} और wait-for-session निम्नलिखित सेशन व्यू लौटाते हैं। केवल wait-for-session आवश्यक timedOut फ़ील्ड जोड़ता है। हर media आइटम एक जनरेशन (jobId और वैकल्पिक mediaKind: image, video, audio या 3d), रीहोस्ट किया गया मीडिया (url, वैकल्पिक mimeType के साथ), या एक Krea फ़ाइल (uri, name, mimeType) को दर्शा सकता है। जनरेशन विवरण GET /jobs/{jobId} के माध्यम से प्राप्त करें। आप किसी Krea फ़ाइल URI को अटैचमेंट के रूप में दोबारा उपयोग कर सकते हैं या उसकी फ़ाइलें देखने के लिए सेशन का url खोल सकते हैं। टर्न के चलते समय भी मीडिया दिखाई दे सकता है।

त्रुटियाँ

एंडपॉइंट त्रुटियाँ { "error": "...", "code": "...", "allowedModels": ["..."] } का उपयोग करती हैं। केवल error आवश्यक है। सबमिशन के बाद विफल होने वाला टर्न इसके बजाय एक सफल सेशन रिस्पॉन्स में status: "failed" के रूप में दिखाई देता है।