Jobs
Create single-input jobs, start them, list them, fetch status, and refresh signed result URLs when needed.
https://api.filemorf.com/api/public
Bearer API key created from the workspace.
Signed uploads, queued jobs, retained artifacts, refreshable URLs.
Endpoints
Single-input jobs are the core execution primitive
Use the jobs endpoints for any workflow that starts from one input file. The returned result object includes metadata and one or more signed download URLs.
/jobs
Create a single-input job and receive one upload URL.
/jobs
List API-created jobs for the authenticated key owner.
/jobs/:id
Fetch job status, result metadata, and download URLs.
/jobs/:id/start
Queue a pending job after upload completes.
/jobs/:id/refresh-url
Refresh signed output URLs for completed jobs.
Supported job types
Choose the job type that matches the input and output behavior
The public API validates content types before creating work. The job type and input content type must line up.
| Job type | Valid inputs | Notes |
|---|---|---|
| image-convert | PNG, JPEG, WebP, AVIF, GIF, BMP, SVG, TIFF, HEIC | Converts one image to another supported image target. |
| image-compress | PNG, JPEG, WebP, AVIF, GIF | Optimizes one image while keeping the same general media class. |
| image-resize | PNG, JPEG, WebP, AVIF, GIF, SVG, TIFF | Resizes a single image with width and height controls. |
| pdf-split | Multi-output; use result.files[] and retained artifacts for downstream automation. | |
| pdf-extract | Extracts specific pages into one new PDF. | |
| pdf-rotate | Rotates selected pages in a PDF. | |
| pdf-remove | Removes selected pages and returns a new PDF. | |
| pdf-merge | PDF (multiple files) | Use the dedicated POST /merge endpoint instead of POST /jobs. |
| document-convert | PDF, DOCX, TXT, MD, HTML, XLSX, ODS, JSON, CSV, TSV, XML, YAML | Supports document, spreadsheet, and structured-data conversion targets. |
| ocr | PDF, PNG, JPEG, WebP, TIFF | OCR is a server-side job type and a valid terminal recipe step. |
States
Poll until a terminal state
Job status drives the rest of the lifecycle. A job only exposes stable outputs once it is completed.
| State | Meaning |
|---|---|
| pending | Job exists and is waiting for file upload or start. |
| queued | Upload is complete and the job is waiting in the worker queue. |
| processing | A worker is actively executing the job. |
| completed | The job finished successfully and result metadata is available. |
| failed | The job ended in an unrecoverable error and exposes an error message. |