Toilet detection processing time (free tier)
This applies only to toilets detection (POST /v1/drawings/detection/toilets).
Free-tier toilets detection typically completes in 2–4 minutes per job. Processing time scales mainly with page count and drawing complexity — a dense multi-page set takes longer than a single sheet.
Accuracy note: The toilet detector achieves a mAP@0.5 of 0.70 with an average recall of ~47%. It reliably detects standard upright fixture symbols but may miss rotated or non-standard representations. We recommend treating results as a starting point for review rather than a complete count.
Need it faster? Pro and Enterprise plans run detection on dedicated GPU infrastructure. Upgrade your plan →
/v1/drawings/detection/toiletsDetect toilets and plumbing fixtures in architectural floor-plan PDFs. Accepts a previously uploaded document_id, enqueues inference, and returns a job you poll for results. Detections are returned as bounding boxes in PDF coordinate space along with a per-detection confidence score.
Example run
Request
This endpoint requires a document_id. Upload your PDF first →
Auth via X-API-Key header. Body is JSON — this endpoint does not accept file uploads directly.
Credits are charged on submission based on len(page_numbers) (or the document's total page count when omitted) — not on pages that actually contain toilets. Send only valid page indices to avoid over-billing.
Code examples
Response — 202 Accepted
The job is enqueued immediately. Poll GET /v1/jobs/{job_id} until status is complete or failed.
Result shape
When status === "complete" and model === "toilet-detector", the result field on the job contains:
Detections include a confidence score. Scores above 0.5 are high-confidence fixtures. Lower-confidence detections (0.12–0.5) may warrant manual review, particularly for rotated or non-standard fixture symbols.
Credits & rate limits
Rate-limit 429s include retry_after_seconds in the body. Quota 429s and rate-limit 429s return the same status code — check the error body to distinguish them.
Errors
Response Preview
{ "job_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": "queued", "poll_url": "/v1/jobs/7c9e6679-7425-40de-944b-e07fc1f90ae7" }


