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.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/adobe-photoshop-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.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:
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'
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.
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
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:
Unauthorized:
description: Authentication failed or token expired.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
InternalError:
description: Internal server error.
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'
BadRequest:
description: Invalid request parameters.
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.
Forbidden:
description: Insufficient permissions.
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/