Paraphrase, grammar check, buod, pagsasalin at plagiarism check sa 56 wika. Simpleng REST, inihahatid mula sa edge ng Cloudflare.
Same-origin
Sa ngayon, ang API ay tumatanggap lamang ng kahilingan mula sa adeptwrite.com mismo (walang CORS header). Nakaplano ang panlabas na access na may API key kasabay ng planong Pro. Inilathala nang maaga ang dokumentasyong ito para bukas ang kontrata at makapaghanda ka.
Buod
May tatlong live na endpoint ang v1 API ng AdeptWrite. Ang POST /api/v1/run ay tumatanggap ng JSON na may task, mode, lang at text (hanggang 6,000 karakter) at nagbabalik ng plain text mula sa model ng Cloudflare Workers AI; ang POST /api/v1/plagiarism ay naghahambing ng teksto sa mga bukas na sanggunian at inililista ang mga sinuri; ang GET /api/v1/health ay nag-uulat ng katayuan. Hindi iniimbak o isinusulat sa log ang teksto; 30 kahilingan sa AI kada minuto kada IP ang limitasyon.
Mga pangunahing detalye
Base URL:https://adeptwrite.com/api/v1
Format: JSON ang mga kahilingan at tugon (Content-Type: application/json, UTF-8).
Authentication: wala pa; dapat manggaling ang mga kahilingan sa mga pahina ng adeptwrite.com (same-origin). Darating ang mga API key kasama ng Pro.
Privacy: ang field na text ay hindi iniimbak o isinusulat sa log; may Cache-Control: no-store ang mga tugon.
Pag-bersyon: hindi magbabago nang hindi tugma ang path na /v1/; /v2/ ang gagamitin sa mga pagbabagong sumisira.
POST/api/v1/run
Nagpapatakbo ng isang gawain ng AI sa isang teksto at ibinabalik ang resulta bilang plain text (walang paunang salita, walang Markdown fence).
Kahilingan
Field
Type
Required
Notes
task
string
✓
Pangalan ng gawain; tingnan ang listahan ng mga gawain sa ibaba.
text
string
✓
Input na teksto, 1–6,000 karakter.
lang
string
✓
Wika ng resulta: isa sa 56 code ng locale ng site (en, tl, id, ja, pt-pt, zh-hant…; minamapa ang mga BCP 47 tag gaya ng pt-BR) o auto para sa "parehong wika ng input".
mode
string
—
Isang mode na available sa tool na iyon, hal. Formal, Akademik, Ringkas, Poin-poin (mga label ng registry sa wikang Indonesian ang mga pangalan ng mode). Hindi pinapansin sa mga gawaing walang mode.
options
object
—
Mga opsiyong partikular sa gawain: from / to para sa translate (anumang suportadong wika papunta sa alinmang iba pa; puwedeng auto ang from; ang sr-Cyrl ay humihingi ng Serbian sa Cyrillic), platform (instagram / tiktok / linkedin) para sa caption, at opsiyonal na may-label na fields para sa bio, coverletter at meta. Hindi pinapansin ang ibang key.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "tl",
"text": "Mahalaga ang mahusay na pagsulat para sa mga estudyante.",
"options": {}
}
Tugon
Status 200 na may ok: true, ang resulta sa output, ang model na talagang sumagot sa model (iba ito kapag pumasok ang fallback model) at ang oras ng pagproseso sa millisecond. Idinaragdag ang truncated: true kapag naabot ng sagot ang hangganan ng haba nito o ang time limit at pinutol ito.
{
"ok": true,
"output": "Napakahalaga ng mahusay na pagsulat sa mga estudyante.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
Halimbawa: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"tl","text":"Pupunta ako sa aklatan bukas ng umaga."}'
Halimbawa: 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: 'tl', 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
Pumipili ng 4–8 natatanging parirala mula sa teksto, naghahanap sa mga bukas na sanggunian sa wika ng teksto (Wikipedia, Wikisource, buong teksto ng Internet Archive, Europe PMC, DOAJ, arXiv; isang web search provider lamang kapag naka-configure at hiniling) at tinutuos ang pagkakapareho. Ang mga maiikling pariralang iyon lamang ang lumalabas sa server.
Kahilingan
Field
Type
Required
Notes
text
string
✓
Hindi bababa sa 30 salita, hindi hihigit sa 6,000 karakter.
lang
string
✓
Isang code ng locale ng site o auto.
options
object
—
Ang web: true ay nagtatanong din sa web search provider kapag may na-configure ang operator; sinasabi ng webSearched sa tugon kung talagang sumagot ito.
POST /api/v1/plagiarism HTTP/1.1
Content-Type: application/json
{ "text": "…hindi bababa sa 30 salita…", "lang": "tl", "options": { "web": false } }
Tugon
Status 200 na may score (tugmang salita ÷ salita, 0–1), matches kada sanggunian na may naka-highlight na passages (mga character offset sa teksto mo), sourcesSearched (eksaktong mga sanggunian na ang sagot ay nasa resulta), sourcesSkipped na may dahilan, at webSearched.
curl -X POST https://adeptwrite.com/api/v1/plagiarism \
-H "Content-Type: application/json" \
-d '{"lang":"tl","text":"…hindi bababa sa 30 salita…"}'
GET/api/v1/health
Iniuulat kung aling mga serbisyo ang naka-on. Walang body at hindi binibilang sa quota.
Tugon
Status 200. Ang ai ay false habang naka-on ang AI kill switch; inililista ng plagiarism ang mga sanggunian na maaaring tanungin ng checker; inilalarawan ng aidetect ang server-side na malalimang pagsusuri ng AI detector, na hindi pa naka-deploy (sumasagot ang POST /api/v1/aidetect ng 503 disabled; sa browser mo tumatakbo ang detector sa site).
Paraphrase; mga mode: Standar, Formal, Santai, Akademik, Kreatif, Ringkas, Panjangkan.
grammar
Pagwawasto ng grammar at baybay.
tone
Pagpapalit ng tono; mga mode: Formal, Kantor (pang-opisina), Santai (kaswal).
rewrite
Pag-ayos ng matigas o magulong pangungusap; mga mode: Standar, Formal.
resize
Pagpapaikli o pagpapahaba ng pangungusap; mga mode: Ringkas, Panjangkan.
essay
Pagbuo ng talata o sanaysay mula sa mga punto; mga mode: Akademik, Kreatif, Panjangkan.
summarize
Buod; mga mode: Poin-poin (mga punto), Paragraf (talata), Satu kalimat (isang pangungusap).
translate
Pagsasalin sa pagitan ng alinmang dalawang suportadong wika; options.from (o auto) at options.to; mga mode: Alami (natural, default), Formal, Santai (kaswal).
thesis
Mga ideya ng pamagat ng thesis at balangkas ng mga kabanata.
abstract
Nakaayos na abstrak mula sa buod ng pananaliksik.
caption
Mga caption sa social media; options.platform: instagram, tiktok, linkedin.
email
Mga email at liham; mga mode: Lamaran kerja (aplikasyon sa trabaho), Surat resmi (pormal na liham), Follow-up.
headline
Mga pamagat at headline ng artikulo; mga mode: Kreatif, Ringkas.
product
Mga paglalarawan ng produkto; mga mode: Marketplace, Toko online (online store).
synonym
Listahan ng kasingkahulugan ng isang salita o parirala.
humanize
Gawing mas natural basahin ang matigas o generic na teksto; mga mode: Alami, Pribadi (personal), Profesional.
meta
Tatlong pares ng meta title at description; mga mode: Artikel (artikulo), Produk (produkto), Halaman (anumang web page).
hashtag
Isang linya ng mga hashtag; mga mode: Instagram, TikTok, LinkedIn, X.
bio
Tatlong bio sa profile; mga mode: Instagram, LinkedIn, X, TikTok.
outline
May-numerong balangkas na may mga sub-punto; mga mode: Artikel (artikulo), Esai (sanaysay), Skripsi (thesis), Presentasi (presentasyon).
slogan
Sampung ideya ng slogan; mga mode: Merek (brand), Kampanye (kampanya), Produk (produkto).
paragraph
Isang talata mula sa paksa; mga mode: Pembuka (panimula), Isi (katawan), Penutup (wakas).
coverletter
Burador ng application letter; mga mode: Fresh graduate, Berpengalaman (may karanasan), Magang (OJT / internship).
poem
Maiikling tula; mga mode: Bebas (malayang taludturan), Berima (may tugma), Akrostik, Haiku.
Mga limitasyon
Haba ng teksto
Hanggang 6,000 karakter kada kahilingan (413 too_long kapag lumampas).
Kada IP address
30 kahilingan kada minuto.
Pangkalahatan
100 kahilingan kada minuto sa buong serbisyo, bukod pa sa daily cap para sa mga feature ng AI.
Plagiarism
5 check kada minuto kada IP at 60 kada minuto sa buong serbisyo; 30 salita ang minimum.
Output
May hangganan ng haba kada gawain, hindi kailanman lalampas sa 2,048 token; ang sagot na naputol ay may truncated: true.
Model
Pinipili kada wika: ang English at Indonesian ay tumatakbo sa @cf/aisingapore/gemma-sea-lion-v4-27b-it, ang bawat ibang wika sa @cf/qwen/qwen3-30b-a3b-fp8. Kapag abala, na-rate-limit, mabagal o pumalya ang isang model, lilipat ang kahilingan sa susunod na model sa hanay (Qwen3-30B, saka @cf/google/gemma-4-26b-a4b-it, saka @cf/meta/llama-3.3-70b-instruct-fp8-fast). Palaging pinangangalanan ng field na model ang model na sumagot.
Mga error code
Status
Code
Kailan ito nangyayari
400
invalid_request
Di-wastong JSON, kulang na kinakailangang field, o hindi kilalang task o lang.
413
too_long
Lumampas sa 6,000 karakter ang text.
403
forbidden
Hindi nanggaling sa pahina ng adeptwrite.com ang kahilingan.
429
rate_limited
Nalampasan ang limitasyon kada minuto, kada IP man o pangkalahatan. Maghintay ng bilang ng segundong nasa Retry-After.
429
quota_exceeded
Naubos na ang daily cap para sa mga feature ng AI. Subukan muli kinabukasan (UTC).
502
upstream
Walang nakasagot sa tamang oras sa lahat ng model sa hanay.
502
empty_output
Sumagot ang mga model, ngunit walang laman ang resulta.
503
disabled
Pansamantalang pinatay ng operator ang serbisyo, o (para sa /api/v1/aidetect) hindi pa naka-deploy.
Format ng error
Ang bawat error ay ibinabalik bilang JSON na may katugmang HTTP status code at parehong hugis:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
Suriin muna ang ok, saka basahin ang error.code para sa programmatic na paghawak; ligtas ipakita sa mga user ang error.message.
Mga inirerekomendang gawi
Magpadala ng teksto nang paunti-unti (halimbawa, kada talata) sa halip na isang mahabang dokumento; mas mabilis dumating ang mga resulta at mas madaling suriin.
Tugunan ang 429 ng exponential back-off, hindi ng agarang pag-uulit.
Huwag magpadala ng personal o kumpidensiyal na datos na hindi mo kailangan — kahit hindi namin ito iniimbak, may bisa pa rin ang pagbabawas ng datos.
Maaaring mali ang output ng AI; ipakita ito bilang mungkahing susuriin, hindi bilang pinal na katotohanan.
Mga madalas itanong
Puwede ko bang tawagin ang API mula sa sarili kong app o domain?
Hindi pa. Sa ngayon, walang CORS header ang Worker at mga pahina lamang ng adeptwrite.com ang pinaglilingkuran nito. Nakaplano ang panlabas na access na may API key kasabay ng planong Pro; ia-update ang dokumentasyong ito kapag available na.
Iniimbak ba ang tekstong ipinapadala sa API?
Hindi. Ipinapasa ang teksto sa model para buuin ang sagot at itinatapon pagkatapos. Metadata lamang (status code, gawain, tagal) ang laman ng mga log. Tingnan ang patakaran sa privacy para sa lahat ng detalye.
Bakit plain text ang output at hindi nakabalangkas na JSON?
Ang bawat gawain ay gumagawa ng iisang tekstong handa nang gamitin, walang paunang salita o Markdown fence, para direkta itong maipakita sa editor. Nakaplano para sa susunod na bersyon ang karagdagang estruktura (halimbawa, listahan ng mga pagbabago) nang hindi binabago ang v1.
Magkano ang API?
Libre ito mula sa adeptwrite.com, limitado sa 30 kahilingan sa AI kada minuto kada IP. Ihahayag ang presyo para sa panlabas na access kasabay ng planong Pro; walang sinisingil bago noon.
Aling model ang sumasagot sa kahilingan ko?
Depende sa wika: ang English at Indonesian ay napupunta sa SEA-LION, ang ibang wika sa Qwen3-30B. Kapag abala o pumalya ang model na iyon, ang susunod na model sa hanay ng fallback ang sasagot, at pinangangalanan ng field na model sa tugon ang sumagot.