BUILD WITH NIRMION
File workflows, ready for your application.
Add PDF, media, and data conversion to your product through one scoped API. Verify your email, receive a key once, and start with a documented request.
Free access starts at 20 requests per minute. Processing limits still apply to every file.
DEVELOPER REGISTRATION
Create your developer account.
Choose only the capabilities your application needs. We verify your email before issuing a key, and no payment card is required for the free plan.
API REFERENCE
Start with a small, observable request.
Authenticate with a bearer key, use the operation-specific multipart fields, and record X-Nirmion-Request-Id from every response. The OpenAPI reference is the source of truth for accepted fields and response codes.
Explore the OpenAPI referenceCOMMERCIAL TOOLS API
Find the contract for each available tool.
The commercial API uses shared versioned routes. Search the published catalog, then open a tool to see its live input fields, outputs, limits, processing mode, and exact execution endpoint.
Schemas come from the commercial API at request time. A catalog entry marked available has an execution handler; the schema is the source of truth for its inputs, outputs, limits, and processing mode. Catalog and schema reads are public. Execution requires a commercial:tools:execute API key in the X-Nirmion-Api-Key header. File tools use the multipart endpoint shown in their schema.
The commercial tool catalog could not be loaded.
REGRESSION TESTING
Test the contract, edge cases, and failure paths.
We run a repeatable API regression suite across request validation, scoped access, file processing, and the published OpenAPI contracts.
Contracts stay checkable
The suite checks OpenAPI documents, operation schemas, authentication declarations, scope requirements, and stable response errors.
Access is tested at the boundary
Checks cover missing, invalid, and expired keys, insufficient scopes, malformed inputs, upload limits, rate limits, and worker capacity.
Real processing paths are exercised
Synthetic documents and media exercise PDF, image, audio/video, Office, archive, and ebook processing, including failure handling.
Calculations are compared with source behavior
Calculator and converter tests compare representative outputs with Nirmion source definitions and validate boundary values.
What the regression pass checks
The suite follows each API boundary from the public contract through authorization, input handling, processing, and the response. High-risk paths also include failure and recovery cases.
Input and error handling
Invalid JSON, missing or unknown fields, unsupported values, malformed slugs, non-finite numbers, and boundary values must produce stable client errors without stack traces or partial side effects.
Authentication and authorization
Missing, invalid, expired, and revoked keys; inactive accounts; missing scopes; cross-product keys; and cross-user resource access are checked for correct denial and isolation.
File safety and resource limits
Synthetic files cover empty, mislabeled, corrupt, oversized, encrypted, and unsupported inputs, plus worker capacity, timeouts, bounded output, no-store downloads, and cleanup.
Persistence and service failures
Account and key lifecycles, usage accounting, ownership, and transaction behavior are exercised alongside database, provider, and worker failure responses.
Privacy and observability
Responses are checked for request correlation and security headers. Logs and error bodies must not expose keys, passwords, uploaded content, filenames, or generated results.
Reproduce the full API regression run
Run from the repository root in an isolated development environment with synthetic fixtures. Never point destructive or migration tests at production.
$env:PYTHONPATH = ".;api"
pytest api\tests -qRelease evidence and limits
A release record should include the build identifier, exact command, pass/fail/skip totals, elapsed time, fixture availability, OpenAPI compatibility, migration target, and unverified dependencies. Local tests do not verify production TLS, deployment configuration, external billing, monitoring, or load capacity.
The latest full workspace run passed 482 tests and 2,906 subtests on October 20, 2026. These regression results describe the tested codebase; they are not a live uptime or production load guarantee. Production-host checks and load testing are separate.
curl -X POST https://nirmion.com/api/v1/pdf/compress \
-H "Authorization: Bearer $NIRMION_API_KEY" \
-F "file=@document.pdf" \
--output document-compressed.pdfLAST 30 DAYS
Know what your integration is doing.
See requests reserved in the current allowance period, remaining plan capacity, and daily endpoint-level counts for the last 30 days. Failed calls count toward the allowance; payloads and results are never shown here.
Connect an active developer API key to view your current plan, usage, and purchase history.
PLANS AND USAGE
Choose a plan and track every API call.
Checkout is available only for active plans configured by Nirmion. A plan activates after the payment gateway confirms the order server-to-server. Paid plan access lasts one month and does not renew automatically.
The commercial tool catalog could not be loaded.
VERSION 2026-09-12
API use terms in plain language.
These terms apply to self-service developer access. Custom agreements replace conflicting provisions for covered production use.
Use the API only for lawful workflows and content you are permitted to process. Do not probe, disrupt, resell, or use the service to harm people or systems.
Keep keys server-side, rotate exposed credentials, and remain responsible for requests made with your active keys. Report suspected misuse promptly.
Respect documented file, request, and rate limits. Processing may use temporary server storage as documented for each endpoint; do not send data that exceeds its stated boundary.
Self-service access is provided without a guaranteed uptime commitment. Nirmion may restrict abusive or unsafe use; contact the team before depending on custom capacity.
SAFE OPERATIONS
Ship with a recovery path.
Rotate exposed keys immediately, retain request IDs, and share no source document unless support explicitly needs an authorized test file.