Skip to main content
POST
/
v1
/
projects
/
{projectId}
/
process
Process all images in a project
curl --request POST \
  --url https://api.fotolabs.co/v1/projects/{projectId}/process \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "templateId": "original",
  "autoLevel": true
}
'
{
  "jobs": [
    {
      "jobId": "aaa-...",
      "type": "hdr",
      "imageIds": [
        "aaa-...",
        "bbb-...",
        "ccc-..."
      ]
    },
    {
      "jobId": "ddd-...",
      "type": "hdr",
      "imageIds": [
        "ddd-...",
        "eee-..."
      ]
    },
    {
      "jobId": "fff-...",
      "type": "single",
      "imageIds": [
        "fff-..."
      ]
    },
    {
      "jobId": "ggg-...",
      "type": "single",
      "imageIds": [
        "ggg-..."
      ]
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.fotolabs.co/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key with fl_ prefix, issued from the Fotolabs dashboard

Path Parameters

projectId
string<uuid>
required

Body

application/json
templateId
enum<string>
default:original

AI enhancement style. Overrides the project-level default.

Available options:
original,
twilight,
virtual-stage
autoLevel
boolean
default:true

Automatically correct horizon tilt using Hough line detection.

lensCorrection
boolean

Override lens distortion correction. Omit to use automatic detection (recommended). false skips correction; true forces it.

changeRequestNote
string

Free-text instruction passed to the AI model for all images in this batch.

Example:

"Brighten the foreground and add a warm sunset tone"

bracketWindowSeconds
number
default:2

Time window in seconds used to group HDR bracket exposures.

Required range: 0.5 <= x <= 30

Response

All jobs enqueued. Project is now in processing status. Poll each jobId via GET /v1/images/{imageId}.

jobs
object[]
required