Perfrazavimas, gramatikos tikrinimas, santraukos, vertimas ir plagiato patikra 56 kalbomis. Paprastas REST, aptarnaujamas iš „Cloudflare“ tinklo pakraščio.
Tas pats šaltinis
API šiuo metu aptarnauja tik užklausas iš pačios adeptwrite.com (CORS antraščių nėra). Išorinė prieiga su API raktais planuojama kartu su „Pro“ planu. Šią dokumentaciją skelbiame iš anksto, kad sutartis būtų atvira ir galėtumėte pasiruošti.
Santrauka
AdeptWrite v1 API turi tris veikiančius galinius taškus. POST /api/v1/run priima JSON su laukais task, mode, lang ir text (iki 6 000 simbolių) ir grąžina paprastą tekstą iš „Cloudflare Workers AI“ modelio, parinkto pagal kalbą; POST /api/v1/plagiarism palygina tekstą su atvirais šaltiniais ir išvardija kiekvieną ieškotą šaltinį; GET /api/v1/health grąžina paslaugos būseną. Tekstas niekada nesaugomas ir nerašomas į žurnalus, o DI užklausos ribojamos iki 30 per minutę vienam IP adresui.
Pagrindai
Bazinis adresas:https://adeptwrite.com/api/v1
Formatas: užklausos ir atsakymai yra JSON (Content-Type: application/json, UTF-8).
Autentifikavimas: kol kas nėra; užklausos turi ateiti iš adeptwrite.com puslapių (tas pats šaltinis). API raktai atsiras kartu su „Pro“.
Privatumas: laukas text niekada nesaugomas ir nerašomas į žurnalus; atsakymuose yra Cache-Control: no-store.
Versijos: kelias /v1/ nebus keičiamas nesuderinamai; esminiai pakeitimai naudos /v2/.
POST/api/v1/run
Vykdo vieną DI užduotį su tekstu ir grąžina rezultatą paprastu tekstu (be įžangos ir be Markdown tvoros).
Užklausa
Field
Type
Required
Notes
task
string
✓
Užduoties pavadinimas; žr. toliau pateiktą užduočių sąrašą.
text
string
✓
Įvesties tekstas, 1–6 000 simbolių.
lang
string
✓
Rezultato kalba: vienas iš 56 svetainės lokalių kodų (en, id, lt, pt-pt, zh-hant…; BCP 47 žymės, pavyzdžiui, pt-BR, susiejamos) arba auto, reiškiantis „ta pati kalba kaip įvestis“.
mode
string
—
Šiam įrankiui prieinamas režimas, pvz., Formal, Akademik, Ringkas, Poin-poin (režimų pavadinimai yra registro etiketės indoneziečių kalba). Užduotims be režimų ignoruojamas.
options
object
—
Užduoties parinktys: from / to užduočiai translate (bet kuri palaikoma kalba į bet kurią kitą; from gali būti auto; sr-Cyrl prašo serbų kalbos kirilica), platform (instagram / tiktok / linkedin) užduočiai caption ir neprivalomi pažymėti fields užduotims bio, coverletter ir meta. Kiti raktai ignoruojami.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "lt",
"text": "Gera kalba studentams labai svarbi.",
"options": {}
}
Atsakymas
Būsena 200 su ok: true, rezultatas lauke output, modelis, kuris iš tikrųjų atsakė, lauke model (jis skiriasi, kai įsijungia atsarginis modelis), ir apdorojimo trukmė milisekundėmis. truncated: true pridedamas, kai atsakymas pasiekė ilgio biudžetą ar laiko ribą ir buvo nutrauktas.
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"lt","text":"Mes nežinom kada ateis sekanti savaite."}'
Pavyzdys: 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: 'lt', 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
Parenka 4–8 išskirtines teksto frazes, ieško atvirų šaltinių teksto kalba (Wikipedia, Wikisource, Internet Archive pilni tekstai, Europe PMC, DOAJ, arXiv; žiniatinklio paieškos teikėjas tik jei sukonfigūruotas ir paprašytas) ir įvertina sutapimą. Iš serverio išeina tik tos trumpos frazės.
Užklausa
Field
Type
Required
Notes
text
string
✓
Bent 30 žodžių, daugiausia 6 000 simbolių.
lang
string
✓
Svetainės lokalės kodas arba auto.
options
object
—
web: true papildomai kreipiasi į žiniatinklio paieškos teikėją, jei operatorius jį sukonfigūravo; webSearched atsakyme parodo, ar jis tikrai atsakė.
Būsena 200 su score (sutapę žodžiai ÷ žodžiai, 0–1), matches pagal šaltinį su paryškintais passages (simbolių poslinkiai jūsų tekste), sourcesSearched (tiksliai tie šaltiniai, kurių atsakymai yra rezultate), sourcesSkipped su priežastimi ir webSearched.
Parodo, kurios paslaugos įjungtos. Neturi turinio ir neįskaičiuojamas į kvotą.
Atsakymas
Būsena 200. ai yra false, kol įjungtas DI avarinis išjungiklis; plagiarism išvardija šaltinius, kuriuos patikra gali užklausti; aidetect aprašo serverinę DI detektoriaus gilią analizę, kuri dar neįdiegta (POST /api/v1/aidetect atsako 503 disabled; svetainėje esantis detektorius veikia jūsų naršyklėje).
Standžių ar nerangių sakinių taisymas; režimai: Standar, Formal.
resize
Sakinių trumpinimas ar plėtimas; režimai: Ringkas, Panjangkan.
essay
Pastraipų ar esė sudarymas iš punktų; režimai: Akademik, Kreatif, Panjangkan.
summarize
Santrauka; režimai: Poin-poin (punktai), Paragraf (pastraipa), Satu kalimat (vienas sakinys).
translate
Vertimas tarp bet kurių dviejų palaikomų kalbų; options.from (arba auto) ir options.to; režimai: Alami (natūralus, numatytasis), Formal, Santai (neformalus).
thesis
Baigiamojo darbo temų idėjos ir skyrių planas.
abstract
Struktūruota mokslinio darbo santrauka iš tyrimo aprašo.
caption
Socialinių tinklų įrašų tekstai; options.platform: instagram, tiktok, linkedin.
email
El. laiškai ir raštai; režimai: Lamaran kerja (prašymas dėl darbo), Surat resmi (oficialus raštas), Follow-up (priminimas).
headline
Straipsnių pavadinimai ir antraštės; režimai: Kreatif, Ringkas.
product
Produktų aprašymai; režimai: Marketplace (prekyvietė), Toko online (internetinė parduotuvė).
synonym
Vieno žodžio ar frazės sinonimų sąrašas.
humanize
Standaus ar bendro teksto padarymas natūralesniu; režimai: Alami, Pribadi (asmeniškas), Profesional.
meta
Trys meta pavadinimo ir aprašymo poros; režimai: Artikel (straipsnis), Produk (produktas), Halaman (bet kuris puslapis).
hashtag
Viena grotažymių eilutė; režimai: Instagram, TikTok, LinkedIn, X.
bio
Trys profilio aprašymai; režimai: Instagram, LinkedIn, X, TikTok.
Dešimt šūkių idėjų; režimai: Merek (prekės ženklas), Kampanye (kampanija), Produk (produktas).
paragraph
Viena pastraipa pagal temą; režimai: Pembuka (įžanga), Isi (dėstymas), Penutup (pabaiga).
coverletter
Motyvacinio laiško juodraštis; režimai: Fresh graduate (ką tik baigęs studijas), Berpengalaman (turintis patirties), Magang (praktika).
poem
Trumpi eilėraščiai; režimai: Bebas (laisvoji forma), Berima (rimuotas), Akrostik, Haiku.
Apribojimai
Teksto ilgis
Daugiausia 6 000 simbolių per užklausą (viršijus – 413 too_long).
Vienam IP adresui
30 užklausų per minutę.
Bendra
100 užklausų per minutę visai paslaugai, be to, dienos riba DI funkcijoms.
Plagiato patikra
5 patikros per minutę vienam IP adresui ir 60 per minutę visai paslaugai; mažiausiai 30 žodžių.
Išvestis
Kiekvienai užduočiai skirtas ilgio biudžetas, niekada ne daugiau kaip 2 048 žetonai; nutrauktas atsakymas turi truncated: true.
Modelis
Parenkamas pagal kalbą: anglų ir indoneziečių kalbos veikia su @cf/aisingapore/gemma-sea-lion-v4-27b-it, visos kitos kalbos su @cf/qwen/qwen3-30b-a3b-fp8. Kai modelis užimtas, apribotas, lėtas ar sugenda, užklausa perduodama kitam modeliui grandinėje (Qwen3-30B, tada @cf/google/gemma-4-26b-a4b-it, tada @cf/meta/llama-3.3-70b-instruct-fp8-fast). Laukas model visada nurodo modelį, kuris atsakė.
Klaidų kodai
Būsena
Kodas
Kada atsitinka
400
invalid_request
Netinkamas JSON, trūksta privalomo lauko arba nežinomas task ar lang.
413
too_long
text viršija 6 000 simbolių.
403
forbidden
Užklausa neatėjo iš adeptwrite.com puslapio.
429
rate_limited
Viršyta IP adreso ar bendra užklausų per minutę riba. Palaukite sekundžių skaičių, nurodytą Retry-After.
429
quota_exceeded
Išnaudota DI funkcijų dienos riba. Bandykite kitą dieną (UTC).
502
upstream
Nė vienas grandinės modelis laiku neatsakė.
502
empty_output
Modeliai atsakė, bet rezultatas tuščias.
503
disabled
Operatorius laikinai išjungė paslaugą arba (/api/v1/aidetect) ji dar neįdiegta.
Klaidų formatas
Kiekviena klaida grąžinama kaip JSON su atitinkamu HTTP būsenos kodu ir ta pačia struktūra:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
Pirmiausia patikrinkite ok, tada programiniam apdorojimui skaitykite error.code; error.message saugu rodyti naudotojams.
Rekomenduojama praktika
Tekstą siųskite dalimis (pavyzdžiui, po pastraipą), o ne vienu ilgu dokumentu; rezultatai grįžta greičiau ir juos lengviau peržiūrėti.
Į 429 reaguokite didėjančiomis pauzėmis, o ne tuojau pat kartodami.
Nesiųskite asmeninių ar konfidencialių duomenų, kurių nereikia, nes, nors jų nesaugome, duomenų kiekio mažinimo principas vis tiek galioja.
DI rezultatas gali būti klaidingas; pateikite jį kaip pasiūlymą peržiūrai, o ne kaip galutinę tiesą.
Dažniausiai užduodami klausimai
Ar galiu kviesti API iš savo programos ar domeno?
Kol kas ne. „Worker“ šiuo metu nesiunčia CORS antraščių ir aptarnauja tik adeptwrite.com puslapius. Išorinė prieiga su API raktais planuojama kartu su „Pro“ planu; kai ji atsiras, šią dokumentaciją atnaujinsime.
Ar į API siunčiamas tekstas saugomas?
Ne. Tekstas perduodamas modeliui atsakymui sukurti ir tada atmetamas. Žurnaluose yra tik metaduomenys (būsenos kodas, užduotis, trukmė). Visą informaciją rasite privatumo politikoje.
Kodėl rezultatas yra paprastas tekstas, o ne struktūruotas JSON?
Kiekviena užduotis sukuria vieną paruoštą naudoti tekstą be įžangos ir Markdown tvoros, kad jį būtų galima rodyti tiesiai redaktoriuje. Papildoma struktūra (pavyzdžiui, pakeitimų sąrašas) planuojama vėlesnei versijai nekeičiant v1.
Kiek kainuoja API?
Iš adeptwrite.com jis nemokamas, ribojamas iki 30 DI užklausų per minutę vienam IP adresui. Išorinės prieigos kainos bus paskelbtos kartu su „Pro“ planu; iki tol nieko neimama.
Kuris modelis atsako į mano užklausą?
Tai priklauso nuo kalbos: anglų ir indoneziečių kalbos eina į SEA-LION, kitos kalbos į Qwen3-30B. Jei tas modelis užimtas ar sugenda, atsako kitas atsarginės grandinės modelis, o atsakymo laukas model nurodo, kuris.