Átfogalmazás, nyelvtani és helyesírás-ellenőrzés, összefoglalás, fordítás és plágiumkeresés 56 nyelven, az alkalmazásodnak. Egyszerű REST, a Cloudflare peremhálózatáról.
Same-origin
Jelenleg az API csak az adeptwrite.com saját oldalairól érkező kéréseket szolgálja ki (CORS-fejlécek nélkül). Az API-kulccsal történő külső hozzáférés a Pro csomaghoz tartozik. A dokumentációt korán közzétettük, hogy a szerződés nyílt legyen, és fel tudj készülni rá.
Összefoglaló
Az AdeptWrite v1 API-nak három működő végpontja van. A POST /api/v1/run JSON-t fogad task, mode, lang és text mezővel (legfeljebb 6000 karakter), és a nyelvhez kiválasztott Cloudflare Workers AI modell egyszerű szöveges eredményét adja vissza; a POST /api/v1/plagiarism a szöveget nyílt forrásokkal veti össze, és felsorolja az összes átnézett forrást; a GET /api/v1/health a szolgáltatás állapotát adja vissza. A szöveget soha nem tároljuk és nem naplózzuk, az MI-kérések száma IP-címenként percenként 30.
Alapok
Alap-URL:https://adeptwrite.com/api/v1
Formátum: a kérések és a válaszok JSON-ban mennek (Content-Type: application/json, UTF-8).
Hitelesítés: egyelőre nincs; a kérésnek az adeptwrite.com egyik oldaláról kell érkeznie (same-origin). Az API-kulcs a Pro csomaggal jön.
Adatvédelem: a text tartalmát nem tároljuk és nem naplózzuk; a válaszok Cache-Control: no-store fejlécet kapnak.
Verzió: a /v1/ útvonal nem változik visszafelé nem kompatibilis módon; nagyobb változás esetén a /v2/ útvonalat használjuk.
POST/api/v1/run
Egy MI-feladatot hajt végre a szövegen, és az eredményt sima szövegként adja vissza (bevezető mondat és Markdown-blokk nélkül).
Kérés
Field
Type
Required
Notes
task
string
✓
A feladat neve; lásd lejjebb a feladatlistát.
text
string
✓
A bemeneti szöveg, 1–6000 karakter.
lang
string
✓
Az eredmény nyelve: az oldal 56 nyelvi kódjának egyike (hu, en, id, ja, pt-pt, zh-hant stb.; a BCP 47 címkék, például a pt-BR, megfeleltetésre kerülnek), vagy auto, ami „ugyanaz, mint a bemenet nyelve”.
mode
string
—
Az eszközhöz elérhető mód, például Formal, Akademik, Ringkas, Poin-poin. Figyelmen kívül marad, ha a feladatnak nincs módja.
options
object
—
Feladatonkénti további beállítások: from / to a translate feladathoz (bármely támogatott nyelvről bármely másikra; a from lehet auto; a sr-Cyrl cirill betűs szerbet kér), platform (instagram / tiktok / linkedin) a caption feladathoz, valamint címkézett, nem kötelező fields a bio, coverletter és meta feladathoz. A többi kulcsot figyelmen kívül hagyjuk.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "hu",
"text": "Az írás minősége nagyon fontos az egyetemistáknak.",
"options": {}
}
Válasz
200 állapotkód ok: true értékkel, az eredmény az output mezőben, a ténylegesen válaszoló modell a model mezőben (eltér, ha tartalék modell vette át a feladatot), és a feldolgozás ideje ezredmásodpercben. A truncated: true mező akkor jelenik meg, ha a választ a hosszkorlát vagy az időkorlát megszakította.
{
"ok": true,
"output": "A szöveg színvonala kiemelten fontos a hallgatók számára.",
"model": "@cf/qwen/qwen3-30b-a3b-fp8",
"ms": 812
}
Példa: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"hu","text":"Tegnap Péterel busszal mentem a egyetemre."}'
Példa: 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: 'hu', 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
A szövegből 4–8 jellegzetes kifejezést választ ki, megkeresi őket a szöveg nyelvének megfelelő nyílt forrásokban (Wikipédia, Wikiforrás, az Internet Archive teljes szövegei, Europe PMC, DOAJ, arXiv; webes keresőszolgáltató csak akkor, ha be van állítva és kérték), majd kiszámítja az átfedést. Csak ezek a rövid kifejezések hagyják el a szervert.
Kérés
Field
Type
Required
Notes
text
string
✓
Legalább 30 szó, legfeljebb 6000 karakter.
lang
string
✓
Az oldal nyelvi kódja vagy auto.
options
object
—
A web: true a webes keresőszolgáltatót is bevonja, ha az üzemeltető beállította; a válaszban a webSearched jelzi, hogy a szolgáltató ténylegesen válaszolt-e.
200 állapotkód a score (az egyező szavak ÷ az összes szó, 0–1), forrásonkénti matches a kiemelt passages szakaszokkal (karakterpozíciók a szövegedben), a sourcesSearched (pontosan azok a források, amelyek válasza benne van az eredményben), a sourcesSkipped az okokkal, és a webSearched mezőkkel.
Megmutatja, mely szolgáltatások működnek. Nincs kérés törzse, és nem számít bele a keretbe.
Válasz
200 állapotkód. Az ai értéke false, amíg az MI vészkapcsolója be van kapcsolva; a plagiarism felsorolja a keresőnek elérhető forrásokat; az aidetect az AI-detektor szerveroldali mélyelemzését írja le, amely még nincs telepítve (a POST /api/v1/aidetect503 disabled választ ad; az oldalon az AI-detektor a böngészőben fut).
Rövid vers; módok: Bebas (szabad), Berima (rímes), Akrostik (akrosztichon), Haiku, Pantun.
Korlátok
A szöveg hossza
Kérésenként legfeljebb 6000 karakter (több esetén 413 too_long).
IP-címenként
Percenként 30 kérés.
Globális
Percenként 100 kérés az egész szolgáltatásra, valamint napi keret az MI-funkciókra.
Plágiumkeresés
IP-címenként percenként 5 vizsgálat, az egész szolgáltatásra percenként 60; legalább 30 szó.
Kimenet
Feladatonkénti hosszkeret, soha nem több 2048 tokennél; a megszakított válasz truncated: true jelzést kap.
Modell
Nyelvenként választjuk: az indonéz és az angol @cf/aisingapore/gemma-sea-lion-v4-27b-it modellt használ, a többi nyelv @cf/qwen/qwen3-30b-a3b-fp8 modellt. Ha a modell foglalt, korlátba ütközik, lassú vagy hibázik, a kérés a tartalékláncban a következő modellre kerül (Qwen3-30B, majd @cf/google/gemma-4-26b-a4b-it, majd @cf/meta/llama-3.3-70b-instruct-fp8-fast). A model mező mindig a ténylegesen válaszoló modellt nevezi meg.
Hibakódok
Állapot
Kód
Mikor fordul elő
400
invalid_request
Érvénytelen JSON, hiányzó kötelező mező, ismeretlen task vagy lang.
413
too_long
A text hosszabb 6000 karakternél.
403
forbidden
A kérés nem az adeptwrite.com egyik oldaláról érkezett.
429
rate_limited
Túllépted az IP-címenkénti vagy a globális percenkénti korlátot. Várj a Retry-After fejlécben megadott másodpercig.
429
quota_exceeded
Az MI-funkciók napi kerete elfogyott. Próbáld újra másnap (UTC).
502
upstream
A láncban egyik modell sem válaszolt időben.
502
empty_output
A modell válaszolt, de az eredmény üres.
503
disabled
Az üzemeltető átmenetileg leállította a szolgáltatást, vagy (az /api/v1/aidetect esetén) még nincs telepítve.
Hibaformátum
Minden hiba JSON-ként érkezik a megfelelő HTTP-állapotkóddal és azonos szerkezettel:
{ "ok": false, "error": { "code": "rate_limited", "message": "Túl sok kérés. Próbáld újra egy kis idő múlva." } }
Először az ok mezőt nézd meg, majd a programozott kezeléshez olvasd az error.code értékét; az error.message biztonságosan megjeleníthető a felhasználónak.
Ajánlott gyakorlat
A szöveget részletekben (például bekezdésenként) küldd egy hosszú dokumentum helyett; így gyorsabb az eredmény, és könnyebb ellenőrizni.
A 429 választ exponenciális várakozással kezeld, ne azonnali újrapróbálkozással.
Ne küldj felesleges személyes vagy bizalmas adatot – bár nem tároljuk, az adatminimalizálás elve továbbra is érvényes.
Az MI eredménye téves lehet; ellenőrizhető javaslatként mutasd meg, ne végleges igazságként.
Gyakran ismételt kérdések
Használhatom az API-t a saját alkalmazásomból vagy domainemről?
Egyelőre nem. A Worker jelenleg nem küld CORS-fejléceket, és csak az adeptwrite.com oldalait szolgálja ki. A külső, API-kulcsos hozzáférés a Pro csomaghoz tartozik; a dokumentációt frissítjük, amint az valóban elérhető.
Tárolják az API-nak küldött szöveget?
Nem. A szöveget a modellnek adjuk át a válasz előállításához, majd eldobjuk. A naplók csak metaadatokat (állapotkód, feladatnév, időtartam) tartalmaznak, szöveget egyáltalán nem. A részleteket lásd az adatvédelmi tájékoztatóban.
Miért sima szöveg az eredmény, és miért nem strukturált JSON?
Minden feladat egyetlen, azonnal használható szöveget ad bevezető mondat és Markdown-blokk nélkül, hogy közvetlenül megjeleníthető legyen szerkesztőben. A további struktúrát (például a változtatások listáját) a következő verzióra tervezzük, a v1 megváltoztatása nélkül.
Mennyibe kerül az API használata?
Az adeptwrite.com oldalról ingyenes, IP-címenként percenként 30 MI-kérésig. A külső hozzáférés díjszabását a Pro csomaggal együtt hirdetjük meg; addig semmilyen díjat nem számolunk fel.
Melyik modell válaszol a kérésemre?
A nyelvtől függ: az indonézt és az angolt a SEA-LION, a többi nyelvet, így a magyart is, a Qwen3-30B kezeli. Ha a modell foglalt vagy hibázik, a tartaléklánc következő modellje válaszol, és a válasz model mezője a ténylegesen válaszoló modellt nevezi meg.