Adobe Photoshop Actions API
Execute Photoshop Action files (.atn) and Action JSON descriptors on images programmatically.
Execute Photoshop Action files (.atn) and Action JSON descriptors on images programmatically.
openapi: 3.1.0
info:
title: Adobe Photoshop Actions API
description: A cloud-based REST API that provides programmatic access to Photoshop's image editing capabilities without requiring a local installation. Part of Adobe Firefly Services, the API supports PSD document operations including layer editing, Smart Object replacement, text layer editing, rendition creation, and artboard management. It also provides AI-powered features such as background removal, mask creation, product crop, and depth blur. All operations are asynchronous, returning a polling URL to check job status.
version: 2.0.0
contact:
name: Adobe Developer Support
url: https://developer.adobe.com/
license:
name: Proprietary
url: https://www.adobe.com/legal/terms.html
x-logo:
url: https://www.adobe.com/content/dam/cc/icons/photoshop-appicon-256.png
servers:
- url: https://image.adobe.io
description: Adobe Photoshop API Production
security:
- BearerAuth: []
ApiKeyAuth: []
tags:
- name: Actions
description: Execute Photoshop Action files (.atn) and Action JSON descriptors on images programmatically.
paths:
/pie/psdService/photoshopActions:
post:
operationId: playPhotoshopActions
summary: Adobe Photoshop Execute Photoshop Action Files
description: Executes Photoshop Action (.atn) files on an input image. Actions are sequences of recorded Photoshop operations that can be replayed programmatically. A specific action within the .atn file can be targeted by name.
tags:
- Actions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PhotoshopActionsRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/pie/psdService/actionJSON:
post:
operationId: playActionJSON
summary: Adobe Photoshop Execute Photoshop Actions via JSON Descriptors
description: Executes Photoshop operations defined as JSON action descriptors on an input image. More flexible than .atn files, action JSON allows programmatic construction of action sequences. Supports referencing additional images for compositing operations.
tags:
- Actions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActionJSONRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/pie/psdService/actionJsonCreate:
post:
operationId: createWithActionJSON
summary: Adobe Photoshop Create Documents Using Action JSON Descriptors
description: Creates new documents from scratch using Action JSON descriptors. Similar to the actionJSON endpoint but does not require an input document, enabling document creation through action sequences.
tags:
- Actions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActionJSONRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
StorageInput:
type: object
required:
- href
- storage
properties:
href:
type: string
description: Pre-signed GET URL or Creative Cloud asset path.
example: https://image.adobe.io/example
storage:
type: string
enum:
- external
- adobe
- azure
- dropbox
description: Storage type for the input file.
example: external
StorageOutput:
type: object
required:
- href
- storage
- type
properties:
href:
type: string
description: Pre-signed PUT URL or Creative Cloud asset path.
example: https://image.adobe.io/example
storage:
type: string
enum:
- external
- adobe
- azure
- dropbox
description: Storage type for the output file.
example: external
type:
type: string
enum:
- image/jpeg
- image/png
- image/tiff
- vnd.adobe.photoshop
description: Output file format.
example: image/jpeg
width:
type: integer
description: Optional output width in pixels for resizing.
example: 1920
overwrite:
type: boolean
description: Whether to overwrite existing files.
default: true
example: true
ErrorResponse:
type: object
properties:
type:
type: string
description: Error type code.
example: image
title:
type: string
description: Human-readable error description.
example: example_value
code:
type: integer
description: HTTP status code.
example: 1920
details:
type: object
properties:
reason:
type: string
name:
type: string
description: Parameter name causing the error.
ActionJSONRequest:
type: object
required:
- options
- outputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
options:
type: object
required:
- actionJSON
properties:
actionJSON:
type: array
description: Array of Photoshop action descriptor objects.
items:
type: object
required:
- _obj
properties:
_obj:
type: string
description: Photoshop action descriptor type.
additionalProperties: true
additionalImages:
type: array
description: Additional images for compositing, referenced in actionJSON as ACTION_JSON_OPTIONS_ADDITIONAL_IMAGES_0, etc.
items:
$ref: '#/components/schemas/StorageInput'
outputs:
type: array
items:
$ref: '#/components/schemas/StorageOutput'
PhotoshopActionsRequest:
type: object
required:
- inputs
- options
- outputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
options:
type: object
required:
- actions
properties:
actions:
type: array
items:
type: object
required:
- href
- storage
properties:
href:
type: string
description: URL to the .atn Action file.
storage:
type: string
enum:
- external
- adobe
- azure
- dropbox
actionName:
type: string
description: Specific action name to run within the set.
outputs:
type: array
items:
$ref: '#/components/schemas/StorageOutput'
responses:
InternalError:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Forbidden:
description: Insufficient permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication failed or token expired.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
AsyncJobAccepted:
description: Job accepted for asynchronous processing.
content:
application/json:
schema:
type: object
properties:
_links:
type: object
properties:
self:
type: object
properties:
href:
type: string
description: URL to poll for job status.
BadRequest:
description: Invalid request parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: Rate limit exceeded. Retry after the period in the retry-after header.
headers:
retry-after:
schema:
type: integer
description: Seconds to wait before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth Server-to-Server access token obtained from Adobe IMS at https://ims-na1.adobelogin.com/ims/token/v3 using client_credentials grant type.
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Your Adobe Developer Console Client ID.
externalDocs:
description: Adobe Photoshop API Documentation
url: https://developer.adobe.com/firefly-services/docs/photoshop/