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/