Parafraziranje, provjera gramatike, sažeci, prijevod i provjera plagijata na 56 jezika. Jednostavan REST, posluživan s Cloudflareova ruba.
Isto podrijetlo
API trenutačno prima zahtjeve samo sa stranica adeptwrite.com (bez CORS zaglavlja). Vanjski pristup s API ključevima planiran je uz paket Pro. Ova je dokumentacija objavljena ranije kako bi ugovor bio otvoren, a vi se mogli pripremiti.
Sažetak
API v1 AdeptWritea ima tri aktivne završne točke. POST /api/v1/run prima JSON s poljima task, mode, lang i text (do 6.000 znakova) te vraća izlaz u obliku običnog teksta iz modela Cloudflare Workers AI odabranog prema jeziku; POST /api/v1/plagiarism uspoređuje tekst s otvorenim izvorima i navodi svaki pretraženi izvor; GET /api/v1/health vraća stanje usluge. Tekst se nikada ne pohranjuje ni bilježi, a AI zahtjevi ograničeni su na 30 u minuti po IP adresi.
Osnove
Osnovni URL:https://adeptwrite.com/api/v1
Format: zahtjevi i odgovori su JSON (Content-Type: application/json, UTF-8).
Autentikacija: zasad nema; zahtjevi moraju dolaziti sa stranica adeptwrite.com (isto podrijetlo). API ključevi stižu uz paket Pro.
Privatnost: polje text nikada se ne pohranjuje ni bilježi; odgovori nose Cache-Control: no-store.
Inačice: putanja /v1/ neće se mijenjati na nekompatibilan način; promjene koje lome kompatibilnost bit će na putanji /v2/.
POST/api/v1/run
Izvodi jedan AI zadatak nad tekstom i vraća rezultat kao običan tekst (bez uvoda i bez Markdown ograda).
Zahtjev
Field
Type
Required
Notes
task
string
✓
Naziv zadatka; pogledajte popis zadataka u nastavku.
text
string
✓
Ulazni tekst, 1–6.000 znakova.
lang
string
✓
Jezik rezultata: jedna od 56 oznaka jezika web-mjesta (hr, en, id, ja, pt-pt, zh-hant…; BCP 47 oznake poput pt-BR se preslikavaju) ili auto za „isti jezik kao ulaz“.
mode
string
—
Način rada dostupan za taj alat, npr. Formal, Akademik, Ringkas, Poin-poin (nazivi načina rada su indonezijske oznake iz registra). Ignorira se za zadatke bez načina rada.
options
object
—
Mogućnosti specifične za zadatak: from / to za translate (bilo koji podržani jezik na bilo koji drugi; from može biti auto; sr-Cyrl traži srpski ćirilicom), platform (instagram / tiktok / linkedin) za caption te neobvezna imenovana polja fields za bio, coverletter i meta. Ostali se ključevi ignoriraju.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "hr",
"text": "Dobro pisanje studentima je vrlo važno.",
"options": {}
}
Odgovor
Status 200 s ok: true, rezultatom u polju output, modelom koji je doista odgovorio u polju model (razlikuje se kada je uskočio pričuvni model) i vremenom obrade u milisekundama. Polje truncated: true dodaje se kada je odgovor dosegnuo ograničenje duljine ili vremena i bio prekinut.
{
"ok": true,
"output": "Kvaliteta pisanja ključna je za studente.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
Primjer: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"hr","text":"Ja bi otišao u knjižnicu sutra."}'
Primjer: 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: 'hr', 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
Bira 4–8 karakterističnih izraza iz teksta, pretražuje otvorene izvore na jeziku teksta (Wikipedija, Wikizvor, puni tekst Internet Archivea, Europe PMC, DOAJ, arXiv; pružatelja web-pretrage samo kada je podešen i zatražen) i ocjenjuje preklapanje. Poslužitelj napuštaju samo ti kratki izrazi.
Zahtjev
Field
Type
Required
Notes
text
string
✓
Najmanje 30 riječi, najviše 6.000 znakova.
lang
string
✓
Oznaka jezika web-mjesta ili auto.
options
object
—
web: true dodatno upućuje upit pružatelju web-pretrage kada ga je operator podesio; webSearched u odgovoru kaže je li doista odgovorio.
Status 200 s poljima score (podudarne riječi ÷ riječi, 0–1), matches po izvoru s istaknutim passages (pomaci znakova u vašem tekstu), sourcesSearched (točno izvori čiji su odgovori u rezultatu), sourcesSkipped s razlogom i webSearched.
Javlja koje su usluge uključene. Ne prima tijelo zahtjeva i ne troši kvotu.
Odgovor
Status 200. Polje ai je false dok je uključena sigurnosna sklopka za AI; plagiarism navodi izvore koje provjera može upitati; aidetect opisuje dubinsku analizu AI detektora na poslužitelju, koja još nije puštena u rad (POST /api/v1/aidetect odgovara s 503 disabled; detektor na web-mjestu radi u vašem pregledniku).
Parafraziranje; načini: Standar (standardno), Formal (službeno), Santai (opušteno), Akademik (akademski), Kreatif (kreativno), Ringkas (kraće), Panjangkan (dulje).
grammar
Ispravljanje gramatike i pravopisa (za hrvatski prema uputi o standardnom hrvatskom i Hrvatskom pravopisu IHJJ-a).
tone
Promjena tona; načini: Formal (službeno), Kantor (poslovno), Santai (opušteno).
rewrite
Popravak krutih ili nespretnih rečenica; načini: Standar, Formal.
resize
Skraćivanje ili proširivanje rečenica; načini: Ringkas (kraće), Panjangkan (dulje).
essay
Izrada odlomaka ili eseja iz natuknica; načini: Akademik, Kreatif, Panjangkan.
summarize
Sažetak; načini: Poin-poin (točke), Paragraf (odlomak), Satu kalimat (jedna rečenica).
translate
Prijevod između bilo koja dva podržana jezika; options.from (ili auto) i options.to; načini: Alami (prirodno, zadano), Formal (službeno), Santai (opušteno).
thesis
Ideje za naslove završnog rada i plan poglavlja.
abstract
Strukturirani sažetak rada iz sažetka istraživanja.
caption
Opisi za društvene mreže; options.platform: instagram, tiktok, linkedin.
email
E-mailovi i dopisi; načini: Lamaran kerja (prijava za posao), Surat resmi (službeno pismo), Follow-up (naknadna poruka).
headline
Naslovi članaka i naslovnice; načini: Kreatif, Ringkas.
Kratke pjesme; načini: Bebas (slobodni stih), Berima (rimovano), Akrostik, Haiku.
Ograničenja
Duljina teksta
Najviše 6.000 znakova po zahtjevu (iznad toga 413 too_long).
Po IP adresi
30 zahtjeva u minuti.
Globalno
100 zahtjeva u minuti na cijeloj usluzi, uz dnevnu gornju granicu za AI značajke.
Plagijat
5 provjera u minuti po IP adresi i 60 u minuti na cijeloj usluzi; najmanje 30 riječi.
Izlaz
Proračun duljine po zadatku, nikada više od 2.048 tokena; prekinuti odgovor nosi truncated: true.
Model
Bira se po jeziku: engleski i indonezijski rade na @cf/aisingapore/gemma-sea-lion-v4-27b-it, svi ostali jezici (pa i hrvatski) na @cf/qwen/qwen3-30b-a3b-fp8. Kada je model zauzet, ograničen, spor ili zakaže, zahtjev prelazi na sljedeći model u nizu (Qwen3-30B, zatim @cf/google/gemma-4-26b-a4b-it, zatim @cf/meta/llama-3.3-70b-instruct-fp8-fast). Polje model uvijek imenuje model koji je odgovorio.
Kodovi pogrešaka
Status
Kod
Kada se javlja
400
invalid_request
Neispravan JSON, nedostaje obvezno polje ili je task odnosno lang nepoznat.
413
too_long
text premašuje 6.000 znakova.
403
forbidden
Zahtjev nije stigao sa stranice adeptwrite.com.
429
rate_limited
Premašeno je ograničenje po IP adresi ili globalno ograničenje u minuti. Pričekajte broj sekundi iz zaglavlja Retry-After.
429
quota_exceeded
Dnevna gornja granica za AI značajke je iskorištena. Pokušajte sljedeći dan (UTC).
502
upstream
Nijedan model u nizu nije odgovorio na vrijeme.
502
empty_output
Modeli su odgovorili, ali s praznim rezultatom.
503
disabled
Operator je uslugu privremeno isključio ili (za /api/v1/aidetect) još nije puštena u rad.
Oblik pogreške
Svaka se pogreška vraća kao JSON s odgovarajućim HTTP statusnim kodom i uvijek istim oblikom:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
Prvo provjerite ok, a zatim pročitajte error.code za programsku obradu; error.message sigurno je prikazati korisnicima.
Preporučena praksa
Tekst šaljite u dijelovima (primjerice po odlomak), a ne kao jedan dugačak dokument; rezultati stižu brže i lakše ih je pregledati.
Odgovor 429 obradite eksponencijalnim odgodama, a ne trenutnim ponovnim pokušajima.
Ne šaljite osobne ni povjerljive podatke koji vam nisu potrebni; iako ih ne pohranjujemo, vrijedi načelo smanjenja količine podataka.
Rezultat umjetne inteligencije može biti pogrešan; prikažite ga kao prijedlog za provjeru, a ne kao konačnu istinu.
Česta pitanja
Mogu li API pozivati iz vlastite aplikacije ili domene?
Zasad ne. Worker trenutačno ne šalje CORS zaglavlja i poslužuje samo stranice adeptwrite.com. Vanjski pristup s API ključevima planiran je uz paket Pro; ova će se dokumentacija ažurirati kada bude dostupan.
Pohranjuje li se tekst poslan API-ju?
Ne. Tekst se prosljeđuje modelu radi izrade odgovora, a zatim odbacuje. Zapisnici sadrže samo metapodatke (statusni kod, zadatak, trajanje). Sve pojedinosti pročitajte u pravilima privatnosti.
Zašto je izlaz običan tekst, a ne strukturirani JSON?
Svaki zadatak daje jedan tekst spreman za uporabu, bez uvoda i Markdown ograda, pa se može izravno prikazati u uređivaču. Dodatna struktura (primjerice popis izmjena) planirana je u kasnijoj inačici, bez promjene inačice v1.
Koliko košta API?
S web-mjesta adeptwrite.com besplatan je, uz ograničenje od 30 AI zahtjeva u minuti po IP adresi. Cijene vanjskog pristupa bit će objavljene uz paket Pro; do tada se ništa ne naplaćuje.
Koji model odgovara na moj zahtjev?
Ovisi o jeziku: engleski i indonezijski idu na SEA-LION, ostali jezici, pa i hrvatski, na Qwen3-30B. Ako je taj model zauzet ili zakaže, odgovara sljedeći model u nizu, a polje model u odgovoru imenuje onaj koji je odgovorio.