Tekstin uudelleenmuotoilu, kieliopin tarkistus, tiivistys, kääntäminen ja plagioinnin tarkistus 56 kielellä omaan sovellukseesi. Yksinkertainen REST-rajapinta Cloudflaren reunaverkosta.
Same-origin
Tällä hetkellä API palvelee vain sivuston adeptwrite.com omia pyyntöjä (ei CORS-otsakkeita). Ulkoinen käyttö API-avaimella on suunniteltu Pro-paketin yhteyteen. Dokumentaatio julkaistaan etukäteen, jotta sopimus on avoin ja ehdit valmistautua.
Yhteenveto
AdeptWriten API v1:ssä on kolme käytössä olevaa päätepistettä. POST /api/v1/run ottaa vastaan JSON-viestin, jossa on task, mode, lang ja text (enintään 6 000 merkkiä), ja palauttaa pelkkää tekstiä Cloudflare Workers AI -mallilta, joka valitaan kielen mukaan. POST /api/v1/plagiarism vertaa tekstiä avoimiin lähteisiin ja listaa jokaisen tarkistetun lähteen. GET /api/v1/health palauttaa palvelun tilan. Tekstiä ei koskaan tallenneta eikä kirjata lokiin, ja tekoälypyynnöt on rajattu 30:een minuutissa IP-osoitetta kohden.
Perusteet
Perusosoite:https://adeptwrite.com/api/v1
Muoto: pyynnöt ja vastaukset ovat JSON-muotoisia (Content-Type: application/json, UTF-8).
Tunnistautuminen: ei vielä; pyynnön on tultava sivulta adeptwrite.com (same-origin). API-avaimet tulevat Pro-paketin mukana.
Tietosuoja:text-kentän sisältöä ei tallenneta eikä kirjata lokiin; vastauksissa on Cache-Control: no-store.
Versiointi: polku /v1/ ei muutu yhteensopimattomasti; suuret muutokset tulevat polkuun /v2/.
POST/api/v1/run
Suorittaa yhden tekoälytehtävän tekstille ja palauttaa tuloksen pelkkänä tekstinä (ei johdantoa, ei Markdown-lohkoja).
Pyyntö
Field
Type
Required
Notes
task
string
✓
Tehtävän nimi; katso tehtävälista alla.
text
string
✓
Syöteteksti, 1–6 000 merkkiä.
lang
string
✓
Tuloksen kieli: jokin sivuston 56 kielikoodista (fi, en, sv, pt-pt, zh-hant ja niin edelleen; BCP 47 -tunnisteet kuten pt-BR yhdistetään vastaaviin) tai auto, joka tarkoittaa "sama kieli kuin syötteessä".
mode
string
—
Työkalun käytettävissä oleva tila, esimerkiksi Formal, Akademik, Ringkas tai Poin-poin. Tilojen tunnisteet ovat rajapinnan sisäisiä arvoja, eivätkä ne muutu kielen mukaan. Ohitetaan, jos tehtävällä ei ole tiloja.
options
object
—
Tehtäväkohtaiset lisäasetukset: from ja to tehtävälle translate (mistä tahansa tuetusta kielestä toiseen; from voi olla auto; sr-Cyrl pyytää serbiaa kyrillisin kirjaimin), platform (instagram / tiktok / linkedin) tehtävälle caption sekä valinnaiset nimetyt fields tehtäville bio, coverletter ja meta. Muut avaimet ohitetaan.
Tila 200 ja ok: true, tulos kentässä output, vastauksen todella antanut malli kentässä model (eri malli, jos varamalli otti vastuun) sekä käsittelyaika millisekunteina. truncated: true lisätään, jos vastaus katkesi pituus- tai aikarajaan.
{
"ok": true,
"output": "Kirjoitustaito on opiskelijalle erittäin tärkeä.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
Esimerkki: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"fi","text":"Menin eilen kauppaan ja ostin maito."}'
Esimerkki: 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: 'fi', 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
Valitsee tekstistä 4–8 tunnusomaista fraasia, hakee niitä tekstin kielelle sopivista avoimista lähteistä (Wikipedia, Wikisource, Internet Archiven kokoteksti, Europe PMC, DOAJ, arXiv; verkkohakupalvelu vain, jos se on määritetty ja sitä pyydetään) ja laskee päällekkäisyyden. Palvelimelta poistuvat vain nämä lyhyet fraasit.
Pyyntö
Field
Type
Required
Notes
text
string
✓
Vähintään 30 sanaa, enintään 6 000 merkkiä.
lang
string
✓
Sivuston kielikoodi tai auto.
options
object
—
web: true käyttää myös verkkohakupalvelua, jos ylläpitäjä on määrittänyt sen; vastauksen webSearched kertoo, vastasiko palvelu todella.
Tila 200 ja score (vastaavat sanat ÷ sanojen määrä, 0–1), matches lähteittäin korostettuine passages-kohtineen (merkkipaikat tekstissäsi), sourcesSearched (täsmälleen ne lähteet, joiden vastaus on tuloksessa), sourcesSkipped syineen sekä webSearched.
Kertoo, mitkä palvelut ovat käytössä. Ei tarvitse pyynnön sisältöä, eikä sitä lasketa kiintiöön.
Vastaus
Tila 200. ai on false, kun tekoälyn hätäkatkaisin on päällä; plagiarism luettelee lähteet, joita tarkistin voi hakea; aidetect kuvaa tekoälytunnistimen palvelinpuolen syväanalyysin, jota ei ole vielä otettu käyttöön (POST /api/v1/aidetect vastaa 503 disabled; sivuston tunnistin toimii selaimessasi).
Lyhyt runo; tilat: Bebas, Berima, Akrostik, Haiku.
Rajat
Tekstin pituus
Enintään 6 000 merkkiä pyyntöä kohden (413 too_long, jos enemmän).
IP-osoitetta kohden
30 pyyntöä minuutissa.
Yleinen raja
100 pyyntöä minuutissa koko palvelulle sekä päiväkohtainen raja tekoälyominaisuuksille.
Plagioinnin tarkistus
5 tarkistusta minuutissa IP-osoitetta kohden ja 60 minuutissa koko palvelulle; vähintään 30 sanaa.
Tuloste
Tehtäväkohtainen pituusbudjetti, aina enintään 2 048 tokenia; katkennut vastaus sisältää truncated: true.
Malli
Valitaan kielen mukaan: indonesia ja englanti käyttävät mallia @cf/aisingapore/gemma-sea-lion-v4-27b-it, muut kielet, suomi mukaan lukien, mallia @cf/qwen/qwen3-30b-a3b-fp8. Jos malli on kuormitettu, rajoitettu, hidas tai epäonnistuu, pyyntö siirtyy varaketjun seuraavalle mallille (Qwen3-30B, sitten @cf/google/gemma-4-26b-a4b-it, sitten @cf/meta/llama-3.3-70b-instruct-fp8-fast). Kenttä model kertoo aina vastanneen mallin.
Virhekoodit
Tila
Koodi
Milloin tapahtuu
400
invalid_request
JSON ei kelpaa, pakollinen kenttä puuttuu tai task tai lang on tuntematon.
413
too_long
text on yli 6 000 merkkiä.
403
forbidden
Pyyntö ei tule sivulta adeptwrite.com.
429
rate_limited
IP-kohtainen tai yleinen minuuttiraja ylittyi. Odota Retry-After-otsakkeen ilmoittama sekuntimäärä.
429
quota_exceeded
Tekoälyominaisuuksien päiväraja on käytetty. Yritä uudelleen seuraavana päivänä (UTC).
502
upstream
Mikään ketjun malli ei vastannut ajoissa.
502
empty_output
Malli vastasi, mutta tulos on tyhjä.
503
disabled
Ylläpitäjä on tilapäisesti sulkenut palvelun tai (kohteelle /api/v1/aidetect) sitä ei ole vielä otettu käyttöön.
Virheiden muoto
Kaikki virheet palautetaan JSON-muodossa sopivalla HTTP-tilakoodilla ja samalla rakenteella:
{ "ok": false, "error": { "code": "rate_limited", "message": "Liian monta pyyntöä. Yritä hetken kuluttua uudelleen." } }
Tarkista ensin ok ja lue sitten error.code ohjelmallista käsittelyä varten; error.message on turvallista näyttää käyttäjälle.
Suositeltavat käytännöt
Lähetä teksti osissa (esimerkiksi kappale kerrallaan) yhden pitkän asiakirjan sijaan; tulos tulee nopeammin ja on helpompi tarkistaa.
Käsittele 429 eksponentiaalisella viiveellä, älä yritä heti uudelleen.
Älä lähetä tarpeettomia henkilö- tai luottamuksellisia tietoja: vaikka emme tallenna niitä, tietojen minimoinnin periaate pätee silti.
Tekoälyn tulos voi olla virheellinen; näytä se tarkistettavana ehdotuksena, älä lopullisena totuutena.
Usein kysytyt kysymykset
Voinko käyttää APIa omasta sovelluksestani tai verkkotunnuksestani?
Et vielä. Tällä hetkellä Worker ei lähetä CORS-otsakkeita ja palvelee vain sivua adeptwrite.com. Ulkoinen käyttö API-avaimella on suunniteltu Pro-paketin yhteyteen; tämä dokumentaatio päivitetään heti, kun käyttö on todella mahdollista.
Tallennetaanko APIin lähetetty teksti?
Ei. Teksti välitetään mallille vastauksen tuottamista varten ja hylätään sen jälkeen. Lokeissa on vain metatietoja, kuten tilakoodi, tehtävän nimi ja kesto, ei lainkaan tekstin sisältöä. Katso tarkemmin tietosuojaseloste.
Miksi tulos on pelkkää tekstiä eikä jäsenneltyä JSONia?
Jokainen tehtävä tuottaa yhden käyttövalmiin tekstin ilman johdantoa tai Markdown-lohkoja, jotta sen voi näyttää suoraan editorissa. Lisärakenteita (esimerkiksi muutoslista) on suunniteltu seuraaviin versioihin v1:tä muuttamatta.
Paljonko APIn käyttö maksaa?
Sivustolta adeptwrite.com käyttö on ilmaista rajalla 30 tekoälypyyntöä minuutissa IP-osoitetta kohden. Ulkoisen käytön hinnoittelu ilmoitetaan Pro-paketin yhteydessä; ennen sitä mitään ei laskuteta.
Mikä malli vastaa pyyntööni?
Se riippuu kielestä: indonesian ja englannin käsittelee SEA-LION, muut kielet, suomi mukaan lukien, Qwen3-30B. Jos malli on kuormitettu tai epäonnistuu, varaketjun seuraava malli vastaa, ja vastauksen model-kenttä kertoo mallin, joka todella vastasi.