Sync or async — same call
POST to a utility and wait for the result, or POST to its /jobs route and get a job id back instantly. Slow sync calls turn into jobs on their own instead of timing out.
Jobs, sync & async
HTML → PDF, split PDF, zip, unzip and XLS → XLSX behind a single authenticated gateway. Call any utility synchronously or as a job, get your files on R2, and see usage and latency for every key.
| Utility | Slug | What it does |
|---|---|---|
| HTML → PDF | html-pdf | Render an HTML document to PDF in headless Chromium. |
| Split PDF | split-pdf | One single-page PDF per page of the source. |
| Zip files | zip-files | Download a list of URLs and pack them into one .zip. |
| Unzip archive | unzip-files | Extract every entry of a .zip and return one link per file. |
| XLS → XLSX | xls-to-xlsx | Convert a legacy .xls workbook to .xlsx. |
curl -X POST https://api.servicelabs.dev/v1/utilities/html-pdf \
-H "Authorization: Bearer $DU_API_KEY" -H "Content-Type: application/json" \
-d '{"input":{"url":"https://example.com/invoice.html","pdfOptions":{"format":"A4"}}}'The response is a job whose result.files[0].url is your PDF. Start with the Quickstart.