A lot of teams need to OCR PDFs in a pipeline, generate thumbnails for user uploads, transcribe meeting recordings, or convert Office documents server-side. Almost all of them end up either:
- Wiring together a bag of system binaries (Ghostscript, Tesseract, ffmpeg, LibreOffice) and praying the Dockerfile works in production.
- Paying $200/month minimum for a cloud-PDF API plus another $100/month for an OCR API plus another for transcription, with vendor-specific clients and quirky webhook formats.
Both are bad. We picked option three: ship the same processing engine that powers axiomatic.tools as a metered API, with one client, one auth scheme, and one bill.
Mental model
Everything is a "job":
const { jobId } = await wt.createJob({
toolSlug: 'pdf-ocr',
inputFileIds: [fileId],
options: { language: 'eng', deskew: true },
webhookUrl: 'https://your-app.example/hooks/axiomatic',
});
Jobs are async (server-side handlers can take a few seconds for OCR or minutes for video).
You can either poll GET /v1/jobs/:id, subscribe to the SSE stream at
GET /v1/jobs/:id/stream, or set a webhookUrl and let us POST you when it's done.
wt.run({ ..., wait: true }) does the polling for you and returns a finished JobStatus.
Pricing
| Tier | Examples | Per call |
|---|---|---|
| Cheap | merge, split, format, hash, resize | $0.005 |
| Medium | compress, OCR per page, image upscale | $0.02 |
| Heavy | Whisper transcription, video transcode, AI bg-remove | $0.05–0.10 |
Pro and Business plans include a quota; everything above is metered. No commits, no overage shock — the dashboard caps you at your chosen monthly ceiling.
What's covered today
42 tools across PDF, image, video/audio, and developer utilities. Every tool that runs on the public site is callable. AI tools (Whisper, rembg, Real-ESRGAN, summarize) require an account; non-AI tools work for anonymous traffic too.
What's coming
- Workflow API — chain tools: PDF → OCR → split by chapter → email each one. Currently doable in three calls; we want it in one.
- Native file inputs — accept
multipart/form-datadirectly so you don't have to do the presigned-upload dance for one-shot scripts. - Webhook signing — HMAC-SHA256 signatures on outgoing webhook bodies, so you can verify authenticity.
- Batch endpoint — submit 1k files in a single call, get back a job that emits one webhook per output.
OpenAPI 3.1 spec is the source of truth — your code generator probably already knows how to consume it.