API dokumentatsioon

Ümbersõnastamine, grammatikakontroll, kokkuvõtted, tõlge ja plagiaadikontroll 56 keeles. Lihtne REST, serveeritud Cloudflare’i servast.

Sama päritolu
API teenindab praegu päringuid ainult saidilt adeptwrite.com endalt (CORS-päiseid pole). Väline juurdepääs API-võtmetega on kavandatud koos paketiga Pro. Need dokumendid on avaldatud varakult, et leping oleks avalik ja sa saaksid selleks valmistuda.
Kokkuvõte

AdeptWrite’i API v1-l on kolm töötavat lõpp-punkti. POST /api/v1/run võtab JSON-i väljadega task, mode, lang ja text (kuni 6000 märki) ning tagastab keele jaoks valitud Cloudflare Workers AI mudeli lihttekstitulemuse; POST /api/v1/plagiarism võrdleb teksti avatud allikatega ja loetleb kõik otsitud allikad; GET /api/v1/health tagastab teenuse oleku. Teksti ei salvestata ega logita ning tehisintellekti päringuid on lubatud 30 minutis ühe IP-aadressi kohta.

Põhitõed

  • Baas-URL: https://adeptwrite.com/api/v1
  • Vorming: päringud ja vastused on JSON (Content-Type: application/json, UTF-8).
  • Autentimine: veel pole; päringud peavad tulema adeptwrite.com lehtedelt (sama päritolu). API-võtmed tulevad koos paketiga Pro.
  • Privaatsus: välja text ei salvestata ega logita; vastustel on päis Cache-Control: no-store.
  • Versioonimine: tee /v1/ ei muutu ühildumatult; ühildumatud muudatused kasutavad teed /v2/.

POST/api/v1/run

Käivitab tekstil ühe tehisintellekti ülesande ja tagastab tulemuse lihttekstina (ilma sissejuhatuseta ja Markdowni aedadeta).

Päring

FieldTypeRequiredNotes
taskstring✓Ülesande nimi; vaata allolevat ülesannete loendit.
textstring✓Sisendtekst, 1–6000 märki.
langstring✓Tulemuse keel: üks 56 saidi lokaadikoodist (et, en, id, ja, pt-pt, zh-hant…; BCP 47 märgendid nagu pt-BR teisendatakse) või auto tähenduses „sama keel mis sisendil“.
modestring—Selle tööriista jaoks saadaolev režiim, nt Formal, Akademik, Ringkas, Poin-poin (režiimide nimed on registri sildid). Ülesannete puhul, millel režiime pole, ignoreeritakse.
optionsobject—Ülesandespetsiifilised valikud: from / to ülesandele translate (mis tahes toetatud keelest mis tahes teise; from võib olla auto; sr-Cyrl küsib serbia keelt kirillitsas), platform (instagram / tiktok / linkedin) ülesandele caption ning valikulised sildistatud fields ülesannetele bio, coverletter ja meta. Muid võtmeid ignoreeritakse.
POST /api/v1/run HTTP/1.1
Content-Type: application/json

{
  "task": "paraphrase",
  "mode": "Formal",
  "lang": "et",
  "text": "Hea kirjutamisoskus on õpilastele väga tähtis.",
  "options": {}
}

Vastus

Olek 200 väljaga ok: true, tulemus väljas output, tegelikult vastanud mudel väljas model (see erineb, kui sekkus varumudel) ja töötlusaeg millisekundites. truncated: true lisatakse, kui vastus jõudis pikkuse eelarve või ajapiirini ja katkestati.

{
  "ok": true,
  "output": "Heal kirjutamisoskusel on õpilaste jaoks suur tähtsus.",
  "model": "@cf/qwen/qwen3-30b-a3b-fp8",
  "ms": 812
}

Näide: curl

curl -X POST https://adeptwrite.com/api/v1/run \
  -H "Content-Type: application/json" \
  -d '{"task":"grammar","lang":"et","text":"Nad lähevad homme raamatukokku, et lugeda ajalehti."}'

Näide: 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: 'et', 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

Valib tekstist 4–8 iseloomulikku fraasi, otsib teksti keeles avatud allikatest (Wikipedia, Wikisource, Internet Archive täistekst, Europe PMC, DOAJ, arXiv; veebiotsingu pakkuja ainult siis, kui see on seadistatud ja küsitud) ning hindab kattuvust. Serverist lahkuvad ainult need lühikesed fraasid.

Päring

FieldTypeRequiredNotes
textstring✓Vähemalt 30 sõna, kuni 6000 märki.
langstring✓Saidi lokaadikood või auto.
optionsobject—web: true küsib ka veebiotsingu pakkujalt, kui haldaja on selle seadistanud; vastuse väli webSearched ütleb, kas see tegelikult vastas.
POST /api/v1/plagiarism HTTP/1.1
Content-Type: application/json

{ "text": "…vähemalt 30 sõna…", "lang": "et", "options": { "web": false } }

Vastus

Olek 200 väljadega score (kattuvad sõnad ÷ sõnad, 0–1), matches allikate kaupa esiletõstetud lõikudega passages (märgipositsioonid sinu tekstis), sourcesSearched (täpselt need allikad, mille vastused on tulemuses), sourcesSkipped põhjusega ja webSearched.

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

Näide: curl

curl -X POST https://adeptwrite.com/api/v1/plagiarism \
  -H "Content-Type: application/json" \
  -d '{"lang":"et","text":"…vähemalt 30 sõna…"}'

GET/api/v1/health

Teatab, millised teenused on sisse lülitatud. Keha ei võta ega lähe kvoodi arvestusse.

Vastus

Olek 200. ai on false, kui tehisintellekti hädalüliti on sees; plagiarism loetleb allikad, mida kontroll saab pärida; aidetect kirjeldab tehisintellekti tuvastaja serveripoolset süvaanalüüsi, mis pole veel kasutusele võetud (POST /api/v1/aidetect vastab 503 disabled; saidil olev tuvastaja töötab sinu brauseris).

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

Näide: curl

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

Task list

taskWhat it does
paraphraseÜmbersõnastamine; režiimid: Standar, Formal, Santai, Akademik, Kreatif, Ringkas, Panjangkan (tavaline, ametlik, vaba, akadeemiline, loov, lühem, pikem).
grammarGrammatika- ja õigekirjaparandus (eesti keeles ÕS-i põhimõtetel).
toneTooni muutmine; režiimid: Formal (ametlik), Kantor (asjalik), Santai (vaba).
rewriteKohmakate lausete parandamine; režiimid: Standar, Formal.
resizeLausete lühendamine või pikendamine; režiimid: Ringkas, Panjangkan.
essayLõikude või essee koostamine märksõnadest; režiimid: Akademik, Kreatif, Panjangkan.
summarizeKokkuvõte; režiimid: Poin-poin (punktid), Paragraf (lõik), Satu kalimat (üks lause).
translateTõlge mis tahes kahe toetatud keele vahel; options.from (või auto) ja options.to; režiimid: Alami (loomulik, vaikimisi), Formal (ametlik), Santai (vaba).
thesisLõputöö teemaideed ja peatükkide plaan.
abstractStruktureeritud annotatsioon uurimuse kokkuvõttest.
captionSotsiaalmeedia postituste allkirjad; options.platform: instagram, tiktok, linkedin.
emailE-kirjad ja kirjad; režiimid: Lamaran kerja (töökandideerimine), Surat resmi (ametlik kiri), Follow-up (järelpärimine).
headlineArtiklipealkirjad; režiimid: Kreatif (loov), Ringkas (lühike).
productTootekirjeldused; režiimid: Marketplace (turuplats), Toko online (e-pood).
synonymSünonüümide loend ühele sõnale või fraasile.
humanizeJäiga või üldsõnalise teksti loomulikumaks kirjutamine; režiimid: Alami (loomulik), Pribadi (isiklik), Profesional (professionaalne).
metaKolm metapealkirja ja -kirjelduse paari; režiimid: Artikel (artikkel), Produk (toode), Halaman (mis tahes veebileht).
hashtagÜks rida hashtage; režiimid: Instagram, TikTok, LinkedIn, X.
bioKolm profiilitutvustust; režiimid: Instagram, LinkedIn, X, TikTok.
outlineNummerdatud plaan alapunktidega; režiimid: Artikel, Esai (essee), Skripsi (lõputöö), Presentasi (ettekanne).
sloganKümme loosungiideed; režiimid: Merek (bränd), Kampanye (kampaania), Produk (toode).
paragraphÜks lõik teemast; režiimid: Pembuka (sissejuhatus), Isi (sisu), Penutup (lõpetus).
coverletterMotivatsioonikirja mustand; režiimid: Fresh graduate (äsja lõpetanu), Berpengalaman (kogenud), Magang (praktika).
poemLühikesed luuletused; režiimid: Bebas (vabavärss), Berima (riimuv), Akrostik (akrostihhon), Haiku.

Piirangud

Teksti pikkus
Kuni 6000 märki päringu kohta (üle selle 413 too_long).
IP-aadressi kohta
30 päringut minutis.
Üldine
100 päringut minutis kogu teenuse peale ning tehisintellekti funktsioonide päevane lagi.
Plagiaat
5 kontrolli minutis IP-aadressi kohta ja 60 minutis kogu teenuse peale; vähemalt 30 sõna.
Väljund
Ülesandekohane pikkuse eelarve, mitte kunagi üle 2048 žetooni; katkestatud vastusel on truncated: true.
Mudel
Valitakse keele järgi: inglise ja indoneesia keel töötavad mudelil @cf/aisingapore/gemma-sea-lion-v4-27b-it, kõik teised keeled mudelil @cf/qwen/qwen3-30b-a3b-fp8. Kui mudel on hõivatud, piiratud, aeglane või ebaõnnestub, liigub päring ahelas järgmisele mudelile (Qwen3-30B, seejärel @cf/google/gemma-4-26b-a4b-it, seejärel @cf/meta/llama-3.3-70b-instruct-fp8-fast). Väli model nimetab alati mudeli, mis vastas.

Veakoodid

OlekKoodMillal see juhtub
400invalid_requestVigane JSON, puuduv kohustuslik väli või tundmatu task või lang.
413too_longtext ületab 6000 märki.
403forbiddenPäring ei tulnud adeptwrite.com lehelt.
429rate_limitedIP-aadressi või üldine minutipiirang on ületatud. Oota päises Retry-After toodud arv sekundeid.
429quota_exceededTehisintellekti funktsioonide päevane lagi on täis. Proovi uuesti järgmisel päeval (UTC).
502upstreamÜkski ahela mudel ei vastanud õigeks ajaks.
502empty_outputMudelid vastasid, kuid tühja tulemusega.
503disabledHaldaja on teenuse ajutiselt välja lülitanud või (lõpp-punkti /api/v1/aidetect puhul) see pole veel kasutusele võetud.

Vea vorming

Iga viga tagastatakse JSON-ina vastava HTTP olekukoodiga ja sama kujuga:

{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }

Kontrolli esmalt välja ok, seejärel loe programmilise käsitluse jaoks error.code; error.message on kasutajatele näitamiseks ohutu.

Soovitatav praktika

  • Saada tekst osadena (näiteks lõikude kaupa), mitte ühe pika dokumendina; tulemused tulevad kiiremini ja neid on lihtsam üle vaadata.
  • Käsitle vastust 429 eksponentsiaalse ooteajaga, mitte kohese kordamisega.
  • Ära saada isiku- ega konfidentsiaalseid andmeid, mida sul pole vaja, sest kuigi me neid ei salvesta, kehtib andmete minimeerimine endiselt.
  • Tehisintellekti tulemus võib olla vale; esita see ülevaatamist vajava soovitusena, mitte lõpliku tõena.

Korduma kippuvad küsimused

Kas ma võin API-t kutsuda oma rakendusest või domeenilt?

Veel mitte. Worker ei saada praegu CORS-päiseid ja teenindab ainult adeptwrite.com lehti. Väline juurdepääs API-võtmetega on kavandatud koos paketiga Pro; need dokumendid uuendatakse, kui see on saadaval.

Kas API-le saadetud teksti salvestatakse?

Ei. Tekst edastatakse mudelile vastuse koostamiseks ja visatakse seejärel ära. Logid sisaldavad ainult metaandmeid (olekukood, ülesanne, kestus). Kõik üksikasjad on privaatsuspoliitikas.

Miks on väljund lihttekst, mitte struktureeritud JSON?

Iga ülesanne annab ühe kohe kasutatava teksti ilma sissejuhatuse ja Markdowni aedadeta, et seda saaks otse redaktoris näidata. Lisastruktuur (näiteks muudatuste loend) on kavandatud hilisemasse versiooni v1 muutmata.

Kui palju API maksab?

Saidilt adeptwrite.com on see tasuta, piiratud 30 tehisintellekti päringuga minutis IP-aadressi kohta. Välise juurdepääsu hinnad teatatakse koos paketiga Pro; enne seda ei võeta midagi tasu.

Milline mudel minu päringule vastab?

See sõltub keelest: inglise ja indoneesia keel lähevad mudelile SEA-LION, ülejäänud keeled mudelile Qwen3-30B. Kui see mudel on hõivatud või ebaõnnestub, vastab selle asemel varuahela järgmine mudel ja vastuse väli model nimetab selle, mis vastas.