Adobe Lightroom Edit Image API

Apply custom Lightroom edit settings to images

OpenAPI Specification

lightroom-edit-image-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Lightroom Lightroom Albums Album Assets Edit Image API
  description: API for creating and managing albums and collections within an Adobe Lightroom cloud catalog. Albums organize assets into user-defined collections. Supports listing, creating, updating, and deleting albums as well as managing the assets within each album.
  version: '2'
  contact:
    name: Adobe Lightroom Developer Support
    url: https://community.adobe.com/t5/lightroom/ct-p/ct-lightroom
  license:
    name: Adobe Terms of Service
    url: https://www.adobe.com/legal/terms.html
  termsOfService: https://www.adobe.com/legal/terms.html
servers:
- url: https://lr.adobe.io/v2
  description: Lightroom Services Production Server
security:
- oauth2:
  - lr_partner_apis
- apiKey: []
tags:
- name: Edit Image
  description: Apply custom Lightroom edit settings to images
paths:
  /lrService/edit:
    post:
      operationId: editImage
      summary: Adobe Lightroom Apply Custom Edit Settings to an Image
      description: Applies custom Lightroom develop settings to an image. Accepts a comprehensive set of editing parameters covering white balance, exposure, contrast, highlights, shadows, tone curve, HSL, split toning, sharpening, noise reduction, lens corrections, and more. Provides the full range of non-destructive editing capabilities available in the Lightroom develop module.
      tags:
      - Edit Image
      parameters:
      - $ref: '#/components/parameters/XApiKey'
      - $ref: '#/components/parameters/Authorization'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditImageRequest'
            examples:
              EditimageRequestExample:
                summary: Default editImage request
                x-microcks-default: true
                value:
                  inputs:
                    source:
                      href: example_value
                      storage: adobe
                  outputs:
                  - href: example_value
                    storage: adobe
                    type: image/jpeg
                    overwrite: true
                    quality: 10
                  options:
                    Exposure: 42.5
                    Contrast: 10
                    Highlights: 10
                    Shadows: 10
                    Whites: 10
                    Blacks: 10
                    Clarity: 10
                    Dehaze: 10
                    Vibrance: 10
                    Saturation: 10
                    WhiteBalance: As Shot
                    Temperature: 10
                    Tint: 10
                    Sharpness: 10
                    SharpenRadius: 42.5
                    SharpenDetail: 10
                    NoiseReduction: 10
                    ColorNoiseReduction: 10
                    VignetteAmount: 10
                    GrainAmount: 10
      responses:
        '200':
          description: Edit applied successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
              examples:
                Editimage200Example:
                  summary: Default editImage 200 response
                  x-microcks-default: true
                  value:
                    jobId: '500123'
                    created: '2026-01-15T10:30:00Z'
                    modified: '2026-01-15T10:30:00Z'
                    outputs:
                    - input: example_value
                      status: pending
                      href: example_value
                      errors:
                        type: example_value
                        title: Example Title
                        code: 10
                    _links:
                      self:
                        href: example_value
        '202':
          description: Job accepted and processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
              examples:
                Editimage202Example:
                  summary: Default editImage 202 response
                  x-microcks-default: true
                  value:
                    jobId: '500123'
                    created: '2026-01-15T10:30:00Z'
                    modified: '2026-01-15T10:30:00Z'
                    outputs:
                    - input: example_value
                      status: pending
                      href: example_value
                      errors:
                        type: example_value
                        title: Example Title
                        code: 10
                    _links:
                      self:
                        href: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    EditImageRequest:
      type: object
      required:
      - inputs
      - outputs
      properties:
        inputs:
          type: object
          required:
          - source
          properties:
            source:
              $ref: '#/components/schemas/StorageInput'
          example: example_value
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/StorageOutput'
          example: []
        options:
          type: object
          description: Lightroom develop settings to apply. All values are optional and correspond to Lightroom develop module parameters.
          properties:
            Exposure:
              type: number
              description: Exposure adjustment in stops
              minimum: -5.0
              maximum: 5.0
            Contrast:
              type: integer
              description: Contrast adjustment
              minimum: -100
              maximum: 100
            Highlights:
              type: integer
              description: Highlights recovery
              minimum: -100
              maximum: 100
            Shadows:
              type: integer
              description: Shadow recovery
              minimum: -100
              maximum: 100
            Whites:
              type: integer
              description: White point adjustment
              minimum: -100
              maximum: 100
            Blacks:
              type: integer
              description: Black point adjustment
              minimum: -100
              maximum: 100
            Clarity:
              type: integer
              description: Clarity (midtone contrast)
              minimum: -100
              maximum: 100
            Dehaze:
              type: integer
              description: Dehaze amount
              minimum: -100
              maximum: 100
            Vibrance:
              type: integer
              description: Vibrance adjustment
              minimum: -100
              maximum: 100
            Saturation:
              type: integer
              description: Saturation adjustment
              minimum: -100
              maximum: 100
            WhiteBalance:
              type: string
              description: White balance preset
              enum:
              - As Shot
              - Auto
              - Cloudy
              - Custom
              - Daylight
              - Flash
              - Fluorescent
              - Shade
              - Tungsten
            Temperature:
              type: integer
              description: Color temperature in Kelvin
              minimum: 2000
              maximum: 50000
            Tint:
              type: integer
              description: Tint adjustment (green-magenta)
              minimum: -150
              maximum: 150
            Sharpness:
              type: integer
              description: Sharpening amount
              minimum: 0
              maximum: 150
            SharpenRadius:
              type: number
              description: Sharpening radius
              minimum: 0.5
              maximum: 3.0
            SharpenDetail:
              type: integer
              description: Sharpening detail
              minimum: 0
              maximum: 100
            NoiseReduction:
              type: integer
              description: Luminance noise reduction
              minimum: 0
              maximum: 100
            ColorNoiseReduction:
              type: integer
              description: Color noise reduction
              minimum: 0
              maximum: 100
            VignetteAmount:
              type: integer
              description: Post-crop vignette amount
              minimum: -100
              maximum: 100
            GrainAmount:
              type: integer
              description: Film grain amount
              minimum: 0
              maximum: 100
          example: example_value
    StorageInput:
      type: object
      description: Reference to an input file stored in cloud storage
      required:
      - href
      - storage
      properties:
        href:
          type: string
          description: URL or path to the input file. For Creative Cloud, use the asset path. For external storage, use the presigned URL.
          example: example_value
        storage:
          type: string
          description: Storage type where the input file is located
          enum:
          - adobe
          - external
          - azure
          - dropbox
          example: adobe
    JobResponse:
      type: object
      properties:
        jobId:
          type: string
          description: Unique job identifier for tracking
          example: '500123'
        created:
          type: string
          format: date-time
          description: Job creation timestamp
          example: '2026-01-15T10:30:00Z'
        modified:
          type: string
          format: date-time
          description: Job last modified timestamp
          example: '2026-01-15T10:30:00Z'
        outputs:
          type: array
          items:
            type: object
            properties:
              input:
                type: string
                description: Reference to the input file
              status:
                type: string
                description: Processing status for this output
                enum:
                - pending
                - running
                - succeeded
                - failed
              href:
                type: string
                description: URL of the completed output
              errors:
                type: object
                description: Error details if processing failed
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  code:
                    type: integer
          example: []
        _links:
          type: object
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
          example: example_value
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          description: Error type URI
          example: example_value
        title:
          type: string
          description: Short error description
          example: Example Title
        code:
          type: integer
          description: Error code
          example: 10
        detail:
          type: string
          description: Detailed error message
          example: example_value
    StorageOutput:
      type: object
      description: Reference to the output destination in cloud storage
      required:
      - href
      - storage
      - type
      properties:
        href:
          type: string
          description: URL or path for the output file
          example: example_value
        storage:
          type: string
          description: Storage type for the output
          enum:
          - adobe
          - external
          - azure
          - dropbox
          example: adobe
        type:
          type: string
          description: Output image format
          enum:
          - image/jpeg
          - image/png
          - image/tiff
          - image/dng
          example: image/jpeg
        overwrite:
          type: boolean
          description: Whether to overwrite existing files
          default: true
          example: true
        quality:
          type: integer
          description: JPEG quality (1-12) when output type is image/jpeg
          minimum: 1
          maximum: 12
          example: 10
  responses:
    Forbidden:
      description: Insufficient permissions or quota exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication required or invalid token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    Authorization:
      name: Authorization
      in: header
      required: true
      description: Bearer token from Adobe IMS
      schema:
        type: string
        pattern: ^Bearer .+$
    XApiKey:
      name: X-Api-Key
      in: header
      required: true
      description: API key (client_id) from Adobe Developer Console
      schema:
        type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://ims-na1.adobelogin.com/ims/authorize/v2
          tokenUrl: https://ims-na1.adobelogin.com/ims/token/v3
          scopes:
            lr_partner_apis: Access Lightroom partner APIs
    apiKey:
      type: apiKey
      name: X-Api-Key
      in: header
externalDocs:
  description: Lightroom Albums API Documentation
  url: https://developer.adobe.com/lightroom/lightroom-api-docs/api/