Parafrasering, grammatikatoetsing, opsommings, vertaling en plagiaattoetse in 56 tale. Eenvoudige REST, bedien vanaf Cloudflare se randnetwerk.
Dieselfde oorsprong
Die API bedien tans net versoeke vanaf adeptwrite.com self (geen CORS-opskrifte nie). Eksterne toegang met API-sleutels word saam met die Pro-plan beplan. Hierdie dokumentasie is vroeg gepubliseer sodat die kontrak oop is en jy kan voorberei.
Opsomming
Die AdeptWrite v1-API het drie aktiewe eindpunte. POST /api/v1/run neem JSON met task, mode, lang en text (tot 6 000 karakters) en gee gewone teks terug van ’n Cloudflare Workers AI-model wat vir die taal gekies is; POST /api/v1/plagiarism vergelyk ’n teks met oop bronne en lys elke bron wat deursoek is; GET /api/v1/health gee die diensstatus. Teks word nooit gestoor of in logboeke aangeteken nie, en KI-versoeke is beperk tot 30 per minuut per IP.
Basiese inligting
Basis-URL:https://adeptwrite.com/api/v1
Formaat: versoeke en antwoorde is JSON (Content-Type: application/json, UTF-8).
Verifikasie: nog geen; versoeke moet van adeptwrite.com-bladsye af kom (dieselfde oorsprong). API-sleutels kom met Pro.
Privaatheid: die text-veld word nooit gestoor of in logboeke aangeteken nie; antwoorde dra Cache-Control: no-store.
Weergawebeheer: die /v1/-pad sal nie onversoenbaar verander nie; breekwysigings sal /v2/ gebruik.
POST/api/v1/run
Voer een KI-taak op ’n teks uit en gee die resultaat as gewone teks terug (geen voorwoord, geen Markdown-omheining nie).
Versoek
Field
Type
Required
Notes
task
string
✓
Taaknaam; sien die taaklys hieronder.
text
string
✓
Invoerteks, 1–6 000 karakters.
lang
string
✓
Taal van die resultaat: een van die 56 werfstaalkodes (af, en, id, ja, pt-pt, zh-hant…; BCP 47-etikette soos pt-BR word gekarteer) of auto vir “dieselfde taal as die invoer”.
mode
string
—
ʼn Modus wat vir daardie hulpmiddel beskikbaar is, bv. Formal, Akademik, Ringkas, Poin-poin (die modusname is die Indonesiese registeretikette). Word geïgnoreer vir take sonder modusse.
options
object
—
Taakspesifieke opsies: from / to vir translate (enige ondersteunde taal na enige ander; from mag auto wees; sr-Cyrl vra Serwies in Sirillies), platform (instagram / tiktok / linkedin) vir caption, en opsionele benoemde fields vir bio, coverletter en meta. Ander sleutels word geïgnoreer.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "af",
"text": "Goeie skryfwerk is baie belangrik vir studente.",
"options": {}
}
Antwoord
Status 200 met ok: true, die resultaat in output, die model wat werklik geantwoord het in model (dit verskil wanneer ’n terugvalmodel ingespring het) en die verwerkingstyd in millisekondes. truncated: true word bygevoeg wanneer die antwoord sy lengtebegroting of tydsgrens bereik het en afgesny is.
{
"ok": true,
"output": "Goeie skryfwerk is vir studente van groot belang.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
Voorbeeld: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"af","text":"Hulle gaan more na die biblioteek toe."}'
Voorbeeld: 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: 'af', 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
Kies 4–8 kenmerkende frases uit die teks, deursoek oop bronne in die tekstaal (Wikipedia, Wikisource, Internet Archive-volteks, Europe PMC, DOAJ, arXiv; ’n websoekverskaffer net wanneer dit opgestel en gevra is) en bereken die oorvleueling. Slegs daardie kort frases verlaat die bediener.
Versoek
Field
Type
Required
Notes
text
string
✓
Minstens 30 woorde, hoogstens 6 000 karakters.
lang
string
✓
’n Werfstaalkode of auto.
options
object
—
web: true deursoek ook die websoekverskaffer wanneer die operateur een opgestel het; webSearched in die antwoord sê of dit werklik geantwoord het.
Status 200 met score (ooreenstemmende woorde ÷ woorde, 0–1), matches per bron met uitgeligte passages (karakterposisies in jou teks), sourcesSearched (presies die bronne wie se antwoorde in die resultaat is), sourcesSkipped met ’n rede, en webSearched.
Meld watter dienste aangeskakel is. Neem geen liggaam nie en tel nie teen die kwota nie.
Antwoord
Status 200. ai is false terwyl die KI-afskakelaar aan is; plagiarism lys die bronne wat die toetser kan navraag doen; aidetect beskryf die bedienerkantse diepontleding van die KI-verklikker, wat nog nie ontplooi is nie (POST /api/v1/aidetect antwoord 503 disabled; die verklikker op die werf loop in jou blaaier).
Maak stywe of lompe sinne reg; modusse: Standar, Formal.
resize
Verkort of brei sinne uit; modusse: Ringkas (verkort), Panjangkan (brei uit).
essay
Bou paragrawe of ’n opstel uit kolpunte; modusse: Akademik, Kreatif, Panjangkan.
summarize
Opsomming; modusse: Poin-poin (kolpunte), Paragraf (paragraaf), Satu kalimat (een sin).
translate
Vertaling tussen enige twee ondersteunde tale; options.from (of auto) en options.to; modusse: Alami (natuurlik, verstek), Formal (formeel), Santai (informeel).
thesis
Titelidees vir ’n skripsie of verhandeling en ’n hoofstukraamwerk.
abstract
Gestruktureerde abstrak uit ’n navorsingsopsomming.
Tien slagspreukidees; modusse: Merek (handelsmerk), Kampanye (veldtog), Produk.
paragraph
Een paragraaf uit ’n onderwerp; modusse: Pembuka (inleiding), Isi (middelparagraaf), Penutup (slot).
coverletter
Konsep van ’n aansoekbrief; modusse: Fresh graduate (pas gegradueer), Berpengalaman (ervare), Magang (internskap).
poem
Kort gedigte; modusse: Bebas (vrye vers), Berima (rymend), Akrostik (akrostigon), Haiku (haikoe).
Limiete
Tekslengte
Hoogstens 6 000 karakters per versoek (413 too_long daarbo).
Per IP-adres
30 versoeke per minuut.
Globaal
100 versoeke per minuut oor die hele diens, plus ’n daaglikse limiet vir KI-funksies.
Plagiaat
5 toetse per minuut per IP en 60 per minuut oor die diens; minstens 30 woorde.
Uitset
’n Lengtebegroting per taak, nooit meer as 2 048 tokens nie; ’n afgesnyde antwoord dra truncated: true.
Model
Per taal gekies: Engels en Indonesies loop op @cf/aisingapore/gemma-sea-lion-v4-27b-it, elke ander taal, ook Afrikaans, op @cf/qwen/qwen3-30b-a3b-fp8. Wanneer ’n model besig, tempobeperk, stadig is of misluk, val die versoek terug op die volgende model in die ketting (Qwen3-30B, dan @cf/google/gemma-4-26b-a4b-it, dan @cf/meta/llama-3.3-70b-instruct-fp8-fast). Die model-veld noem altyd die model wat geantwoord het.
Foutkodes
Status
Kode
Wanneer dit gebeur
400
invalid_request
Ongeldige JSON, ’n vereiste veld ontbreek, of ’n onbekende task of lang.
413
too_long
text oorskry 6 000 karakters.
403
forbidden
Die versoek het nie van ’n adeptwrite.com-bladsy af gekom nie.
429
rate_limited
Die limiet per minuut per IP of globaal is oorskry. Wag die aantal sekondes in Retry-After.
429
quota_exceeded
Die daaglikse limiet vir KI-funksies is opgebruik. Probeer die volgende dag weer (UTC).
502
upstream
Elke model in die ketting het nie betyds geantwoord nie.
502
empty_output
Die modelle het geantwoord, maar met ’n leë resultaat.
503
disabled
Die diens is tydelik deur die operateur afgeskakel, of (vir /api/v1/aidetect) is nog nie ontplooi nie.
Foutformaat
Elke fout word as JSON teruggestuur met die ooreenstemmende HTTP-statuskode en dieselfde vorm:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
Kyk eers na ok, lees dan error.code vir programmatiese hantering; error.message is veilig om aan gebruikers te wys.
Aanbevole praktyk
Stuur teks in dele (byvoorbeeld per paragraaf) eerder as een lang dokument; resultate kom vinniger terug en is makliker om na te gaan.
Hanteer 429 met eksponensiële terugstel, nie onmiddellike herpogings nie.
Moenie persoonlike of vertroulike data stuur wat jy nie nodig het nie. Al stoor ons dit nie, geld dataminimalisering steeds.
KI-uitset kan verkeerd wees; wys dit as ’n voorstel om na te gaan, nie as die finale waarheid nie.
Algemene vrae
Kan ek die API vanuit my eie toepassing of domein aanroep?
Nog nie. Die Worker stuur tans geen CORS-opskrifte nie en bedien net adeptwrite.com-bladsye. Eksterne toegang met API-sleutels word saam met die Pro-plan beplan; hierdie dokumentasie word bygewerk wanneer dit beskikbaar is.
Word teks wat na die API gestuur word, gestoor?
Nee. Die teks word aan die model gestuur om die antwoord te lewer en dan weggegooi. Logboeke bevat net metadata (statuskode, taak, duur). Sien die privaatheidsbeleid vir al die besonderhede.
Hoekom is die uitset gewone teks eerder as gestruktureerde JSON?
Elke taak lewer een gebruiksgereed teks sonder voorwoord of Markdown-omheining, sodat dit direk in die redigeerder gewys kan word. Ekstra struktuur (byvoorbeeld ’n wysigingslys) word vir ’n latere weergawe beplan sonder om v1 te verander.
Hoeveel kos die API?
Vanaf adeptwrite.com is dit gratis, beperk tot 30 KI-versoeke per minuut per IP. Pryse vir eksterne toegang sal saam met die Pro-plan aangekondig word; niks word voor dit gehef nie.
Watter model beantwoord my versoek?
Dit hang van die taal af: Engels en Indonesies gaan na SEA-LION, die ander tale, ook Afrikaans, na Qwen3-30B. As daardie model besig is of misluk, antwoord die volgende model in die terugvalketting in sy plek, en die model-veld van die antwoord noem die een wat geantwoord het.