Nyaraka za API

Kufafanua upya, kukagua sarufi, muhtasari, tafsiri na ukaguzi wa wizi wa maandishi katika lugha 56 kwa programu yako. REST rahisi inayohudumiwa kutoka ukingo wa mtandao wa Cloudflare.

Same-origin
Kwa sasa API inahudumia maombi yanayotoka kwenye tovuti ya adeptwrite.com pekee (hakuna vichwa vya CORS). Ufikiaji wa nje kwa funguo za API unapangwa pamoja na mpango wa Pro. Nyaraka hizi zimechapishwa mapema ili mkataba uwe wazi na uweze kujiandaa.
Muhtasari

API ya AdeptWrite v1 ina endpoint tatu zinazofanya kazi. POST /api/v1/run hupokea JSON yenye task, mode, lang na text (hadi herufi 6,000) na kurudisha maandishi matupu kutoka kwa modeli ya Cloudflare Workers AI iliyochaguliwa kulingana na lugha; POST /api/v1/plagiarism hulinganisha maandishi na vyanzo huria na kuorodhesha kila chanzo kilichotafutwa; GET /api/v1/health hurudisha hali ya huduma. Maandishi hayahifadhiwi wala kurekodiwa kamwe, na maombi ya AI yamewekewa kikomo cha 30 kwa dakika kwa kila IP.

Misingi

  • Base URL: https://adeptwrite.com/api/v1
  • Umbizo: maombi na majibu ni JSON (Content-Type: application/json, UTF-8).
  • Uthibitishaji: bado hakuna; maombi lazima yatoke kwenye kurasa za adeptwrite.com (same-origin). Funguo za API zinakuja pamoja na Pro.
  • Faragha: sehemu ya text haihifadhiwi wala kurekodiwa; majibu hubeba Cache-Control: no-store.
  • Matoleo: njia ya /v1/ haitabadilika kwa namna isiyooana; mabadiliko makubwa yatatumia /v2/.

POST/api/v1/run

Huendesha kazi moja ya AI kwenye maandishi na kurudisha matokeo kama maandishi matupu (bila utangulizi, bila vizuizi vya Markdown).

Ombi

FieldTypeRequiredNotes
taskstring✓Jina la kazi; tazama orodha ya task hapa chini.
textstring✓Maandishi ya kuingiza, herufi 1–6,000.
langstring✓Lugha ya matokeo: mojawapo ya misimbo 56 ya lokali za tovuti (sw, en, id, ja, pt-pt, zh-hant na kadhalika; tagi za BCP 47 kama pt-BR pia hulinganishwa) au auto kumaanisha "sawa na lugha ya maandishi ya kuingiza".
modestring—Hali inayopatikana kwa zana hiyo, kwa mfano Formal, Akademik, Ringkas, Poin-poin. Hupuuzwa kama kazi haina hali.
optionsobject—Chaguo za ziada kwa kila kazi: from / to kwa translate (kutoka lugha yoyote inayotumika kwenda nyingine; from inaweza kuwa auto; sr-Cyrl huomba Kiserbia kwa herufi za Kisirili), platform (instagram / tiktok / linkedin) kwa caption, na fields zenye lebo za hiari kwa bio, coverletter na meta. Funguo nyingine hupuuzwa.
POST /api/v1/run HTTP/1.1
Content-Type: application/json

{
  "task": "paraphrase",
  "mode": "Formal",
  "lang": "sw",
  "text": "Ubora wa uandishi ni muhimu sana kwa wanafunzi wa chuo.",
  "options": {}
}

Jibu

Hali 200 yenye ok: true, matokeo kwenye output, modeli iliyojibu kweli kwenye model (tofauti ikiwa modeli mbadala imechukua nafasi) na muda wa uchakataji kwa milisekunde. truncated: true huongezwa jibu likikatwa kwa kufikia kikomo cha urefu au cha muda.

{
  "ok": true,
  "output": "Ubora wa maandishi una umuhimu mkubwa kwa wanafunzi wa chuo.",
  "model": "@cf/qwen/qwen3-30b-a3b-fp8",
  "ms": 812
}

Mfano: curl

curl -X POST https://adeptwrite.com/api/v1/run \
  -H "Content-Type: application/json" \
  -d '{"task":"grammar","lang":"sw","text":"Wanafunzi wote wamefika shuleni mapema leo asubuhi."}'

Mfano: 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: 'sw', 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

Huchagua vifungu 4–8 vya kipekee kutoka kwenye maandishi, huvitafuta kwenye vyanzo huria kulingana na lugha ya maandishi (Wikipedia, Wikisource, maandishi kamili ya Internet Archive, Europe PMC, DOAJ, arXiv; mtoa huduma wa utafutaji wa wavuti hutumika tu akiwa amesanidiwa na ameombwa), kisha hukokotoa mwingiliano. Ni vifungu hivyo vifupi tu vinavyotoka kwenye seva.

Ombi

FieldTypeRequiredNotes
textstring✓Maneno 30 angalau, herufi 6,000 kwa upeo.
langstring✓Msimbo wa lokali ya tovuti au auto.
optionsobject—web: true hutumia pia mtoa huduma wa utafutaji wa wavuti kama mwendeshaji ameusanidi; webSearched kwenye jibu hueleza kama mtoa huduma huyo alijibu kweli.
POST /api/v1/plagiarism HTTP/1.1
Content-Type: application/json

{ "text": "…maneno 30 angalau…", "lang": "sw", "options": { "web": false } }

Jibu

Hali 200 yenye score (maneno yaliyolingana ÷ jumla ya maneno, 0–1), matches kwa kila chanzo pamoja na passages zilizoangaziwa (nafasi za herufi kwenye maandishi yako), sourcesSearched (hasa vyanzo ambavyo majibu yake yamo kwenye matokeo), sourcesSkipped pamoja na sababu zake, na webSearched.

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

Mfano: curl

curl -X POST https://adeptwrite.com/api/v1/plagiarism \
  -H "Content-Type: application/json" \
  -d '{"lang":"sw","text":"…maneno 30 angalau…"}'

GET/api/v1/health

Huripoti huduma zipi zimewashwa. Haihitaji mwili wa ombi na haihesabiwi kwenye kiwango cha matumizi.

Jibu

Hali 200. ai ni false wakati swichi ya kuzima AI imewashwa; plagiarism huorodhesha vyanzo ambavyo kikagua kinaweza kuvitafuta; aidetect inaeleza uchambuzi wa kina wa kigunduzi cha AI upande wa seva, ambao bado haujasakinishwa (POST /api/v1/aidetect hujibu 503 disabled; kigunduzi kilicho kwenye tovuti hufanya kazi ndani ya kivinjari chako).

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

Mfano: curl

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

Task list

taskWhat it does
paraphraseKufafanua upya; hali: Standar, Formal, Santai, Akademik, Kreatif, Ringkas, Panjangkan.
grammarKusahihisha sarufi na tahajia.
toneKubadilisha toni; hali: Formal (rasmi), Kantor (ofisini), Santai (ya kirafiki).
rewriteKurekebisha sentensi ngumu au zenye utata; hali: Standar, Formal.
resizeKufupisha au kurefusha sentensi; hali: Ringkas, Panjangkan.
essayKujenga aya au insha kutoka kwenye hoja fupi; hali: Akademik, Kreatif, Panjangkan.
summarizeMuhtasari; hali: Poin-poin (vitone), Paragraf (aya), Satu kalimat (sentensi moja).
translateTafsiri kati ya lugha mbili zozote zinazotumika; options.from (au auto) na options.to; hali: Alami (asilia, chaguo-msingi), Formal (rasmi), Santai (ya kirafiki).
thesisMawazo ya mada za tasnifu na mpangilio wa sura.
abstractMuhtasari wa utafiti wenye muundo kutoka kwenye maelezo ya utafiti.
captionMaelezo ya picha ya mitandao ya kijamii; options.platform: instagram, tiktok, linkedin.
emailBarua pepe na barua; hali: Lamaran kerja (maombi ya kazi), Surat resmi (barua rasmi), Follow-up (ufuatiliaji).
headlineVichwa vya makala na vya habari; hali: Kreatif, Ringkas.
productMaelezo ya bidhaa; hali: Marketplace (soko la mtandaoni), Toko online (duka la mtandaoni).
synonymOrodha ya visawe vya neno au msemo mmoja.
humanizeKufanya maandishi magumu na ya kawaida kupita kiasi yasomeke kwa asili zaidi; hali: Alami, Pribadi (kibinafsi), Profesional (kitaaluma).
metaJozi tatu za kichwa na maelezo ya meta; hali: Artikel (makala), Produk (bidhaa), Halaman (ukurasa wowote wa wavuti).
hashtagMstari mmoja wa hashtag; hali: Instagram, TikTok, LinkedIn, X.
bioWasifu mfupi watatu wa wasifu-binafsi; hali: Instagram, LinkedIn, X, TikTok.
outlineMpangilio wenye namba na vipengele vidogo; hali: Artikel (makala), Esai (insha), Skripsi (tasnifu), Presentasi (wasilisho).
sloganMawazo kumi ya kauli mbiu; hali: Merek (chapa), Kampanye (kampeni), Produk (bidhaa).
paragraphAya moja kutoka kwenye mada; hali: Pembuka (utangulizi), Isi (mwili), Penutup (hitimisho).
coverletterRasimu ya barua ya maombi ya kazi; hali: Fresh graduate (mhitimu mpya), Berpengalaman (mwenye uzoefu), Magang (mafunzo kwa vitendo).
poemMashairi mafupi; hali: Bebas (huru), Berima (ya vina), Akrostik (akrostiki), Haiku.

Mipaka

Urefu wa maandishi
Herufi 6,000 kwa kila ombi kwa upeo (413 too_long ukizidi).
Kwa kila anwani ya IP
Maombi 30 kwa dakika.
Jumla
Maombi 100 kwa dakika kwa huduma nzima, pamoja na kikomo cha kila siku kwa vipengele vya AI.
Ukaguzi wa wizi wa maandishi
Ukaguzi 5 kwa dakika kwa kila IP na 60 kwa dakika kwa huduma nzima; maneno 30 angalau.
Matokeo
Bajeti ya urefu kwa kila kazi, isiyozidi tokeni 2,048 kamwe; jibu lililokatwa hubeba truncated: true.
Modeli
Huchaguliwa kwa kila lugha: Kiingereza na Kiindonesia hutumia @cf/aisingapore/gemma-sea-lion-v4-27b-it, lugha nyingine zote hutumia @cf/qwen/qwen3-30b-a3b-fp8. Modeli ikiwa na shughuli nyingi, imefikia kikomo, ni polepole au imeshindwa, ombi huhamia modeli inayofuata kwenye mnyororo mbadala (Qwen3-30B, kisha @cf/google/gemma-4-26b-a4b-it, kisha @cf/meta/llama-3.3-70b-instruct-fp8-fast). Sehemu ya model hutaja kila mara modeli iliyojibu.

Misimbo ya hitilafu

HaliMsimboHutokea lini
400invalid_requestJSON isiyo sahihi, sehemu ya lazima haipo, au task au lang isiyojulikana.
413too_longtext inazidi herufi 6,000.
403forbiddenOmbi halikutoka kwenye ukurasa wa adeptwrite.com.
429rate_limitedKikomo cha kila dakika kwa IP au cha jumla kimezidiwa. Subiri idadi ya sekunde zilizo kwenye Retry-After.
429quota_exceededKikomo cha kila siku cha vipengele vya AI kimekwisha. Jaribu tena siku inayofuata (UTC).
502upstreamModeli zote kwenye mnyororo zimeshindwa kujibu kwa wakati.
502empty_outputModeli zilijibu, lakini matokeo yalikuwa matupu.
503disabledHuduma imezimwa kwa muda na mwendeshaji, au (kwa /api/v1/aidetect) bado haijasakinishwa.

Umbizo la hitilafu

Kila hitilafu hurudishwa kama JSON yenye msimbo wa hali wa HTTP unaolingana na umbo lilelile:

{ "ok": false, "error": { "code": "rate_limited", "message": "Maombi ni mengi mno. Tafadhali jaribu tena baada ya muda mfupi." } }

Angalia ok kwanza, kisha soma error.code kwa ushughulikiaji wa kiprogramu; error.message ni salama kuonyeshwa kwa watumiaji.

Mazoea yanayopendekezwa

  • Tuma maandishi kwa sehemu (kwa mfano kila aya) badala ya hati moja ndefu; matokeo hurudi haraka zaidi na ni rahisi kukagua.
  • Shughulikia 429 kwa kusubiri kwa muda unaoongezeka, si kwa kujaribu tena mara moja.
  • Usitume data binafsi au ya siri isiyohitajika — ingawa hatuihifadhi, kanuni ya kupunguza data bado inatumika.
  • Matokeo ya AI yanaweza kuwa na makosa; yaonyeshe kama pendekezo la kukagua, si ukweli wa mwisho.

Maswali yanayoulizwa mara kwa mara

Je, naweza kutumia API kutoka kwenye programu au kikoa changu mwenyewe?

Bado. Kwa sasa Worker haitumi vichwa vya CORS na inahudumia kurasa za adeptwrite.com pekee. Ufikiaji wa nje kwa funguo za API unapangwa pamoja na mpango wa Pro; nyaraka hizi zitasasishwa mara tu utakapopatikana kweli.

Je, maandishi yanayotumwa kwa API yanahifadhiwa?

Hapana. Maandishi hupelekwa kwa modeli ili kutoa jibu kisha hutupwa. Kumbukumbu za seva hubeba taarifa za kiufundi tu kama msimbo wa hali, jina la task na muda, bila maudhui ya maandishi hata kidogo. Tazama sera ya faragha kwa maelezo kamili.

Kwa nini matokeo ni maandishi matupu, si JSON yenye muundo?

Kila task hutoa maandishi moja yaliyo tayari kutumika bila utangulizi wala vizuizi vya Markdown ili yaonyeshwe moja kwa moja kwenye kihariri. Muundo wa ziada (kwa mfano orodha ya mabadiliko) unapangwa kwa toleo la baadaye bila kubadilisha v1.

Matumizi ya API yanagharimu kiasi gani?

Kutoka kwenye tovuti ya adeptwrite.com ni bure, kwa kikomo cha maombi 30 ya AI kwa dakika kwa kila IP. Bei ya ufikiaji wa nje itatangazwa pamoja na mpango wa Pro; hakuna malipo yoyote kabla ya hapo.

Ni modeli ipi inayojibu ombi langu?

Inategemea lugha: Kiingereza na Kiindonesia hushughulikiwa na SEA-LION, lugha nyingine, ikiwemo Kiswahili, hushughulikiwa na Qwen3-30B. Modeli hiyo ikiwa na shughuli nyingi au ikishindwa, modeli inayofuata kwenye mnyororo mbadala hujibu, na sehemu ya model kwenye jibu hutaja modeli iliyojibu kweli.