openapi: 3.1.0
info:
title: Adobe Photoshop 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
externalDocs:
description: Adobe Photoshop API Documentation
url: https://developer.adobe.com/firefly-services/docs/photoshop/
servers:
- url: https://image.adobe.io
description: Adobe Photoshop API Production
tags:
- name: Actions
description: >-
Execute Photoshop Action files (.atn) and Action JSON descriptors
on images programmatically.
- name: Background Removal
description: >-
Remove backgrounds from images and create masks using AI-powered
subject detection.
- name: Crop and Effects
description: >-
Apply AI-powered product crop and depth blur effects to images.
- name: Document Operations
description: >-
Create, modify, and inspect PSD documents including layer editing,
adjustments, and metadata retrieval.
- name: Generative
description: >-
Fill masked areas of images using generative AI capabilities.
- name: Health
description: >-
Service health check endpoint.
- name: Renditions
description: >-
Generate flat image renditions from PSD files in various formats
including JPEG, PNG, and TIFF.
- name: Smart Objects
description: >-
Replace and manage embedded Smart Object layers within PSD documents.
- name: Status
description: >-
Poll for the status of asynchronous jobs.
- name: Text
description: >-
Edit text layer content, character styles, and paragraph styles in
PSD documents.
paths:
/v2/remove-background:
post:
operationId: removeBackgroundV2
summary: Adobe Photoshop Remove Background from an Image
description: >-
Removes the background from an image using AI-powered subject
detection. Supports cutout mode (transparent background) and mask
mode (grayscale mask output). Can optionally apply a background
color, trim whitespace, and perform color decontamination.
tags:
- Background Removal
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveBackgroundRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/QuotaExceeded'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/fill-masked-areas:
post:
operationId: fillMaskedAreas
summary: Adobe Photoshop Fill Masked Areas with Generative AI
description: >-
Fills masked areas of an image using generative AI. Provide a source
image and one or more mask images defining the areas to fill. The
API generates content to seamlessly fill the masked regions.
tags:
- Generative
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FillMaskedAreasRequest'
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/documentManifest:
post:
operationId: getDocumentManifest
summary: Adobe Photoshop Get PSD Document Manifest
description: >-
Retrieves the manifest (metadata) of a PSD document including the
complete layer tree with layer types, names, bounds, visibility,
text content, and Smart Object information. Optionally generates
layer thumbnails.
tags:
- Document Operations
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentManifestRequest'
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/documentOperations:
post:
operationId: modifyDocument
summary: Adobe Photoshop Edit a PSD Document
description: >-
Performs layer-level edits on a PSD document. Supports adding,
editing, moving, and deleting layers. Can apply adjustments such as
brightness and contrast, modify layer bounds and visibility, edit
text layers, and replace Smart Object content. Outputs can be saved
as PSD, JPEG, PNG, or TIFF.
tags:
- Document Operations
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentOperationsRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/pie/psdService/documentCreate:
post:
operationId: createDocument
summary: Adobe Photoshop Create a New PSD Document
description: >-
Creates a new PSD document with specified dimensions, resolution,
color mode, and bit depth. Layers can be added during creation
including image layers, text layers, and adjustment layers.
tags:
- Document Operations
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentCreateRequest'
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/renditionCreate:
post:
operationId: createRendition
summary: Adobe Photoshop Create Image Renditions from a PSD
description: >-
Generates flat image renditions from a PSD file. Supports output
formats including JPEG, PNG, TIFF, and PSD. Can optionally resize
the output by specifying a target width.
tags:
- Renditions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RenditionCreateRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/pie/psdService/smartObject:
post:
operationId: replaceSmartObject
summary: Adobe Photoshop Replace Smart Object Content
description: >-
Replaces the embedded content of Smart Object layers in a PSD
document. Allows updating linked or embedded images within Smart
Object layers while preserving transformations and effects.
tags:
- Smart Objects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartObjectRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/pie/psdService/text:
post:
operationId: editTextLayer
summary: Adobe Photoshop Edit Text Layers in a PSD
description: >-
Edits text layer content and styling in a PSD document. Supports
changing text content, character styles (font, size, color, tracking,
leading), and paragraph styles (alignment). Custom fonts can be
provided via URL, with configurable fallback behavior for missing
fonts.
tags:
- Text
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TextEditRequest'
responses:
'202':
$ref: '#/components/responses/AsyncJobAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/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
/pie/psdService/productCrop:
post:
operationId: productCrop
summary: Adobe Photoshop Smart Crop to Product Subject
description: >-
Applies AI-powered smart cropping that identifies the main product
or subject in an image and crops to keep it centered with
configurable padding.
tags:
- Crop and Effects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductCropRequest'
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/depthBlur:
post:
operationId: depthBlur
summary: Adobe Photoshop Apply Depth Blur Effect
description: >-
Applies an AI-powered depth blur (bokeh) effect to an image,
simulating a shallow depth of field. Configurable focal point,
blur strength, focal range, grain, and haze parameters.
tags:
- Crop and Effects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DepthBlurRequest'
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/artboardCreate:
post:
operationId: createArtboard
summary: Adobe Photoshop Create Artboards from PSD Inputs
description: >-
Creates a PSD document containing multiple artboards from one or
more input PSD files.
tags:
- Document Operations
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ArtboardCreateRequest'
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/status/{jobId}:
get:
operationId: getPsdJobStatus
summary: Adobe Photoshop Get PSD Service Job Status
description: >-
Polls the status of an asynchronous PSD service job. Returns the
current status (pending, running, succeeded, failed) along with
output details upon completion.
tags:
- Status
parameters:
- $ref: '#/components/parameters/JobId'
responses:
'200':
description: Job status retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/sensei/status/{jobId}:
get:
operationId: getSenseiJobStatus
summary: Adobe Photoshop Get Sensei Service Job Status
description: >-
Polls the status of an asynchronous Sensei AI service job such as
background removal or mask creation.
tags:
- Status
parameters:
- $ref: '#/components/parameters/JobId'
responses:
'200':
description: Job status retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/pie/psdService/hello:
get:
operationId: healthCheck
summary: Adobe Photoshop Service Health Check
description: >-
Returns a welcome message confirming the Photoshop API service is
available.
tags:
- Health
responses:
'200':
description: Service is healthy.
content:
text/plain:
schema:
type: string
example: Welcome to the Photoshop API!
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
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.
parameters:
JobId:
name: jobId
in: path
required: true
description: The unique job identifier returned when the job was created.
schema:
type: string
format: uuid
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
RemoveBackgroundRequest:
type: object
required:
- image
- output
properties:
image:
type: object
required:
- source
properties:
source:
type: object
required:
- url
properties:
url:
type: string
description: Pre-signed GET URL of the source image.
mode:
type: string
enum:
- cutout
- mask
default: cutout
description: >-
cutout removes the background, mask returns a grayscale mask.
example: cutout
output:
type: object
properties:
mediaType:
type: string
enum:
- image/jpeg
- image/png
description: Output format.
trim:
type: boolean
default: false
description: Whether to trim whitespace around the subject.
example: true
backgroundColor:
type: object
description: Optional replacement background color.
properties:
red:
type: integer
minimum: 0
maximum: 255
green:
type: integer
minimum: 0
maximum: 255
blue:
type: integer
minimum: 0
maximum: 255
alpha:
type: number
minimum: 0
maximum: 1
colorDecontamination:
type: integer
minimum: 0
maximum: 1
description: Level of color decontamination to apply.
example: 1920
FillMaskedAreasRequest:
type: object
required:
- image
- masks
properties:
image:
type: object
required:
- source
properties:
source:
type: object
required:
- url
properties:
url:
type: string
description: Pre-signed URL of the source image.
masks:
type: array
items:
type: object
required:
- source
properties:
source:
type: object
required:
- url
properties:
url:
type: string
description: Pre-signed URL of the mask image.
DocumentManifestRequest:
type: object
required:
- inputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
options:
type: object
properties:
thumbnails:
type: object
properties:
type:
type: string
enum:
- image/png
- image/jpeg
description: Format for layer thumbnails.
DocumentOperationsRequest:
type: object
required:
- inputs
- outputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
options:
type: object
properties:
layers:
type: array
items:
$ref: '#/components/schemas/LayerOperation'
outputs:
type: array
items:
$ref: '#/components/schemas/StorageOutput'
DocumentCreateRequest:
type: object
required:
- options
- outputs
properties:
options:
type: object
required:
- document
properties:
document:
type: object
required:
- width
- height
properties:
width:
type: integer
description: Document width in pixels.
height:
type: integer
description: Document height in pixels.
resolution:
type: integer
default: 72
description: Document resolution in PPI.
fill:
type: string
enum:
- white
- transparent
- backgroundColor
default: white
mode:
type: string
enum:
- rgb
- cmyk
- grayscale
default: rgb
depth:
type: integer
enum:
- 8
- 16
- 32
default: 8
description: Bit depth per channel.
layers:
type: array
items:
$ref: '#/components/schemas/LayerOperation'
outputs:
type: array
items:
$ref: '#/components/schemas/StorageOutput'
RenditionCreateRequest:
type: object
required:
- inputs
- outputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
outputs:
type: array
items:
$ref: '#/components/schemas/StorageOutput'
SmartObjectRequest:
type: object
required:
- inputs
- options
- outputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
options:
type: object
required:
- layers
properties:
layers:
type: array
items:
type: object
properties:
name:
type: string
description: Layer name to target.
id:
type: integer
description: Layer ID to target.
type:
type: string
const: smartObject
input:
$ref: '#/components/schemas/StorageInput'
smartObject:
type: object
properties:
type:
type: string
description: MIME type of the replacement content.
attributes:
$ref: '#/components/schemas/LayerBounds'
outputs:
type: array
items:
$ref: '#/components/schemas/StorageOutput'
TextEditRequest:
type: object
required:
- inputs
- options
- outputs
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/StorageInput'
options:
type: object
properties:
manageMissingFonts:
type: string
enum:
- fail
- useDefault
description: Behavior when fonts are missing.
globalFont:
type: string
description: Fallback font name when using useDefault.
fonts:
type: array
description: Custom fonts provided via URL.
items:
$ref: '#/components/schemas/StorageInput'
layers:
type: array
items:
type: object
required:
- name
- text
properties:
name:
type: string
description: Name of the text layer to edit.
text:
$ref: '#/components/schemas/TextContent'
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'
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_OPTIO
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-photoshop/refs/heads/main/openapi/adobe-photoshop-api-openapi-original.yml