API ir MCP
Lietuvių kalbos taisymas jūsų programoje
zodly API ištaiso rašybos, gramatikos ir skyrybos klaidas, perfrazuoja tekstą ir keičia jo toną. Atsakyme gaunate ištaisytą tekstą ir kiekvieno pakeitimo vietą.
Tekstą taiso tie patys pažangūs algoritmai, kurie veikia redaktoriuje ir naršyklės plėtinyje. Atskiras adresas įvertina, ar tekstą sukūrė DI.
API ir MCP veikia su „Max“ planu – 9,99 € per mėnesį. Palyginti planus
Siunčiate
Labas, siandien.
Gaunate
Labas, šiandien.
"changes": [
{
"offset": 7,
"length": 9,
"original": "siandien.",
"suggestion": "šiandien."
}
]
Ką galima daryti
Pavyzdžiui, el. parduotuvė patikrina prekių aprašymus prieš juos skelbdama, klientų aptarnavimo sistema – atsakymus klientams, o redakcija – straipsnius.
-
Taisymas
POST /fix
Ištaiso rašybos, gramatikos ir skyrybos klaidas ir atkuria lietuviškas raides. Grąžina ištaisytą tekstą ir pakeitimų sąrašą.
-
Perfrazavimas
POST /rephrase
Perrašo tekstą formaliau, neformaliau, trumpiau, ilgiau arba paprasčiau, nekeisdamas prasmės.
-
Tono keitimas
POST /tone
Pakeičia teksto toną į oficialų, laisvą, draugišką, dalykišką arba neutralų.
-
DI detektorius
POST /ai-detection
Įvertina, ar tekstą parašė žmogus, ar jį sukūrė DI. Rezultatas – tikimybė, ne įrodymas.
-
Naudojimas
GET /usage
Parodo, kiek šio mėnesio simbolių ir šios dienos DI analizių liko.
-
MCP serveris
MCP /mcp/check
Tekstą taisykite tiesiai „ChatGPT“, „Claude.ai“ ir kitose programose, palaikančiose MCP.
Greita pradžia
API gali naudoti „Max“ plano naudotojai. Planus palyginsite kainų puslapyje.
-
Sukurkite raktą
Paskyroje atidarykite skiltį „API raktai“, įrašykite rakto pavadinimą ir paspauskite „Sukurti raktą“. Raktas parodomas vieną kartą: išsaugokite jį aplinkos kintamajame
ZODLY_API_KEY.Raktą laikykite serveryje. Įdėtą į svetainės ar programėlės kodą jį pamatytų bet kas.
-
Išsiųskite tekstą
Raktą siųskite antraštėje
Authorization: Bearer, o tekstą – JSON lauketext.Terminalas
curl https://zodly.lt/api/v1/fix \ -H "Authorization: Bearer $ZODLY_API_KEY" \ -H "Content-Type: application/json" \ -d '{"text":"Labas, siandien."}' -
Pritaikykite pakeitimus
Atsakymas:
JSON
{ "corrected_text": "Labas, šiandien.", "changed": true, "changes": [ { "offset": 7, "length": 9, "original": "siandien.", "suggestion": "šiandien." } ], "usage": { "chars_used": 16, "chars_limit": 1000000, "chars_left": 999984, "resets_at": "2026-12-01T00:00:00Z" } }corrected_text–- Visas ištaisytas tekstas. Tarpai ir eilučių lūžiai pradžioje ir pabaigoje lieka tokie, kokius siuntėte.
changed–true, jei tekstas pakeistas.changes–- Pakeitimai pagal vietą tekste.
offset– kur fragmentas prasideda siųstame tekste (skaičiuojama nuo 0),length– jo ilgis,original– pats fragmentas,suggestion– kuo jį pakeisti. Kailengthlygus 0, tekstas įterpiamas, o kaisuggestiontuščias, fragmentas išbraukiamas. usage–- Kiek šio mėnesio simbolių sunaudota, kiek liko ir kada limitas atsinaujins.
Pozicijos ir ilgiai skaičiuojami kodo taškais (angl. Unicode code points), kaip Python
len()ir PHPmb_strlen(). JavaScripttext.lengthjaustuką gali laikyti dviem simboliais, todėl ten naudokiteArray.from(text). Kelis pakeitimus taikykite nuo sąrašo galo – tada ankstesnių pakeitimų pozicijos nepasislenka.
Kodo pavyzdžiai
Visi pavyzdžiai siunčia tą patį tekstą į /fix ir raktą ima iš aplinkos kintamojo ZODLY_API_KEY. JavaScript pavyzdžiui reikia „Node.js“ 18 ar naujesnės versijos, Python – paketo requests.
Terminalas
curl https://zodly.lt/api/v1/fix \
-H "Authorization: Bearer $ZODLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Labas, siandien."}'
fix.mjs Paleiskite: node fix.mjs
const response = await fetch("https://zodly.lt/api/v1/fix", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ZODLY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ text: "Labas, siandien." }),
});
const result = await response.json();
if (!response.ok) {
throw new Error(`${result.error}: ${result.message}`);
}
console.log(result.corrected_text);
console.log(result.changes);
fix.php Paleiskite: php fix.php
<?php
$curl = curl_init('https://zodly.lt/api/v1/fix');
curl_setopt_array($curl, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ZODLY_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['text' => 'Labas, siandien.']),
]);
$result = json_decode(curl_exec($curl), true);
if (curl_getinfo($curl, CURLINFO_RESPONSE_CODE) !== 200) {
throw new RuntimeException($result['error'] . ': ' . $result['message']);
}
echo $result['corrected_text'], PHP_EOL;
print_r($result['changes']);
fix.py Paleiskite: python3 fix.py
import os
import requests
response = requests.post(
"https://zodly.lt/api/v1/fix",
headers={"Authorization": f"Bearer {os.environ['ZODLY_API_KEY']}"},
json={"text": "Labas, siandien."},
timeout=300,
)
result = response.json()
if not response.ok:
raise RuntimeError(f"{result['error']}: {result['message']}")
print(result["corrected_text"])
print(result["changes"])
Adresai
Visi adresai prasideda https://zodly.lt/api/v1. Užklausos turinį siųskite JSON formatu su antrašte Content-Type: application/json. Atsakymas visada yra JSON.
| Adresas | Ką daro | Laukai |
|---|---|---|
POST /fix |
Ištaiso klaidas ir grąžina pakeitimų sąrašą. | text – tekstas |
POST /rephrase |
Perfrazuoja tekstą. | text; style – formal (formaliai, numatytasis), informal (neformaliai), shorter (trumpiau), longer (ilgiau), simpler (paprasčiau) |
POST /tone |
Pakeičia teksto toną. | text; tone – formal (oficialus, kreipiamasi „Jūs“, numatytasis), informal (laisvas, kreipiamasi „tu“), friendly (draugiškas), professional (dalykiškas), neutral (neutralus) |
POST /ai-detection |
Įvertina, ar tekstą sukūrė DI. | text – nuo 50 iki 50 000 simbolių |
GET /usage |
Parodo, kiek simbolių ir DI analizių liko. | – |
POST /rephrase – užklausos ir atsakymo pavyzdys
Terminalas
curl https://zodly.lt/api/v1/rephrase \
-H "Authorization: Bearer $ZODLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Nu, gal susitiksim rytoj","style":"formal"}'
JSON
{
"text": "Galbūt susitiksime rytoj.",
"usage": {
"chars_used": 24,
"chars_limit": 1000000,
"chars_left": 999976,
"resets_at": "2026-12-01T00:00:00Z"
}
}
POST /tone – užklausos ir atsakymo pavyzdys
Terminalas
curl https://zodly.lt/api/v1/tone \
-H "Authorization: Bearer $ZODLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Nu, gal susitiksim rytoj","tone":"formal"}'
JSON
{
"text": "Galbūt susitiksime rytoj.",
"usage": {
"chars_used": 24,
"chars_limit": 1000000,
"chars_left": 999976,
"resets_at": "2026-12-01T00:00:00Z"
}
}
POST /ai-detection – užklausos ir atsakymo pavyzdys
Terminalas
curl https://zodly.lt/api/v1/ai-detection \
-H "Authorization: Bearer $ZODLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Šiandien yra puiki diena mokytis lietuvių kalbos taisyklių ir rašybos. Kiekviena nauja taisyklė padeda rašyti aiškiau."}'
JSON
{
"score": 9.5,
"confidence": "high",
"classification": "human",
"probabilities": {
"human": 0.88,
"ai": 0.07,
"mixed": 0.05
},
"summary": "Tekstas greičiausiai parašytas žmogaus. Nerasta ryškių AI požymių.",
"warnings": [],
"detected_language": "lt",
"usage": {
"detections_used_today": 1,
"detections_limit_today": 20,
"detections_left_today": 19
}
}
GET /usage – užklausos ir atsakymo pavyzdys
Terminalas
curl https://zodly.lt/api/v1/usage \
-H "Authorization: Bearer $ZODLY_API_KEY"
JSON
{
"chars_used": 300,
"chars_limit": 1000000,
"chars_left": 999700,
"resets_at": "2026-12-01T00:00:00Z",
"detections_used_today": 2,
"detections_limit_today": 20,
"detections_left_today": 18
}
Kiekvieno adreso laukus, atsakymus ir klaidas rasite interaktyviame žinyne ir OpenAPI apraše.
Limitai
Limitai taikomi paskyrai, ne programai: visi raktai ir MCP naudoja tą patį likutį.
| Limitas | Dydis |
|---|---|
| Mėnesio simbolių limitas | 1 000 000 simbolių Taisymas, perfrazavimas ir tono keitimas. Bendras visiems raktams ir MCP. Atsinaujina kiekvieno mėnesio 1 d. 00:00 UTC. |
| Užklausų per minutę | 60 užklausų Kiekvienam raktui ir tiek pat visiems jūsų raktams kartu. |
| Teksto ilgis | iki 50 000 simbolių Vienoje užklausoje. DI detektoriui – nuo 50 iki 50 000 simbolių. |
| DI analizių per dieną | 20 analizių Bendras su svetaine. Atsinaujina kasdien 00:00 UTC. |
| API raktų | iki 5 raktų Vienai paskyrai. |
Į mėnesio limitą įskaičiuojami visi siųsto teksto simboliai, net jei toks pat tekstas jau buvo taisytas. Nepavykusios užklausos neįskaičiuojamos. Redaktorius, naršyklės plėtinys ir programėlė šio limito nenaudoja.
Likutį rodo GET /usage ir kiekvieno atsakymo laukas usage. Antraštės X-RateLimit-Limit ir X-RateLimit-Remaining rodo, kiek užklausų liko šią minutę.
Klaidos
Klaidos atsakyme yra laukai error (nekintamas kodas) ir message (paaiškinimas lietuvių kalba). Programoje tikrinkite error, o message galite rodyti žmonėms.
| Būsena | Kodas | Paaiškinimas |
|---|---|---|
| 400 | BAD_REQUEST |
Užklausa netinkama. |
| 401 | UNAUTHENTICATED |
Trūksta rakto, jis neteisingas arba atšauktas. Patikrinkite antraštę Authorization. |
| 403 | API_KEY_REQUIRED |
Siųstas ne API raktas, pvz., plėtinio ar programėlės prisijungimas. Naudokite paskyroje sukurtą raktą. |
| 403 | PLAN_REQUIRED |
Paskyra neturi galiojančio „Max“ plano. Raktas vėl veiks, kai planą pratęsite. |
| 403 | FORBIDDEN |
Prieiga uždrausta dėl kitos priežasties. |
| 404 | NOT_FOUND |
Tokio adreso nėra. |
| 405 | METHOD_NOT_ALLOWED |
Adresas šio metodo nepriima. Antraštė Allow nurodo tinkamus. |
| 409 | ANALYSIS_IN_PROGRESS |
Ankstesnė DI analizė dar vyksta. Kartokite, kai ji baigsis. |
| 413 | PAYLOAD_TOO_LARGE |
Užklausa per didelė. Siųskite tekstą dalimis. |
| 422 | VALIDATION_FAILED |
Laukas neužpildytas arba netinkamas. Laukas errors nurodo, kuris. Tokį patį atsakymą gaunate, kai JSON sugadintas arba trūksta antraštės Content-Type: application/json. |
| 422 | TEXT_TOO_LONG |
Tekstas per ilgas apdoroti, nes eilučių lūžiai užima vietos. Sutrumpinkite jį arba siųskite dalimis. |
| 429 | RATE_LIMITED |
Per daug užklausų per minutę. Kartokite po tiek sekundžių, kiek nurodo antraštė Retry-After. |
| 429 | API_MONTHLY_LIMIT |
Tekstui neužtenka šio mėnesio simbolių. Kai chars_left lygus 0, limitas išnaudotas, o Retry-After rodo, po kiek sekundžių jis atsinaujins. Kai chars_left didesnis už 0, tekstas netelpa į likutį: sutrumpinkite jį. Antraštės Retry-After tada nėra. |
| 429 | AI_DETECTION_LIMIT |
Šios dienos DI analizės išnaudotos. Retry-After rodo, po kiek sekundžių limitas atsinaujins. |
| 500 | PROCESSING_ERROR |
Nepavyko apdoroti teksto. Užklausa į limitus neįskaičiuota, bandykite dar kartą. |
| 503 | SERVICE_UNAVAILABLE |
Paslauga laikinai nepasiekiama, pvz., atnaujinimo metu. Bandykite po kelių minučių. |
MCP: taisymas pokalbių ir kodo programose
MCP serveris https://zodly.lt/mcp/check leidžia taisyti tekstą tiesiai programose, palaikančiose MCP. Įrankis fix-text grąžina ištaisytą tekstą, pakeitimus ir mėnesio limito likutį. Tekstas įskaičiuojamas į tą patį limitą kaip API.
„ChatGPT“ ir „Claude.ai“
Nustatymuose pridėkite naują jungtį (angl. connector) ir nurodykite adresą https://zodly.lt/mcp/check. Atsidarys zodly prisijungimo langas: prisijunkite ir paspauskite „Leisti“. Rakto nereikia.
Kitos programos
„Cursor“, „VS Code“ ir kitose programose nurodykite adresą https://zodly.lt/mcp/check (Streamable HTTP). Prisijunkite per zodly arba siųskite API raktą antraštėje Authorization: Bearer.
„Claude Code“
Paleiskite terminale:
Terminalas
claude mcp add --transport http zodly https://zodly.lt/mcp/check --header "Authorization: Bearer $ZODLY_API_KEY"
Be --header dalies „Claude Code“ paprašys prisijungti per zodly: paleiskite /mcp ir pasirinkite zodly.
Prisijungti per zodly gali „Max“ plano naudotojai. Prijungtas programas matote ir atjungiate paskyros skiltyje „API raktai“.
Viešas MCP serveris https://zodly.lt/mcp veikia be prisijungimo: atsako apie planus, puslapius ir DUK, bet teksto netaiso.
Raktai, nustatymai ir privatumas
- Rakto galiojimas –
- Raktas galioja, kol jį atšauksite skiltyje „API raktai“. Pakeitus slaptažodį ar ištrynus paskyrą, atšaukiami visi raktai ir atjungiamos visos prijungtos programos.
- Nustatymai –
- Jei redaktoriaus nustatymuose įjungėte „Taisyti anglicizmus“, API ir MCP taiso ir anglicizmus.
- Siunčiamas tekstas –
- Tik užklausoje pateiktas tekstas, šifruotu ryšiu (HTTPS). Viso taisomo teksto duomenų bazėje nesaugome. DI detektoriui pateikto teksto pradžią saugome kaip ir svetainėje.
- Saugomi duomenys –
- Rakto pavadinimas, maišos reikšmė (pats raktas nesaugomas), sukūrimo ir paskutinio naudojimo laikas, o apie kiekvieną užklausą – jos laikas, adresas ir simbolių skaičius, bet ne tekstas. Prijungtai programai – jos pavadinimas ir nukreipimo adresas, kuriuos ji nurodė registruodamasi, suteikta prieiga ir prisijungimo žymų galiojimo laikas. Plačiau – privatumo politikoje.
Pradėkite nuo vieno rakto
Sukurkite raktą paskyroje ir išsiųskite pirmą užklausą. API ir MCP veikia su „Max“ planu.