Preds REST API
Minden végpont a /api/v1 útvonal alatt érhető el, HTTPS-t és JSON-t igényel.
Alap URL és verzió
Egy stabil v1 felület érhető el.
https://preds.hu/api/v1
Authorization: Api-Key ${PREDS_API_KEY}
Content-Type: application/jsonHitelesítés
Minden kéréshez csatolja az API-kulcsot.
curl -X GET https://preds.hu/api/v1/usage/api/ -H "Authorization: Api-Key sk_live_123"
- A nem használt kulcsokat vonja vissza a vezérlőpultban.
- Szolgáltatásonként külön kulcs javasolt a biztonságos és megfelelő használathoz.
POST /api/v1/detect/api/
Egy szöveg elemzése kvóta metaadatokkal.
{
"text": "Illessze be az ellenőrizendő szöveget.",
"request_id": "f1e9c1da-1ce3-4f3f-bf63-3cc6d9cf7f21"
}{
"request_id": "a759869e-2cfb-4e4e-9ded-bf292a4a791d",
"prediction": "ai",
"confidence": 0.824,
"quota": {
"remaining": 742,
"used_from": "plan"
},
"rate_limit": {
"limit": 60,
"remaining": 58
}
}- A minimum 60 szó, a bemenetet csak 100 000 karakterig veszi figyelembe.
POST /api/v1/detect/batch/
Legfeljebb 20 szöveget küldhet egyszerre; minden elem egy kvótát fogyaszt.
{
"texts": [
"Esszé bekezdés...",
"Második szöveg"
]
}{
"results": [
{ "request_id": null, "prediction": "human", "confidence": 0.62 },
{ "request_id": null, "prediction": "ai", "confidence": 0.91 }
],
"quota": {
"remaining": 740
},
"rate_limit": {
"limit": 60,
"remaining": 40
}
}- Erre is érvényes a limiter, csak bizonyos számú detektálást lehet küldeni egy perc alatt.
- Ha több szöveget szeretne egyszerre osztályozni, használja az async végpontot.
POST /api/v1/detect/async/
Sorbaállítja a feladatokat a végpontot, és egyből visszaad egy feladatazonosítót.
{
"text": "Illessze be az ellenőrizendő szöveget."
}{
"task_id": "b2b6c9c2-1c2e-4e3c-9a3d-43c7c9326d2f",
"status": "pending",
"status_url": "/api/v1/tasks/b2b6c9c2-1c2e-4e3c-9a3d-43c7c9326d2f/status/",
"result_url": "/api/v1/tasks/b2b6c9c2-1c2e-4e3c-9a3d-43c7c9326d2f/result/"
}- A kvóták és kreditek a sorba állítás pillanatában kerülnek levonásra.
POST /api/v1/detect/batch/async/
Legfeljebb 20 szöveget sorba állít, az eredményt később a feladat végpontokról kérheti le.
{
"texts": ["Bekezdés A", "Bekezdés B"]
}{
"task_id": "5bd0c2fa-d9de-4d7c-b3da-54fe4f1f2c5c",
"status": "pending",
"batch_size": 2,
"status_url": "/api/v1/tasks/5bd0c2fa-d9de-4d7c-b3da-54fe4f1f2c5c/status/",
"result_url": "/api/v1/tasks/5bd0c2fa-d9de-4d7c-b3da-54fe4f1f2c5c/result/"
}- Az összes kvóta azonnal levonásra kerül.
Feladat státusz
Ezekkel a végpontokkal követheti az aszinkron műveleteket.
{
"task_id": "b2b6c9c2-1c2e-4e3c-9a3d-43c7c9326d2f",
"status": "started",
"message": "Task is currently processing"
}{
"task_id": "b2b6c9c2-1c2e-4e3c-9a3d-43c7c9326d2f",
"status": "completed",
"data": { "results": [ { "submission_id": 1341, "prediction": "ai" } ] }
}OCR végpontok
PDF feltöltésekből készít tiszta szöveget, amit aztán detektálhat.
curl -X POST https://preds.hu/api/v1/ocr/extract/ -H "Authorization: Api-Key $PREDS_API_KEY" -F "[email protected]"
curl -X POST https://preds.hu/api/v1/ocr/public/ -F "[email protected]"
- A végpont kvóta metaadatot és opcionális quota_reservation tokent is visszaad.
Felhasználási végpontok
Ezekkel figyelheti a kvótát és a számlázási időszakot.
{
"period_start": "2025-01-01",
"period_end": "2025-02-01",
"shared_limit": 1000,
"shared_used": 248,
"shared_remaining": 752,
"api_used": 120,
"web_used": 128,
"credits_available": 1200
}{
"usage": { "period_start": "2025-01-01", "total_used": 248, "credits_available": 1200 },
"billing_events": [],
"available_periods": ["2025-02-01"],
"selected_period": "2025-02-01"
}- Folyamat figyelje, hogy ne fusson ki a limitekből.
Előzmény végpontok
Listázhatja vagy lekérheti a mentett beküldéseket előnézettel és metaadatokkal.
curl -X GET https://preds.hu/api/v1/history/ -H "Authorization: Api-Key $PREDS_API_KEY"
curl -X GET https://preds.hu/api/v1/history/5c2a9a6a-7c7c-4f61-9d2c-76d21a9e2d1b/ -H "Authorization: Api-Key $PREDS_API_KEY"
- A válasz tartalmaz időbélyegeket, eredményekről metaadatokat.
POST /api/v1/reports/
PDF jelentést generál egy korábbi beküldéshez.
{
"submission_id": 1341,
"filename": "audit-week42",
"analyzed_text": "Opcionális cenzúrázott változat."
}{
"id": 22,
"submission": 1341,
"filename": "audit-week42",
"prediction": "ai",
"report_generated_at": "2025-09-27T07:02:11.114220Z"
}- Megosztható, visszakövethető bizonyítékot készíthet.
POST /api/v1/reports/false-detections/
Jelentse a gyanús téves találatokat belső felülvizsgálatra.
{
"submission_id": 1341,
"origin": "detect"
}{
"id": 14,
"submission_id": 1341,
"prediction": "ai",
"reported_at": "2025-09-27T07:44:11.114220Z"
}- Egy beküldés csak egyszer jelenthető, minden eset felülvizsgálatra kerül.
GET /api/v1/keys/
Listázza az aktív API kulcsokat.
curl -X GET https://preds.hu/api/v1/keys/ -H "Authorization: Api-Key $PREDS_API_KEY"
[
{
"id": 18,
"name": "Production ingest",
"last_used_at": "2025-09-26T12:24:01.911Z",
"created_at": "2025-07-02T09:12:44.120Z"
}
]- Új kulcsot létrehozni vagy törölni a vezérlőpultban ajánlott.
Hiba válaszok
A hibák szabványos HTTP kódot és struktúrált JSON-t adnak.
{
"detail": "Quota exceeded. Daily free predictions exhausted.",
"code": "quota_exceeded",
"request_id": "f2e7a6f5-1f9c-4e0b-a921-0f2fc0f6d3d1"
}- A `code` mezőből derül ki, hogy kvóta-, auth- vagy validációs hiba történt.
- Minden hiba tartalmaz `request_id` értéket.