Parafrase, cek tata basa, ringkesan, terjemahan, lan cek plagiasi ing 56 basa. REST prasaja, dilayani saka edge Cloudflare.
Same-origin
Saiki API mung nampa panyuwunan saka adeptwrite.com dhéwé (tanpa header CORS). Akses saka njaba nganggo kunci API direncanakaké bareng paket Pro. Dokumentasi iki diterbitaké luwih awal supaya kontraké mbukak lan kowé bisa nyiapaké.
Ringkesan
API AdeptWrite v1 nduwèni telung endpoint aktif. POST /api/v1/run nampa JSON isi task, mode, lang, lan text (nganti 6.000 karakter) lan mbalèkaké asil teks polos saka model Cloudflare Workers AI sing dipilih manut basa; POST /api/v1/plagiarism mbandhingaké teks karo sumber terbuka lan ndhaftar saben sumber sing ditelusuri; GET /api/v1/health mbalèkaké status layanan. Teks ora disimpen lan ora dicathet, lan panyuwunan AI diwatesi 30 saben menit saben IP.
Dhasar
Base URL:https://adeptwrite.com/api/v1
Format: panyuwunan lan wangsulan awujud JSON (Content-Type: application/json, UTF-8).
Otentikasi: durung ana; panyuwunan kudu teka saka kaca adeptwrite.com (same-origin). Kunci API teka bareng Pro.
Privasi: field text ora tau disimpen utawa dicathet; wangsulan nggawa Cache-Control: no-store.
Versi: dalan /v1/ ora bakal owah kanthi cara sing ora kompatibel; owah-owahan gedhé bakal nganggo /v2/.
POST/api/v1/run
Njalanaké siji tugas AI ing teks lan mbalèkaké asil awujud teks polos (tanpa pambuka, tanpa pager kode Markdown).
Panyuwunan
Field
Type
Required
Notes
task
string
✓
Jeneng tugas; deleng dhaptar tugas ing ngisor.
text
string
✓
Teks mlebu, 1–6.000 karakter.
lang
string
✓
Basa asil: salah siji saka 56 kode lokal situs (en, id, jv, ja, pt-pt, zh-hant…; tag BCP 47 kayata pt-BR dipetakaké) utawa auto kanggo "padha karo basa teks mlebu".
mode
string
—
Mode sing ana kanggo piranti iku, umpamané Formal, Akademik, Ringkas, Poin-poin (jeneng mode iku label registri Basa Indonesia). Ora digatèkaké kanggo tugas tanpa mode.
options
object
—
Pilihan khusus tugas: from / to kanggo translate (basa apa waé sing didhukung menyang basa liyané; from bisa auto; sr-Cyrl njaluk Serbia aksara Sirilik), platform (instagram / tiktok / linkedin) kanggo caption, lan fields opsional kanthi label kanggo bio, coverletter, lan meta. Kunci liyané ora digatèkaké.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "jv",
"text": "Nulis sing apik iku penting banget kanggo siswa.",
"options": {}
}
Wangsulan
Status 200 kanthi ok: true, asil ing output, model sing tenan mangsuli ing model (bisa beda yen model cadhangan sing mangsuli), lan wektu proses ing milidetik. truncated: true ditambahaké yen wangsulan tekan wates dawané utawa wates wektu lan kepotong.
{
"ok": true,
"output": "Kemampuan nulis kang apik iku wigati banget tumrap siswa.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
Conto: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"jv","text":"Aku arep lunga menyang pasar sesuk esuk."}'
Conto: 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: 'jv', 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
Milih 4–8 frasa khas saka teks, nggolèki sumber terbuka ing basa teks iku (Wikipedia, Wikisource, teks lengkap Internet Archive, Europe PMC, DOAJ, arXiv; panyedhiya panelusuran web mung yen wis disetel lan dijaluk) lan ngetung tingkat kamiripan. Mung frasa-frasa cendhak iku sing metu saka server.
Panyuwunan
Field
Type
Required
Notes
text
string
✓
Paling sethithik 30 tembung, paling akèh 6.000 karakter.
lang
string
✓
Kode lokal situs utawa auto.
options
object
—
web: true uga nakoni panyedhiya panelusuran web yen operator wis nyetel; webSearched ing wangsulan nuduhaké apa panyedhiya iku tenan mangsuli.
Status 200 kanthi score (tembung sing cocog ÷ tembung, 0–1), matches saben sumber karo passages sing disorot (offset karakter ing teksmu), sourcesSearched (persis sumber-sumber sing wangsulané ana ing asil), sourcesSkipped lan alesané, lan webSearched.
Nglaporaké layanan endi sing nyala. Ora nganggo isi panyuwunan lan ora diitung ing kuota.
Wangsulan
Status 200. ai false nalika sakelar pateni AI nyala; plagiarism ndhaftar sumber sing bisa ditakoni pengecek; aidetect njlèntrèhaké analisis jero detektor AI ing sisih server, sing durung dipasang (POST /api/v1/aidetect mangsuli 503 disabled; detektor ing situs mlaku ing browsermu).
Paling akèh 6.000 karakter saben panyuwunan (413 too_long yen luwih).
Saben alamat IP
30 panyuwunan saben menit.
Global
100 panyuwunan saben menit ing sakabèhing layanan, ditambah wates saben dina kanggo fitur AI.
Plagiasi
5 pangecekan saben menit saben IP lan 60 saben menit ing sakabèhing layanan; paling sethithik 30 tembung.
Output
Anggaran dawa saben tugas, ora tau luwih saka 2.048 token; wangsulan sing kepotong nggawa truncated: true.
Model
Dipilih manut basa: Inggris lan Indonesia nganggo @cf/aisingapore/gemma-sea-lion-v4-27b-it, basa liyané kabèh nganggo @cf/qwen/qwen3-30b-a3b-fp8. Yen model lagi sibuk, kena wates, alon, utawa gagal, panyuwunan pindhah menyang model sabanjuré ing rantai (Qwen3-30B, banjur @cf/google/gemma-4-26b-a4b-it, banjur @cf/meta/llama-3.3-70b-instruct-fp8-fast). Field model tansah nyebut model sing tenan mangsuli.
Kode kesalahan
Status
Kode
Kapan kedadeyan
400
invalid_request
JSON ora valid, field wajib ora ana, utawa task utawa lang ora dikenal.
413
too_long
text ngluwihi 6.000 karakter.
403
forbidden
Panyuwunan ora teka saka kaca adeptwrite.com.
429
rate_limited
Wates saben menit per IP utawa global kelangkung. Enteni cacahé detik ing Retry-After.
429
quota_exceeded
Wates saben dina kanggo fitur AI wis entek. Coba maneh dina sabanjuré (UTC).
502
upstream
Kabèh model ing rantai gagal mangsuli ing wektu sing ditemtokaké.
502
empty_output
Model mangsuli, nanging asilé kosong.
503
disabled
Layanan dipateni sauntara dening operator, utawa (kanggo /api/v1/aidetect) durung dipasang.
Format kesalahan
Saben kesalahan dibalèkaké awujud JSON kanthi kode status HTTP sing cocog lan wujud sing padha:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
Priksa ok dhisik, banjur waca error.code kanggo panangani ing program; error.message aman ditampilaké marang pangguna.
Praktik sing disaranaké
Kirimen teks sabagéan-sabagéan (umpamané saben paragraf), aja siji dokumen dawa; asil teka luwih cepet lan luwih gampang dipriksa.
Tangani 429 nganggo back-off eksponensial, aja langsung dicoba maneh.
Aja ngirim dhata pribadi utawa rahasia sing ora perlu — senajan kita ora nyimpen, prinsip minimalisasi dhata tetep ditrapaké.
Asil AI bisa klèru; tampilna minangka saran sing kudu dipriksa, dudu bebener pungkasan.
Pitakon sing kerep diajokaké
Apa aku bisa nelpon API saka aplikasi utawa domainku dhéwé?
Durung. Worker saiki ora ngirim header CORS lan mung nglayani kaca adeptwrite.com. Akses saka njaba nganggo kunci API direncanakaké bareng paket Pro; dokumentasi iki bakal dianyari yen wis kasedhiya.
Apa teks sing dikirim menyang API disimpen?
Ora. Teks diterusaké menyang model kanggo nggawé wangsulan, banjur dibuwang. Log mung ngandhut metadata (kode status, tugas, dawa wektu). Rinciané ana ing kabijakan privasi.
Yagene asil awujud teks polos, dudu JSON sing tertata?
Saben tugas ngasilaké siji teks sing siap dienggo tanpa pambuka utawa pager kode Markdown, supaya bisa langsung ditampilaké ing editor. Struktur tambahan (umpamané dhaptar owah-owahan) direncanakaké ing versi sabanjuré tanpa ngowahi v1.
Pira rega API-né?
Saka adeptwrite.com gratis, diwatesi 30 panyuwunan AI saben menit saben IP. Rega akses saka njaba bakal diumumaké bareng paket Pro; sadurungé kuwi ora ana sing ditagih.
Model endi sing mangsuli panyuwunanku?
Gumantung basa: Inggris lan Indonesia menyang SEA-LION, basa liyané menyang Qwen3-30B. Yen model iku sibuk utawa gagal, model sabanjuré ing rantai cadhangan sing mangsuli, lan field model ing wangsulan nyebut sing tenan mangsuli.