API દસ્તાવેજીકરણ

પેરાફ્રેઝ, વ્યાકરણ ચકાસણી, સારાંશ, અનુવાદ અને સાહિત્યચોરી તપાસ 56 ભાષાઓમાં. સાદું REST, Cloudflare ના edge પરથી પીરસાય છે.

Same-origin
હાલમાં API ફક્ત adeptwrite.com ની પોતાની વિનંતીઓ સ્વીકારે છે (CORS હેડર નથી). API કી સાથે બહારથી પ્રવેશ Pro પ્લાન સાથે આયોજિત છે. કરાર ખુલ્લો રહે અને તમે તૈયારી કરી શકો તે માટે આ દસ્તાવેજ વહેલો પ્રકાશિત કર્યો છે.
સારાંશ

AdeptWrite v1 API માં ત્રણ ચાલુ એન્ડપોઇન્ટ છે. POST /api/v1/run લખાણ (6,000 અક્ષર સુધી) પર AI કાર્ય ચલાવે છે; POST /api/v1/plagiarism લખાણને ખુલ્લા સ્રોતો સાથે સરખાવે છે; GET /api/v1/health સેવાની સ્થિતિ બતાવે છે. લખાણ સંગ્રહાતું નથી, અને AI વિનંતીઓ દર IP દીઠ મિનિટે 30 છે.

મૂળભૂત બાબતો

  • બેઝ 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✓ઇનપુટ લખાણ, 1–6,000 અક્ષર.
langstring✓પરિણામની ભાષા: સાઇટના 56 લોકેલ કોડમાંથી એક (en, id, gu, pt-pt, zh-hant…; pt-BR જેવા BCP 47 ટૅગ નકશા પ્રમાણે જોડાય છે) અથવા "ઇનપુટની જ ભાષા" માટે auto.
modestring—તે સાધન માટે ઉપલબ્ધ મોડ, દા.ત. Formal, Akademik, Ringkas, Poin-poin (મોડનાં નામ ઇન્ડોનેશિયન registry લેબલ છે). મોડ વગરનાં કાર્યો માટે અવગણાય છે.
optionsobject—કાર્ય મુજબના વિકલ્પો: translate માટે from / to (કોઈ પણ સમર્થિત ભાષાથી બીજી કોઈ પણ; from auto હોઈ શકે; sr-Cyrl સિરિલિકમાં સર્બિયન માગે છે), caption માટે platform (instagram / tiktok / linkedin), અને bio, coverletter તથા meta માટે વૈકલ્પિક નામવાળા fields. બાકીની કી અવગણાય છે.
POST /api/v1/run HTTP/1.1
Content-Type: application/json

{
  "task": "paraphrase",
  "mode": "Formal",
  "lang": "gu",
  "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":"gu","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: 'gu', 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

લખાણમાંથી 4–8 વિશિષ્ટ શબ્દસમૂહ પસંદ કરે છે, લખાણની ભાષામાં ખુલ્લા સ્રોતોમાં શોધે છે (Wikipedia, Wikisource, Internet Archive પૂર્ણ લખાણ, Europe PMC, DOAJ, arXiv; વેબ શોધ પ્રદાતા ફક્ત ગોઠવાયેલ હોય અને માગવામાં આવે ત્યારે) અને સામ્યનો સ્કોર આપે છે. ફક્ત તે ટૂંકા શબ્દસમૂહો સર્વરની બહાર જાય છે.

વિનંતી

FieldTypeRequiredNotes
textstring✓ઓછામાં ઓછા 30 શબ્દ, વધુમાં વધુ 6,000 અક્ષર.
langstring✓સાઇટનો લોકેલ કોડ અથવા auto.
optionsobject—web: true સંચાલકે વેબ શોધ પ્રદાતા ગોઠવ્યો હોય તો તેમાં પણ શોધે છે; જવાબમાંનું webSearched કહે છે કે તેણે ખરેખર જવાબ આપ્યો કે નહીં.
POST /api/v1/plagiarism HTTP/1.1
Content-Type: application/json

{ "text": "…ઓછામાં ઓછા 30 શબ્દ…", "lang": "gu", "options": { "web": false } }

પ્રતિભાવ

સ્ટેટસ 200, જેમાં score (મળેલા શબ્દો ÷ શબ્દો, 0–1), દરેક સ્રોત દીઠ matches અને ચિહ્નિત passages (તમારા લખાણમાં અક્ષરોના ઑફસેટ), sourcesSearched (બરાબર એ જ સ્રોતો જેમના જવાબ પરિણામમાં છે), કારણ સાથે sourcesSkipped અને webSearched હોય છે.

{
  "ok": true,
  "score": 0.42,
  "words": 52,
  "matchedWords": 22,
  "matches": [{ "source": "wikipedia", "title": "…", "url": "https://gu.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":"gu","text":"…ઓછામાં ઓછા 30 શબ્દ…"}'

GET/api/v1/health

કઈ સેવાઓ ચાલુ છે તે જણાવે છે. કોઈ બૉડી લેતું નથી અને ક્વોટામાં ગણાતું નથી.

પ્રતિભાવ

સ્ટેટસ 200. AI કિલ સ્વિચ ચાલુ હોય ત્યારે 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 (હાઇકુ).

મર્યાદાઓ

લખાણની લંબાઈ
દરેક વિનંતીમાં વધુમાં વધુ 6,000 અક્ષર (તેથી વધુ પર 413 too_long).
દર IP સરનામા દીઠ
મિનિટે 30 વિનંતી.
વૈશ્વિક
આખી સેવા માટે મિનિટે 100 વિનંતી, ઉપરાંત AI સુવિધાઓ માટે રોજની મર્યાદા.
સાહિત્યચોરી તપાસ
દર IP દીઠ મિનિટે 5 તપાસ અને આખી સેવા માટે મિનિટે 60; ઓછામાં ઓછા 30 શબ્દ.
આઉટપુટ
દરેક કાર્ય માટે લંબાઈનું અંદાજપત્ર, ક્યારેય 2,048 ટોકનથી વધુ નહીં; કપાયેલા જવાબમાં 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 6,000 અક્ષરથી વધુ છે.
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 ને મોકલેલું લખાણ સંગ્રહાય છે?

ના. લખાણ જવાબ બનાવવા માટે મોડેલને અપાય છે અને પછી કાઢી નંખાય છે. લૉગમાં ફક્ત મેટાડેટા (સ્ટેટસ કોડ, કાર્ય, સમયગાળો) હોય છે. બધી વિગતો માટે ગોપનીયતા નીતિ જુઓ.

આઉટપુટ સંરચિત JSON ને બદલે સાદું લખાણ કેમ છે?

દરેક કાર્ય પ્રસ્તાવના અને Markdown ફેન્સ વગરનું તૈયાર લખાણ આપે છે, જેથી તે સીધું એડિટરમાં બતાવી શકાય. વધારાની રચના (જેમ કે ફેરફારોની યાદી) v1 બદલ્યા વિના પછીના સંસ્કરણ માટે આયોજિત છે.

API નો ખર્ચ કેટલો છે?

adeptwrite.com પરથી તે મફત છે, દર IP દીઠ મિનિટે 30 AI વિનંતી સુધી મર્યાદિત. બહારના પ્રવેશની કિંમત Pro પ્લાન સાથે જાહેર થશે; ત્યાં સુધી કોઈ શુલ્ક લેવાતું નથી.

મારી વિનંતીનો જવાબ કયું મોડેલ આપે છે?

તે ભાષા પર આધાર રાખે છે: અંગ્રેજી અને ઇન્ડોનેશિયન SEA-LION પર જાય છે, બાકીની ભાષાઓ Qwen3-30B પર. એ મોડેલ વ્યસ્ત હોય કે નિષ્ફળ જાય તો વૈકલ્પિક શ્રેણીનું આગલું મોડેલ જવાબ આપે છે, અને જવાબનું model ફીલ્ડ તેનું નામ આપે છે.