Skip to main content

Prerequisites

  • A Fotolabs account on an Essential or Ultimate plan
  • Your API key from the Fotolabs dashboard

1. Create a project

Save the projectId — you’ll use it in every subsequent call.

2. Upload images

Call this once per image. Supported formats: JPEG, PNG, NEF, CR2, CR3, ARW, DNG, ORF, RW2, RAF, and more.
Then PUT the file directly to S3 — no auth header needed:
Repeat for every photo in the listing.

3. Process the project

One call enqueues all images. HDR brackets are detected automatically from EXIF timestamps and exposure values — just upload everything flat.

4. Poll for results

Processing takes 60–120 seconds per job. Poll the project until status is completed.
Download each resultImageUrl — that’s your processed JPEG.

Next steps

All endpoints

Full parameter reference and error codes.

Enhancement styles

Twilight, virtual staging, and custom change request notes.