API दस्तऐवज

पॅराफ्रेज, व्याकरण तपासणी, सारांश, भाषांतर आणि प्लेजरिझम तपासणी ५६ भाषांमध्ये, तुमच्या अ‍ॅपसाठी. 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 ब्लॉकशिवाय).

विनंती

FieldTypeRequiredNotes
taskstring✓कामाचे नाव; खालील यादी पाहा.
textstring✓इनपुट मजकूर, १ ते ६,००० अक्षरे.
langstring✓निकालाची भाषा: संकेतस्थळाच्या ५६ लोकेल कोडपैकी एक (en, id, mr, ja, pt-pt, zh-hant…; pt-BR सारखे BCP 47 टॅग जुळवले जातात) किंवा "इनपुटच्या भाषेतच" यासाठी auto.
modestring—त्या साधनासाठी उपलब्ध मोड, उदा. Formal, Akademik, Ringkas, Poin-poin (मोडची नावे नोंदणीतील इंडोनेशियन लेबले आहेत). मोड नसलेल्या कामांसाठी दुर्लक्षित.
optionsobject—कामानुसार पर्याय: 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
}

उदाहरण: curl

curl -X POST https://adeptwrite.com/api/v1/run \
  -H "Content-Type: application/json" \
  -d '{"task":"grammar","lang":"mr","text":"तुमचा मजकूर येथे."}'

उदाहरण: JavaScript (fetch)

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; वेब शोध पुरवठादार फक्त कॉन्फिगर केलेला असेल आणि मागितला असेल तेव्हा) शोधतो आणि साम्याचे गुण देतो. फक्त ते छोटे वाक्यांश सर्व्हरबाहेर जातात.

विनंती

FieldTypeRequiredNotes
textstring✓किमान ३० शब्द, जास्तीत जास्त ६,००० अक्षरे.
langstring✓संकेतस्थळाचा लोकेल कोड किंवा auto.
optionsobject—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 असतात.

{
  "ok": true,
  "score": 0.42,
  "words": 52,
  "matchedWords": 22,
  "matches": [{ "source": "wikipedia", "title": "…", "url": "https://mr.wikipedia.org/wiki/…",
                "matchedWords": 22, "passages": [{ "start": 0, "end": 131, "text": "…" }] }],
  "sourcesSearched": ["wikipedia", "wikisource", "internet-archive-fts", "europepmc", "doaj"],
  "sourcesSkipped": [],
  "webSearched": false,
  "ms": 2310
}

उदाहरण: curl

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 देतो; संकेतस्थळावरील डिटेक्टर तुमच्या ब्राउझरमध्ये चालतो).

{
  "ok": true,
  "ai": true,
  "plagiarism": { "enabled": true, "sources": ["wikipedia", "wikisource", "internet-archive-fts", "europepmc", "doaj", "arxiv"], "web": false },
  "aidetect": { "enabled": false, "judge": false }
}

उदाहरण: curl

curl https://adeptwrite.com/api/v1/health

Task list

taskWhat it does
paraphraseपॅराफ्रेज; मोड: Standar (साधा), Formal, Santai (अनौपचारिक), Akademik (शैक्षणिक), Kreatif (सर्जनशील), Ringkas (संक्षिप्त), Panjangkan (विस्तृत).
grammarव्याकरण आणि शुद्धलेखनाची दुरुस्ती.
toneसूर बदला; मोड: Formal (औपचारिक), Kantor (कार्यालयीन), Santai (अनौपचारिक).
rewriteताठर किंवा अवघड वाक्ये सुधारतो; मोड: Standar (साधा), Formal (औपचारिक).
resizeवाक्ये संक्षिप्त किंवा विस्तृत करतो; मोड: Ringkas, Panjangkan.
essayमुद्द्यांवरून परिच्छेद किंवा निबंध तयार करतो; मोड: Akademik, Kreatif, Panjangkan.
summarizeसारांश; मोड: Poin-poin (मुद्देसूद), Paragraf (परिच्छेद), Satu kalimat (एका वाक्यात).
translateकोणत्याही दोन समर्थित भाषांमधील भाषांतर; options.from (किंवा auto) आणि options.to; मोड: Alami (नैसर्गिक, डिफॉल्ट), Formal (औपचारिक), Santai (अनौपचारिक).
thesisप्रबंध शीर्षकाच्या कल्पना आणि प्रकरणांचा आराखडा.
abstractसंशोधन सारांशावरून रचनाबद्ध गोषवारा.
captionसोशल मीडिया कॅप्शन; options.platform: instagram, tiktok, linkedin.
emailईमेल आणि पत्रे; मोड: Lamaran kerja (नोकरीसाठी अर्ज), Surat resmi (औपचारिक पत्र), Follow-up (पाठपुरावा).
headlineलेखाची शीर्षके आणि मथळे; मोड: Kreatif, Ringkas.
productउत्पादन वर्णन; मोड: Marketplace (मार्केटप्लेस), Toko online (ऑनलाइन स्टोअर).
synonymएका शब्दासाठी किंवा शब्दसमूहासाठी समानार्थी शब्दांची यादी.
humanizeताठर, सरधोपट मजकूर अधिक नैसर्गिक वाटेल असा करतो; मोड: Alami (नैसर्गिक), Pribadi (वैयक्तिक), Profesional (व्यावसायिक).
metaमेटा शीर्षक आणि वर्णनाच्या तीन जोड्या; मोड: Artikel (लेख), Produk (उत्पादन), Halaman (कोणतेही वेबपेज).
hashtagहॅशटॅगची एक ओळ; मोड: Instagram, TikTok, LinkedIn, X.
bioप्रोफाइल बायोचे तीन प्रकार; मोड: Instagram, LinkedIn, X, TikTok.
outlineउपमुद्द्यांसह क्रमांकित आराखडा; मोड: Artikel (लेख), Esai (निबंध), Skripsi (प्रबंध), Presentasi (सादरीकरण).
sloganदहा घोषवाक्यांच्या कल्पना; मोड: Merek (ब्रँड), Kampanye (मोहीम), Produk (उत्पादन).
paragraphविषयावरून एक परिच्छेद; मोड: Pembuka (प्रस्तावना), Isi (मुख्य भाग), Penutup (समारोप).
coverletterकव्हर लेटरचा मसुदा; मोड: Fresh graduate (फ्रेशर), Berpengalaman (अनुभवी), Magang (इंटर्नशिप).
poemछोट्या कविता; मोड: 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 फील्ड नेहमी उत्तर देणाऱ्या मॉडेलचे नाव सांगते.

त्रुटी कोड

स्थितीकोडकेव्हा घडते
400invalid_requestअवैध JSON, आवश्यक फील्ड नाही, किंवा अज्ञात task अथवा lang.
413too_longtext ६,००० अक्षरांपेक्षा जास्त आहे.
403forbiddenविनंती adeptwrite.com च्या पानावरून आलेली नाही.
429rate_limitedप्रति IP किंवा जागतिक प्रति मिनिट मर्यादा ओलांडली. Retry-After मधील सेकंद थांबा.
429quota_exceededAI सुविधांची दैनिक कमाल मर्यादा संपली. दुसऱ्या दिवशी (UTC) पुन्हा प्रयत्न करा.
502upstreamसाखळीतील कोणत्याही मॉडेलने वेळेत उत्तर दिले नाही.
502empty_outputमॉडेलनी उत्तर दिले, पण निकाल रिकामा होता.
503disabledसंचालकाने सेवा तात्पुरती बंद केली आहे, किंवा (/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 फील्ड उत्तर देणाऱ्या मॉडेलचे नाव सांगते.