api.pixoate.com · REST · credit-metered

Image processing and document intelligence, one REST API

Remove backgrounds, upscale and prepare images, extract receipts and tables, or count objects and people through Pixoate's supported public API workflows.

Use a corresponding web product within its published allowance to validate output quality on your own images before integrating.

Four endpoints, no ceremony

Authenticate with your X-API-Key header. Send multipart form data. Get JSON back.

GET /api/v1/me

Verify your key and see your plan, API-access flag, and remaining credit balance.

POST /api/v1/process

Run a supported image operation such as background removal, upscaling, enhancement, resizing, compression, colorization, headshot processing, or format conversion.

POST /api/v1/count

Count objects or people in a photo. Returns the count, the engine used, and per-item coordinates as pure JSON.

POST /api/v1/extract

Turn receipts, handwriting, business cards, and photographed tables into structured JSON, vCard, or CSV.

What teams build with it

Four integration walkthroughs — the problem, the exact call, and what comes back.

E-commerce & marketplaces

Marketplace-ready product photos, automatically

Sellers upload photos shot on kitchen tables; marketplaces demand clean cut-outs on white. Doing this by hand caps how fast a catalog can grow.

The integration: pipe every new listing photo through POST /api/v1/process with functionName=applyBackgroundRemoval, then a second call with functionName=applyAIUpscale for images below your resolution floor. Each response returns a download URL for the finished file.

Try the same engines in the browser first: background remover · image upscaler

-F "[email protected]"
-F "functionName=applyBackgroundRemoval"

# then, for low-res sources:
-F "functionName=applyAIUpscale"
-F "parameters={\"scaleFactor\": 2}"
Warehouses, retail & agriculture

Stock counts from a phone photo

Manual counting of boxes, pallets, bottles, or livestock is slow and error-prone, and count data goes stale the moment it's written down.

The integration: your field app posts a photo to POST /api/v1/count. The response is pure JSON — the count plus normalized coordinates for every detected item — ready to overlay in your own UI or write straight into your ERP or WMS. Mark up to ten example objects with the exemplars field to count specific products on a crowded shelf — each example is counted independently and the results are merged, so a mixed shelf comes back as one total plus a per-example breakdown.

See the engines in action: object counter · people counter

-F "[email protected]"
-F "target=objects"

{
  "count": 148,
  "engine": "similar",
  "points": [[0.12, 0.31], …]
}
Fintech & bookkeeping

Receipts into your ledger, structured

Expense apps live or die by how little typing they demand. A photographed receipt should become a transaction, not a to-do.

The integration: post the photo — or a PDF receipt — to POST /api/v1/extract with kind=receipt and get back the full text plus parsed fields. Business cards work the same way with kind=vcard, returning structured contact fields and a ready-to-import vCard.

Validate on your own receipts: receipt extractor · business card scanner

-F "[email protected]"
-F "kind=receipt"

{
  "text": "…",
  "fields": { "total": "12.40", … }
}
Back office & operations

Paper archives into data

Photographed tables, handwritten forms, printed reports — the data your team retypes every week is already sitting in images.

The integration: POST /api/v1/extract with kind=table returns CSV with per-cell confidence scores, so you can auto-accept high-confidence rows and queue only the doubtful ones for review. kind=handwriting returns recognized text line by line.

Test with your documents: image to CSV · handwriting OCR

-F "[email protected]"
-F "kind=table"

{
  "csv": "item,qty,price\n…",
  "confidence": […]
}

Engineered so retries and failures never cost you

Metering you can reason about, built into every endpoint.

Automatic refunds

A call that fails refunds its credits before it returns. An error never burns a paid credit.

Idempotent retries

Every paid processing request requires an Idempotency-Key header. A retry replays the original response while its result remains available instead of charging or processing twice; an expired artifact returns an explicit error, never a broken success.

No double processing

A duplicate request that arrives while the first is still running is rejected with HTTP 409, not processed twice.

Transparent metering

Every success reports creditsSpent; an out-of-credits call returns HTTP 402 with exactly how many credits it needed.

Rate-limited & authenticated

Per-key rate limits and API-key authentication over HTTPS on every route. File responses also include a short-lived bearer capability for clients that cannot attach the owner key; keep it out of logs and analytics.

Content safety built in

Every uploaded image is screened before any processing runs, protecting your product from unsafe user content.

Simple, credit-metered pricing

API access is included with Pixoate Pro. Every call reports what it spent, failed calls are refunded, and your balance is one GET /api/v1/me away.

See plans and pricing

Frequently asked questions

How do I get a Pixoate API key?

Create an account at pixoate.com and upgrade to a Pro plan. Your personal API key is generated automatically and available in your account dashboard, where you can also rotate it at any time.

How is the Pixoate API priced?

The API is credit-metered. Every response reports exactly how many credits the call spent, and calls that fail are refunded automatically, so an error never burns a paid credit. API access is included with Pixoate Pro plans.

What can POST /api/v1/process do?

It runs the supported image operations documented for the public API, including background removal, upscaling, enhancement, resizing, compression, colorization, headshot processing, and format conversion. You send one image plus a supported function name and optional parameters, and get back a link to the processed result.

Can I safely retry a failed or timed-out request?

Yes. Every paid processing request requires an Idempotency-Key header. A retry replays the original response for up to 24 hours while any processed artifact remains available, instead of charging or processing twice; an expired artifact returns an explicit error, and reusing a key for different input is rejected with HTTP 409.

Can I test the engines before writing any code?

Use the corresponding web product within its published allowance to validate output quality on your own images before integrating.