For developers Early access

Every OmniKitly tool, programmable.

Build document and media processing directly into your apps. One job model, every tool, async by design.

This is real and working today — upload, create a job and download the result with a Bearer key. Early access means the request and response shapes can still change, there is no SDK yet, and no webhooks yet: you poll for status.

How it works

Upload. Submit a job. Get a result.

Every operation — a single tool or a bulk batch — is a job. Upload the file(s) directly with a multipart POST, create the job with the tool slug, operation and settings, then poll it until it is done. The result comes back as a signed download URL that expires with your retention window. Verified working end to end — this is the actual response from a real key, not a mockup.

POST /v1/uploads
# Direct multipart upload — no signed PUT URL, one request
curl -X POST https://omnikitly.com/v1/uploads \
  -H "Authorization: Bearer $OMNIKITLY_KEY" \
  -F "[email protected]"

Architecture

Three stages, the same for a single file or ten thousand.

1 · Import

Direct upload

POST the file straight to our API as multipart form data. It lands in private storage and you get an upload id back.

POST /v1/uploads
2 · Process

Async jobs

Create a job naming a tool and that upload id. It queues, runs on an isolated worker, and reports progress you poll for.

POST /v1/jobs
3 · Export

Signed downloads

The same status call returns a signed, expiring download URL once the job is done. Delete early with a single call.

GET /v1/jobs/{id}

What works today

Not there yet: webhooks (you poll for status), an SDK for any language, and a published OpenAPI spec — the shapes below can still change until those exist.

The job object Early access

What GET /v1/jobs/{id} actually returns. Field names can still change before this settles into a versioned API.

FieldTypeDescription

Build on the same engine as the site

Create a free account, generate a key, and call it today — no waitlist.