AIForms API reference

Prepaid form extract API for DU Registered Graduate Enrollment images. Base URL https://aiforms.labmirai.org. Source layout: server/auth, server/billing, server/services, server/routes.

Overview

URLPurpose
/Marketing portal + live demo
/loginSign in / sign up
/appControl panel (keys, balance, ledger)
/v1/extractKeyed extract API
/demo/extractPublic demo (no key, daily IP cap)
/docsThis page
/openapiOpenAPI UI

Authentication

All /v1/* and /api/extract routes require an API key. Create keys in the dashboard (shown once). Send:

X-API-Key: aif_…

Also accepted: Authorization: Bearer aif_… or query ?api_key= (prefer the header).

Pricing

POST /v1/extract

Multipart form:

FieldRequiredDescription
fileyesImage or PDF
photonotrue/false (default true)
signaturenotrue/false (default true)
fieldsnotrue/false (default true) — Gemini OCR
debugnotrue/false (default false)
curl -s -F "[email protected]" -F "photo=true" -F "fields=true" \
  -H "X-API-Key: $AIFORMS_KEY" \
  https://aiforms.labmirai.org/v1/extract

Success includes billing.charged_taka and billing.balance_taka, plus asset URLs under /v1/jobs/{id}/… (same API key required).

Errors

StatusMeaning
400Bad upload / no extract flags
401Missing or invalid API key
402Insufficient balance
403Account/key disabled
429Demo daily limit
503Service off or Gemini not configured

GET /api/health

No key. Returns service status, Gemini/SMTP flags, and pricing.

Demo

POST /demo/extract — same multipart fields, no key. Default fields=false. Limited to 1 request per IP per day.