पॅराफ्रेज, व्याकरण तपासणी, सारांश, भाषांतर आणि प्लेजरिझम तपासणी ५६ भाषांमध्ये, तुमच्या अॅपसाठी. Cloudflare च्या एजवरून चालणारा साधा REST API.
Same-origin
सध्या API फक्त adeptwrite.com संकेतस्थळावरूनच आलेल्या विनंत्यांना उत्तर देतो (CORS हेडर नाहीत). API कीजद्वारे बाह्य प्रवेश Pro प्लॅनसोबत नियोजित आहे. करार खुला राहावा आणि तुम्हाला तयारी करता यावी म्हणून हे दस्तऐवज आधीच प्रकाशित केले आहेत.
सारांश
AdeptWrite v1 API चे तीन endpoints आहेत. POST /api/v1/run task, mode, lang आणि text (जास्तीत जास्त ६,००० अक्षरे) घेऊन साधा मजकूर निकाल देतो; POST /api/v1/plagiarism मजकुराची मुक्त स्रोतांशी तुलना करतो आणि तपासलेले स्रोत सांगतो; GET /api/v1/health सेवेची स्थिती देतो. मजकूर साठवला जात नाही.
मूलभूत माहिती
Base URL:https://adeptwrite.com/api/v1
स्वरूप: विनंत्या आणि प्रतिसाद JSON मध्ये असतात (Content-Type: application/json, UTF-8).
प्रमाणीकरण: अजून नाही; विनंत्या adeptwrite.com च्या पानांवरूनच (same-origin) आल्या पाहिजेत. API की Pro सोबत येतील.
गोपनीयता:text मधील मजकूर साठवला जात नाही आणि लॉगमध्ये नोंदवला जात नाही; प्रतिसादांत Cache-Control: no-store असतो.
आवृत्ती:/v1/ मार्ग विसंगत पद्धतीने बदलणार नाही; मोठे बदल /v2/ वापरतील.
POST/api/v1/run
मजकुरावर एक AI काम चालवतो आणि निकाल साधा मजकूर म्हणून देतो (प्रस्तावनेशिवाय, Markdown ब्लॉकशिवाय).
विनंती
Field
Type
Required
Notes
task
string
✓
कामाचे नाव; खालील यादी पाहा.
text
string
✓
इनपुट मजकूर, १ ते ६,००० अक्षरे.
lang
string
✓
निकालाची भाषा: संकेतस्थळाच्या ५६ लोकेल कोडपैकी एक (en, id, mr, ja, pt-pt, zh-hant…; pt-BR सारखे BCP 47 टॅग जुळवले जातात) किंवा "इनपुटच्या भाषेतच" यासाठी auto.
mode
string
—
त्या साधनासाठी उपलब्ध मोड, उदा. Formal, Akademik, Ringkas, Poin-poin (मोडची नावे नोंदणीतील इंडोनेशियन लेबले आहेत). मोड नसलेल्या कामांसाठी दुर्लक्षित.
options
object
—
कामानुसार पर्याय: translate साठी from / to (कोणत्याही समर्थित भाषेतून कोणत्याही दुसऱ्या भाषेत; from हे auto असू शकते; sr-Cyrl सर्बियन सिरिलिक लिपीत मागतो), caption साठी platform (instagram / tiktok / linkedin), आणि bio, coverletter व meta साठी ऐच्छिक नावे असलेले fields. इतर keys दुर्लक्षित.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "mr",
"text": "विद्यार्थ्यांसाठी चांगले लेखन खूप महत्त्वाचे आहे.",
"options": {}
}
प्रतिसाद
स्टेटस 200, ok: true, निकाल output मध्ये, प्रत्यक्षात उत्तर देणारे मॉडेल model मध्ये (पर्यायी मॉडेलने काम केले तर ते वेगळे असते) आणि प्रक्रिया वेळ मिलिसेकंदांत. उत्तर लांबीच्या मर्यादेवर किंवा वेळेच्या मर्यादेवर तुटले असेल तर truncated: true जोडले जाते.
{
"ok": true,
"output": "विद्यार्थ्यांसाठी लेखनाचा दर्जा अत्यंत महत्त्वाचा आहे.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
const res = await fetch('/api/v1/run', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ task: 'summarize', mode: 'Poin-poin', lang: 'mr', text }),
});
const data = await res.json();
if (!data.ok) throw new Error(data.error.code + ': ' + data.error.message);
console.log(data.output);
POST/api/v1/plagiarism
मजकुरातील ४–८ वैशिष्ट्यपूर्ण वाक्यांश निवडतो, मजकुराच्या भाषेतील मुक्त स्रोतांमध्ये (Wikipedia, Wikisource, Internet Archive पूर्ण मजकूर, Europe PMC, DOAJ, arXiv; वेब शोध पुरवठादार फक्त कॉन्फिगर केलेला असेल आणि मागितला असेल तेव्हा) शोधतो आणि साम्याचे गुण देतो. फक्त ते छोटे वाक्यांश सर्व्हरबाहेर जातात.
विनंती
Field
Type
Required
Notes
text
string
✓
किमान ३० शब्द, जास्तीत जास्त ६,००० अक्षरे.
lang
string
✓
संकेतस्थळाचा लोकेल कोड किंवा auto.
options
object
—
web: true हे संचालकाने वेब शोध पुरवठादार कॉन्फिगर केला असेल तर वेबवरही शोधते; त्याने खरोखर उत्तर दिले का हे प्रतिसादातील webSearched सांगते.
POST /api/v1/plagiarism HTTP/1.1
Content-Type: application/json
{ "text": "…किमान ३० शब्द…", "lang": "mr", "options": { "web": false } }
प्रतिसाद
स्टेटस 200, ज्यात score (जुळलेले शब्द ÷ शब्द, ० ते १), प्रत्येक स्रोतानुसार matches आणि ठळक केलेले passages (तुमच्या मजकुरातील अक्षर-ऑफसेट), sourcesSearched (ज्यांची उत्तरे निकालात आहेत तेच स्रोत), कारणासह sourcesSkipped आणि webSearched असतात.
curl -X POST https://adeptwrite.com/api/v1/plagiarism \
-H "Content-Type: application/json" \
-d '{"lang":"mr","text":"…किमान ३० शब्द…"}'
GET/api/v1/health
कोणत्या सेवा सुरू आहेत ते सांगतो. त्यात body नसतो आणि तो कोट्यात मोजला जात नाही.
प्रतिसाद
स्टेटस 200. AI kill switch चालू असताना ai हे false असते; plagiarism तपासणी ज्या स्रोतांना विचारू शकते त्यांची यादी देते; aidetect हे AI डिटेक्टरच्या सर्व्हर-बाजूच्या सखोल विश्लेषणाचे वर्णन करते, जे अजून तैनात केलेले नाही (POST /api/v1/aidetect हे 503 disabled देतो; संकेतस्थळावरील डिटेक्टर तुमच्या ब्राउझरमध्ये चालतो).
ताठर किंवा अवघड वाक्ये सुधारतो; मोड: Standar (साधा), Formal (औपचारिक).
resize
वाक्ये संक्षिप्त किंवा विस्तृत करतो; मोड: Ringkas, Panjangkan.
essay
मुद्द्यांवरून परिच्छेद किंवा निबंध तयार करतो; मोड: Akademik, Kreatif, Panjangkan.
summarize
सारांश; मोड: Poin-poin (मुद्देसूद), Paragraf (परिच्छेद), Satu kalimat (एका वाक्यात).
translate
कोणत्याही दोन समर्थित भाषांमधील भाषांतर; options.from (किंवा auto) आणि options.to; मोड: Alami (नैसर्गिक, डिफॉल्ट), Formal (औपचारिक), Santai (अनौपचारिक).
छोट्या कविता; मोड: Bebas (मुक्तछंद), Berima (यमकबद्ध), Akrostik (आद्याक्षरी), Haiku (हायकू).
मर्यादा
मजकुराची लांबी
प्रति विनंती जास्तीत जास्त ६,००० अक्षरे (त्याहून जास्त असल्यास 413 too_long).
प्रति IP पत्ता
प्रति मिनिट ३० विनंत्या.
जागतिक
संपूर्ण सेवेसाठी प्रति मिनिट १०० विनंत्या, तसेच AI सुविधांसाठी दैनिक कमाल मर्यादा.
प्लेजरिझम
प्रति IP प्रति मिनिट ५ तपासण्या आणि संपूर्ण सेवेसाठी प्रति मिनिट ६०; किमान ३० शब्द.
निकाल
प्रत्येक कामासाठी लांबीची मर्यादा, कधीही २,०४८ टोकनपेक्षा जास्त नाही; तुटलेल्या उत्तरात truncated: true असते.
मॉडेल
भाषेनुसार निवडले जाते: इंग्रजी आणि इंडोनेशियन @cf/aisingapore/gemma-sea-lion-v4-27b-it वर चालतात, इतर प्रत्येक भाषा (मराठीसह) @cf/qwen/qwen3-30b-a3b-fp8 वर. मॉडेल व्यस्त, दर-मर्यादित, संथ असेल किंवा अयशस्वी झाले तर विनंती साखळीतील पुढच्या मॉडेलकडे जाते (Qwen3-30B, मग @cf/google/gemma-4-26b-a4b-it, मग @cf/meta/llama-3.3-70b-instruct-fp8-fast). model फील्ड नेहमी उत्तर देणाऱ्या मॉडेलचे नाव सांगते.
त्रुटी कोड
स्थिती
कोड
केव्हा घडते
400
invalid_request
अवैध JSON, आवश्यक फील्ड नाही, किंवा अज्ञात task अथवा lang.
413
too_long
text ६,००० अक्षरांपेक्षा जास्त आहे.
403
forbidden
विनंती adeptwrite.com च्या पानावरून आलेली नाही.
429
rate_limited
प्रति IP किंवा जागतिक प्रति मिनिट मर्यादा ओलांडली. Retry-After मधील सेकंद थांबा.
429
quota_exceeded
AI सुविधांची दैनिक कमाल मर्यादा संपली. दुसऱ्या दिवशी (UTC) पुन्हा प्रयत्न करा.
502
upstream
साखळीतील कोणत्याही मॉडेलने वेळेत उत्तर दिले नाही.
502
empty_output
मॉडेलनी उत्तर दिले, पण निकाल रिकामा होता.
503
disabled
संचालकाने सेवा तात्पुरती बंद केली आहे, किंवा (/api/v1/aidetect साठी) ती अजून तैनात केलेली नाही.
त्रुटीचे स्वरूप
प्रत्येक त्रुटी संबंधित HTTP स्टेटस कोडसह आणि एकाच स्वरूपातील JSON म्हणून येते:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
आधी ok तपासा, मग प्रोग्रामॅटिक हाताळणीसाठी error.code वाचा; error.message वापरकर्त्यांना दाखवण्यास सुरक्षित आहे.
शिफारस केलेली पद्धत
एकच लांब दस्तऐवज पाठवण्याऐवजी मजकूर भागांमध्ये (उदा. परिच्छेदानुसार) पाठवा; निकाल लवकर येतात आणि तपासायला सोपे जातात.
429 आल्यास लगेच पुन्हा प्रयत्न करू नका; exponential back-off वापरा.
गरज नसलेला वैयक्तिक किंवा गोपनीय डेटा पाठवू नका — आम्ही तो साठवत नसलो तरी डेटा कमीत कमी ठेवण्याचे तत्त्व लागू राहते.
AI निकाल चुकीचा असू शकतो; तो अंतिम सत्य म्हणून नव्हे, तर तपासण्याची सूचना म्हणून दाखवा.
नेहमी विचारले जाणारे प्रश्न
मी माझ्या स्वतःच्या अॅपमधून किंवा डोमेनवरून API वापरू शकतो का?
सध्या नाही. Worker सध्या CORS हेडर पाठवत नाही आणि फक्त adeptwrite.com च्या पानांना उत्तर देतो. API कीजद्वारे बाह्य प्रवेश Pro प्लॅनसोबत नियोजित आहे; तो उपलब्ध झाल्यावर हे दस्तऐवज अद्ययावत केले जातील.
API ला पाठवलेला मजकूर साठवला जातो का?
नाही. मजकूर उत्तर तयार करण्यासाठी मॉडेलकडे दिला जातो आणि नंतर टाकून दिला जातो. लॉगमध्ये फक्त मेटाडेटा (स्टेटस कोड, काम, कालावधी) असतो. सर्व तपशिलांसाठी गोपनीयता धोरण पाहा.
निकाल structured JSON ऐवजी साधा मजकूर का आहे?
प्रत्येक काम प्रस्तावना आणि Markdown ब्लॉकशिवाय एकच वापरण्यास तयार मजकूर देते, म्हणजे तो थेट एडिटरमध्ये दाखवता येतो. अतिरिक्त रचना (उदा. बदलांची यादी) v1 न बदलता पुढील आवृत्तीसाठी नियोजित आहे.
API ची किंमत किती आहे?
adeptwrite.com वरून तो मोफत आहे, प्रति IP प्रति मिनिट ३० AI विनंत्यांच्या मर्यादेसह. बाह्य प्रवेशाची किंमत Pro प्लॅनसोबत जाहीर होईल; तोपर्यंत काहीही आकारले जात नाही.
माझ्या विनंतीला कोणते मॉडेल उत्तर देते?
हे भाषेवर अवलंबून आहे: इंग्रजी आणि इंडोनेशियन SEA-LION कडे जातात, इतर भाषा (मराठीसह) Qwen3-30B कडे. ते मॉडेल व्यस्त असेल किंवा अयशस्वी झाले तर पर्यायी साखळीतील पुढचे मॉडेल उत्तर देते, आणि प्रतिसादातील model फील्ड उत्तर देणाऱ्या मॉडेलचे नाव सांगते.